WhyCan Forum(哇酷论坛)

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132, 微信: whycan_cn (哇酷网/挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2020-02-09 19:50:34

RedK
会员
注册时间: 2020-01-15
累计积分: 15

关于荔枝派nano的设备树更新

请教个比较菜的问题,因为按教程烧写进板子里的的bin文件只使能了uart0,我更新了设备树dts文件,把uart1和uart2都使能了。请问难道要重新编译后,重新打包一个bin文件,再通过USB下载进nano的板子里吗?  有没有其他可以不通过USB单独操作更新dtb的办法?比如直接可以更新根文件系统下的device tree啊?重新打包下载挺麻烦的。

离线

#2 2020-02-09 20:03:09

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,946

Re: 关于荔枝派nano的设备树更新

你dtb保存在 spi nor flash 还是 tf 卡?

离线

#3 2020-02-09 20:57:01

RedK
会员
注册时间: 2020-01-15
累计积分: 15

Re: 关于荔枝派nano的设备树更新

nor falsh里!主要是不想重新下载bin文件了!!改一次就得下一次,编译,打包出bin,烧写,很麻烦!!

请晕哥指点!!

离线

#4 2020-02-09 21:14:44

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,946

Re: 关于荔枝派nano的设备树更新

可以的, 设备树和驱动配置好之后, 会有flash mtd设备, 如 /dev/mtd0, /dev/mtd1 ...

用busybox的 flashcp, flash_eraseall 等命令可以完成编程,擦除,校验等.

前提是这些分区是可读写的, 只读会执行失败.

离线

#5 2020-02-09 22:01:19

RedK
会员
注册时间: 2020-01-15
累计积分: 15

Re: 关于荔枝派nano的设备树更新

晕哥,意思是用busybox的命令把dtb文件直接写进nor flash里?有没有啥可以参考的链接?

离线

#6 2020-02-10 07:17:32

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,946

Re: 关于荔枝派nano的设备树更新

RedK 说:

晕哥,意思是用busybox的命令把dtb文件直接写进nor flash里?有没有啥可以参考的链接?

https://whycan.cn/t_2382.html#p18153
https://whycan.cn/t_1340.html#p6586
https://whycan.cn/t_571.html
https://whycan.cn/t_737.html

离线

#7 2020-02-10 13:55:22

RedK
会员
注册时间: 2020-01-15
累计积分: 15

Re: 关于荔枝派nano的设备树更新

好的,我研究研究,对一个菜鸟来说,有那么一点难度的!!!

谢谢晕哥!

离线

#8 2020-02-10 14:15:20

RedK
会员
注册时间: 2020-01-15
累计积分: 15

Re: 关于荔枝派nano的设备树更新

不好意思,晕哥,再请教下,是不是设备树里不特意注明这个mtd是只读的,默认就是可读写的吗?
&spi0 {
    pinctrl-names = "default";
    pinctrl-0 = <&spi0_pins_a>;
    status = "okay";
    spi-max-frequency = <50000000>;
    flash: w25q128@0 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "winbond,w25q128", "jedec,spi-nor";
        reg = <0>;
        spi-max-frequency = <50000000>;
        partitions {
            compatible = "fixed-partitions";
            #address-cells = <1>;
            #size-cells = <1>;

            partition@0 {
                label = "u-boot";
                reg = <0x000000 0x070000>;
                read-only;
            };

            partition@070000 {
                label = "dtb";
                reg = <0x070000 0x10000>;
                read-only;
            };

            partition@080000 {
                label = "kernel";
                reg = <0x080000 0x400000>;
                read-only;
            };

            partition@480000 {
                label = "rootfs";
                reg = <0x480000 0xB80000>;
            };
        };

我要实现OTA,那是不是意味着前三个mtd的 read-only必须去掉?

想更新设备树和内核!其实主要是设备树要更新,uboot应该不用更新的!!!

最近编辑记录 RedK (2020-02-10 14:23:02)

离线

#9 2020-02-10 14:41:37

pythinker
会员
注册时间: 2019-02-12
累计积分: 137

Re: 关于荔枝派nano的设备树更新

需要更新的mtd分区都要去掉 read-only 属性。

离线

页脚