linux内核移植步骤3.14,am335x_linux-3.14.43内核移植笔记

本文主要描述在EVB335X-II以Device Tree的方式移植新TI官网AM335X系列最新的linux-3.14.43版本内核以及移植Debian文件系统的过程及遇到的一些问题。整个Device Tree牵涉面比较广,即增加了新的用于描述设备硬件信息的文本格式(即.dts文件),又增加

了编译这一文本的工具,同时Bootloader也需要支持将编译后的Device Tree传递给Linux

内核。以下是修改步骤:

一、修改uboot,支持Device Tree

EVB335X-II在linux-3.2版本内核移植的时候已经有uboot,因此只需在该uboot上增加Device Tree支持即可,以下是修改步骤:

1、修改include/configs/com335x.h文件,增加支持DT的宏定义:

/* Flattened Device Tree */

#define CONFIG_OF_LIBFDT

2、修改uboot启动参数,增加dtb文件的加载和启动(由于目前只是移植EMMC版本的EVB335X-II,因此只需修改EMMC的启动参数即可,大概在405行),修改如下:

#elif defined(CONFIG_EMMC_BOOT)

#define CONFIG_BOOTCOMMAND \

"run mmcboot;"

#define CONFIG_EXTRA_ENV_SETTINGS \

"lcdtype=AUO_AT070TN94\0" \

"console=ttyO0,115200n8\0" \

"mmcroot=/dev/mmcblk0p2 rw\0" \

"mmcrootfstype=ext4 rootwait\0" \

"mmcargs=setenv bootargs console=${console} noinitrd root=${mmcroot} rootfstype=${mmcrootfstype} lcdtype=${lcdtype} consoleblank=0\0" \

"mmcdev=" MMCDEV "\0" \

"loadaddr=0x81000000\0" \

"dtbfile=evb335x-ii-emmc.dtb\0" \

"bootenv=uEnv.txt\0" \

"bootpart=" BOOTPART "\0" \

"loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \

"importbootenv=echo Importing environment from mmc ...; " \

"env import -t $loadaddr ${filesize}\0" \

"loadaddr-dtb=0x82000000\0" \

"loadimage=load mmc ${bootpart} ${loadaddr} uImage\0" \

"loaddtb=load mmc ${bootpart} ${loadaddr-dtb} ${dtbfile}\0" \

"mmcboot=mmc dev ${mmcdev}; " \

"if mmc rescan; then " \

"echo SD/MMC found on device ${mmcdev};" \

"if run loadbootenv; then " \

"echo Loaded environment from ${bootenv};" \

"run importbootenv;" \

"fi;" \

"run mmcargs;" \

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值