S3C2440 Linux 系统 --- 移植步骤记录

来源:互联网 发布:淘宝卖家客服怎么分流 编辑:程序博客网 时间:2024/05/16 05:42


1,在系统添加对ARM的支持:

      进入内核源码顶层目录,修改Makefile文件  大概193行 ARCH ?=(SUBARCH) 和 194 行 CRSS_COMPILE ?=

      修改为:ARCH =arm 和 CRSS_COMPILE =arm-linux- 保存退出.

      当然也可以第一次使用make menuconfig 命令时 增加如下参数代替前面的步骤 make ARCH =arm   CRSS_COMPILE =arm-linux-  menuconfig .


2,修改平台输入时钟:

      修改内核源码 arch/arm/mach-s3c2440/mach-smdk2440.c 的163行附近 把16.9344MHz 改为12MHz  .


3,制作自己板子的配置单:

      在源码顶层 make menuconfig 进入配置菜单界面,在配置菜单选择“Load an Alternate Configuration File”

      可以在别人配置单的基础上配置,比如输入  arch/arm/configs/s3c2410_defconfig 回车 在System Type 选项下配置2440平台相关.

      可以在General setup-->Local ersion -append kernel release 加入自己的信息 . 


4,选择是否支持EABI :

      Kernel Features ---> 选择 Use the ARM EABI to compile the kernel  

      选择 Allow old ABI binaries to run with this kernel (EXPERIMENTAL) 

      4.3.3编译器可以,刚才我测试的时候使用3.4.5的编译器就出错,所以3.4.5的编译器 不要选择这两项.


别的配置太多,就不列举了.


5,修改机器码:

      Uboot 设定机器码为168,机器码保存在内核源码 arch/arm/tools/mach-types 文件的大概379行 把S3C2440对应的362改为168.

      为什么要改:因为arch/arm/mach-s3c2440/mach-smdk2440.c文件的MACHINE_START(S3C2440,"SMDK2440");的关键字S3C2440,这里的S3C2440

      就是机器码所在的位置,我们可以自己修改Uboot的机器码再来修改内核的机器码.


6,保存配置单:

      最后选择:Save an Alternate Configuration File 保存为 .config文件后,退出配置单.

      make distclean . 使用别人配置好的配置文件,建议复制为 .config文件使用.


7,编译镜像:

      输入 #make zImage 编译完毕后会在 arch/arm/boot 目录下生成zImage镜像,然后可以将其烧写到开发板中.

      为了方便,可以在arch/arm/boot 下的Makefile58行增加如下内容,将zImage拷贝到内核根目录下:@cp -f arch/arm/boot /zImage zImage.bin.

      同时修改内核根目录下的Makefile 1255行的-type f -print | xargs rm -f 后添加如下内容 rm -f zImage.bin.










原创粉丝点击