移植内核3.4.2

1、解压tar xjf linux-3.4.2.tar.bz2

2、进入解压后的文件目录,修改顶层Makefile

 ARCH=arm
 CROSS_COMPILE=arm-linux-

3、选择默认配置

      内核默认已经支持很多单板,以defconfig命名结尾,搜索默认配置单板。

   find -name"*defconfig"
   make s3c2410_defconfig

      生成配置文件.config,可以查看.config进行查看是否支持单板。

4、编译

      make uImage

5、烧录查看打印信息,打印信息是乱码

     在uboot启动内核时,会传给内核3个参数,r0=0,r1=机器ID,r2=tag参数地址。查看uboot传入的机器id。

    do_bootm ==》boot_os[i]==》do_bootm_linux==》boot_jump_linux==》kernel_entry(0, machid, r2);

    

可知机器id(machid)既可以从程序默认指定,也可以从环境变量中获取。

 

6、设置机器id

     uboot查看支持的machid(arch/arm/include/asm/mach-types.h)

方法一:将gd->bd->bi_arch_number = MACH_TYPE_SMDK2410;改为gd->bd->bi_arch_number = MACH_TYPE_S3C2440;重新编译烧录uboot

方法二:通过环境变量设置:

set machid 16a
save

7、修改时钟初始化和串口波特率

      时钟初始化:板子使用12M晶振,所以需要修改

修改串口波特率:修改环境变量set bootargs console=ttySAC0,115200 .....

8、设置分区(arm/arm/mach-s3c24xx/common-smdk.c),可以根据内核打印信息找到分区在哪。

 

9、编译烧录,成功打印信息。

 

参考:https://blog.csdn.net/Carl_0/article/details/87856439

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值