您尚未登录。

楼主 #1 2020-04-13 10:03:40

xblzy0423
会员
注册时间: 2020-03-12
已发帖子: 48
积分: 48

新手求助Zero v3“增开USART1 和USART2”

结贴,问题解决了
解决方法:最原始最暴力方法,重新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)

离线

#2 2020-04-13 10:12:09

阿黄
会员
注册时间: 2018-10-03
已发帖子: 298
积分: 133

Re: 新手求助Zero v3“增开USART1 和USART2”

正常增加串口不需要重新编译uboot,只需要在内核的dts里面按你这个增加后,编译一次dtb即可。然后替换目标文件系统的dtb

离线

#3 2020-04-13 10:12:46

X3
会员
注册时间: 2020-04-08
已发帖子: 84
积分: 72.5

Re: 新手求助Zero v3“增开USART1 和USART2”

sun8i-v3s-licheepi-zero.dts  47行附近有语法错误

离线

楼主 #4 2020-04-13 10:19:26

xblzy0423
会员
注册时间: 2020-03-12
已发帖子: 48
积分: 48

Re: 新手求助Zero v3“增开USART1 和USART2”

阿黄 说:

正常增加串口不需要重新编译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)

离线

楼主 #5 2020-04-13 10:22:44

xblzy0423
会员
注册时间: 2020-03-12
已发帖子: 48
积分: 48

Re: 新手求助Zero v3“增开USART1 和USART2”

X3 说:

sun8i-v3s-licheepi-zero.dts  47行附近有语法错误

语法错误我修改了
还是不通过,log信息我更新了

最近编辑记录 xblzy0423 (2020-04-13 10:22:59)

离线

#6 2020-04-13 10:34:51

X3
会员
注册时间: 2020-04-08
已发帖子: 84
积分: 72.5

Re: 新手求助Zero v3“增开USART1 和USART2”

https://lists.denx.de/pipermail/u-boot/2018-June/330701.html

@@ -93,12 +116,39 @@ def Binman(options, args):
         try:
             tools.SetInputDirs(options.indir)
             tools.PrepareOutputDir(options.outdir, options.preserve)
-            dtb = fdt.FdtScan(dtb_fname)
+
+            # Get the device tree ready by compiling it and copying the compiled
+            # output into a file in our output directly. Then scan it for use
+            # in binman.
+            dtb_fname = fdt_util.EnsureCompiled(dtb_fname)
+            fname = tools.GetOutputFilename('u-boot-out.dtb')
+            with open(dtb_fname) as infd:
+                with open(fname, 'wb') as outfd:
+                    outfd.write(infd.read())
+            dtb = fdt.FdtScan(fname)
+
+            # Note the file so that GetFdt() can find it
+            fdt_files['u-boot.dtb'] = dtb
             node = _FindBinmanNode(dtb)
             if not node:
                 raise ValueError("Device tree '%s' does not have a 'binman' "
                                  "node" % dtb_fname)
+

错误在 python 脚本, 你可以跟踪一下。

离线

#7 2020-04-13 10:36:48

阿黄
会员
注册时间: 2018-10-03
已发帖子: 298
积分: 133

Re: 新手求助Zero v3“增开USART1 和USART2”

你是在uboot中用uart1还是在linux中用?

离线

楼主 #8 2020-04-13 11:57:24

xblzy0423
会员
注册时间: 2020-03-12
已发帖子: 48
积分: 48

Re: 新手求助Zero v3“增开USART1 和USART2”

阿黄 说:

你是在uboot中用uart1还是在linux中用?

linux中了
板子为zero v3s

离线

#9 2020-04-13 12:00:50

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,223
积分: 9197

Re: 新手求助Zero v3“增开USART1 和USART2”

xblzy0423 说:

linux中了
板子为zero v3s

那u-boot不用改uart部分,应该去linux里面修改。





离线

#10 2020-04-13 12:13:34

阿黄
会员
注册时间: 2018-10-03
已发帖子: 298
积分: 133

Re: 新手求助Zero v3“增开USART1 和USART2”

晕哥 说:

那u-boot不用改uart部分,应该去linux里面修改。

+1   应该去linux的dts里面改,然后编译dts生成dtb文件,然后用新的dtb文件生成新的镜像文件。
编译dts就是在linux目录执行
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs

最近编辑记录 阿黄 (2020-04-13 12:17:11)

离线

楼主 #11 2020-04-13 12:30:47

xblzy0423
会员
注册时间: 2020-03-12
已发帖子: 48
积分: 48

Re: 新手求助Zero v3“增开USART1 和USART2”

阿黄 说:

+1   应该去linux的dts里面改,然后编译dts生成dtb文件,然后用新的dtb文件生成新的镜像文件。
编译dts就是在linux目录执行
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs

谢谢了,懂了

离线

楼主 #12 2020-04-13 21:18:41

xblzy0423
会员
注册时间: 2020-03-12
已发帖子: 48
积分: 48

Re: 新手求助Zero v3“增开USART1 和USART2”

结贴,谢谢大家

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn