结贴,问题解决了
解决方法:最原始最暴力方法,重新U-BOOT
问题:USART0已正常通讯 ,现要想增加USART1 和USART2
按教程
首先在dts里使能UART:
sun8i-v3s.dtsi:
uart0_pins_a: uart0@0 { pins = "PB8", "PB9";function = "uart0";bias-pull-up; };
uart1_pins_a: uart1@0 { pins = "PE21", "PE22";function = "uart1";bias-pull-up; };
uart2_pins_a: uart2@0 { pins = "PB0", "PB1";function = "uart2";bias-pull-up; };
sun8i-v3s-licheepi-zero.dts:
&uart0 { pinctrl-0 = <&uart0_pins_a>;pinctrl-names = "default";status = "okay"; };
&uart1 { pinctrl-0 = <&uart1_pins_a>;pinctrl-names = "default";status = "okay"; };
&uart2 { pinctrl-0 = <&uart2_pins_a>;pinctrl-names = "default";status = "okay"; };
在u-boot中开始编译
cd u-boot
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make LicheePi_Zero_defconfig
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make -j2
编译不通过,LOG如下
OBJCOPY u-boot-nodtb.bin
SHIPPED dts/dt.dtb
OBJCOPY u-boot.srec
SYM u-boot.sym
CAT u-boot-dtb.bin
COPY u-boot.dtb
COPY u-boot.bin
MKIMAGE u-boot.img
MKIMAGE u-boot-dtb.img
CC spl/common/spl/spl.o
LD spl/common/spl/built-in.o
CC spl/lib/display_options.o
LD spl/lib/built-in.o
LD spl/u-boot-spl
OBJCOPY spl/u-boot-spl-nodtb.bin
COPY spl/u-boot-spl.bin
MKSUNXI spl/sunxi-spl.bin
BINMAN u-boot-sunxi-with-spl.bin
binman: Device tree 'u-boot.dtb' does not have a 'binman' node
make: *** [u-boot-sunxi-with-spl.bin] 错误 1
root@wolf-ubuntu:/home/wolf/u-boot#
我还需要修改那个地方才能u-boot通过编译
ARCH=arm make menuconfig这步我没执行,是不是这个需配置,在那项中配置
谢谢
最近编辑记录 xblzy0423 (2020-04-13 12:32:27)
离线
正常增加串口不需要重新编译uboot,只需要在内核的dts里面按你这个增加后,编译一次dtb即可。然后替换目标文件系统的dtb
我只会重新编译uboot
不会编译一次dtb
下面这样对吗
arm CROSS_COMPILE=rm-none-linux-gnueabihf- sun8i-v3s-licheepi-zero.dtb
最近编辑记录 xblzy0423 (2020-04-13 10:28:17)
离线
sun8i-v3s-licheepi-zero.dts 47行附近有语法错误
语法错误我修改了
还是不通过,log信息我更新了
最近编辑记录 xblzy0423 (2020-04-13 10:22:59)
离线
你是在uboot中用uart1还是在linux中用?
linux中了
板子为zero v3s
离线
+1 应该去linux的dts里面改,然后编译dts生成dtb文件,然后用新的dtb文件生成新的镜像文件。
编译dts就是在linux目录执行
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs
谢谢了,懂了
离线
结贴,谢谢大家
离线