请教个比较菜的问题,因为按教程烧写进板子里的的bin文件只使能了uart0,我更新了设备树dts文件,把uart1和uart2都使能了。请问难道要重新编译后,重新打包一个bin文件,再通过USB下载进nano的板子里吗? 有没有其他可以不通过USB单独操作更新dtb的办法?比如直接可以更新根文件系统下的device tree啊?重新打包下载挺麻烦的。
离线
nor falsh里!主要是不想重新下载bin文件了!!改一次就得下一次,编译,打包出bin,烧写,很麻烦!!
请晕哥指点!!
离线
晕哥,意思是用busybox的命令把dtb文件直接写进nor flash里?有没有啥可以参考的链接?
离线
晕哥,意思是用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
离线
好的,我研究研究,对一个菜鸟来说,有那么一点难度的!!!
谢谢晕哥!
离线
不好意思,晕哥,再请教下,是不是设备树里不特意注明这个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)
离线
需要更新的mtd分区都要去掉 read-only 属性。
离线