linux 内核选定dts文件,为AM335x移植Linux内核主线代码(33)制作自己的dts文件

下面的步骤其实在第(2)和第(3)节已经写过了,这里重新梳理一遍。

====> Step 1: <====

复制相近的dts文件,这样就不需要重新编写所有的内容,而是根据硬件修改相应变动的部分。

cd arch/arm/boot/dts

cp am335x-bone.dts maria-am335x.dts

cp am335x-bone-common.dtsi maria-am335x-common.dtsi

====> Step 2: <====

修改maria-am335x.dts中的model和compatible,删除掉不需要的vmmc-supply部分,因为我们的SD卡由底板供电,和核心板上的PMIC没有关系。

diff a/arch/arm/boot/dts/maria-am335x.dts b/arch/arm/boot/dts/maria-am335x.dts

--- a/arch/arm/boot/dts/maria-am335x.dts

+++ a/arch/arm/boot/dts/maria-am335x.dts

@@ -11,6 +11,6 @@

- #include am335x-evm-common.dtsi

-

- / {

-        model = "TI AM335x BeagleBone";

-        compatible = "ti,am335x-bone", "ti,am33xx";

- };

+ #include "maria-am335x-common.dtsi"

+

+ / {

+        model = "TI AM335x maria-am335x";

+        compatible = "ti,maria-am335x", "ti,am33xx";

+ };

@@ -24,4 +24,0 @@

- &mmc1 {

-       vmmc-supply = ;

- };

-

====> Step 3: <====

修改maria-am335x-common.dts文件,主要修改memory的值,从默认的256M改为1G。

OK335xD的配置是,SDRAM为1G,NANDFLASH为512M。

diff a/arch/arm/boot/dts/maria-am335x-common.dts b/arch/arm/boot/dts/maria-am335x-common.dts

--- a/arch/arm/boot/dts/maria-am335x-common.dts

+++ a/arch/arm/boot/dts/maria-am335x-common.dts

@@ -18,1 +18,1 @@

memory {

device_type = "memory";

-                reg = <0x80000000 0x10000000>; /* 256 MB */

+                reg = <0x80000000 0x40000000>; /* 1 GB */

};

====> Step 4: <====

重新编译dtb文件以及内核,将它们放置在tftp服务器目录下。

make ARCH=arm CROSS_COMPILE=/opt/gcc-linaro-arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -j8 am335x-bone.dtb

make ARCH=arm CROSS_COMPILE=/opt/gcc-linaro-arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -j8 LOADADDR=0x80008000 uImage

cp arch/arm/boot/dts/maria-am335x.dtb arch/arm/boot/uImage /tftp_root/

====> Step 5: <====

从SD卡启动U-Boot,在其命令行使用tftp获取dtb文件和uImage,放置在SDRAM中,并从SDRAM启动。

(也可以放置在SD卡或者NANDFLASH,然后重新上电,但是直接放置在SDRAM中更加方便。)

U-Boot# set ipaddr 192.168.1.117; set serverip 192.168.1.116

U-Boot# tftp 0x83000000 maria-am335x.dtb

U-Boot# tftp 0x82000000 uImage

U-Boot# bootm 0x82000000 - 0x83000000

此时就可以看到熟悉的Kernel解压打印信息了,制作自己的dtb文件其实非常简单哦!

下一节,从简单的GPIO开始。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值