u-boot 和 linux/kernel 中的机器码一致性问题

1928阅读 0评论2012-06-20 windtunnel
分类:LINUX

一、U-boot 中机器码的定义和赋值
在 u-boot-1.1.6/board/100ask24x0/100ask24x0.c 文件中的 board_init 函数内,有

  1. if (isS3C2410)
  2.     {
  3.         /* arch number of SMDK2410-Board */
  4.         gd->bd->bi_arch_number = MACH_TYPE_SMDK2410;
  5.     }
  6.     else
  7.     {
  8.         /* arch number of SMDK2440-Board */
  9.         gd->bd->bi_arch_number = MACH_TYPE_S3C2440;
  10.     }
而宏 MACH_TYPE_S3C2440 在 u-boot-1.1.6/include/asm-arm/mach-types.h 中定义为

  1. #define MACH_TYPE_S3C2440 362
二、linux 中机器码的定义
在 linux-2.6.31/arch/arm/tools/mach-types 的第379行

  1. s3c2440            ARCH_S3C2440        S3C2440            362
只要 u-boot 和 linux 中两者定义的机器码一致即可。
上一篇:移植 u-boot-1.1.6 到 FL2440(1)---实现基本功能
下一篇:挂载根文件系统后停在 Freeing init memory: 112K