使用buildroot-100ask-t113-pro sdk出现两个问题

使用文档pdf中介绍的方法获取的在线源码,有两个问题反映,以及解决方法回馈。望确认。
#1 修改文件 br2t113pro/board/100ask/t113-pro/env-spinand.cfg 不起作用
#1.1 解决方法:需要删除掉 br2t113pro/board/100ask/dragon/env.fex
#1.2 原因:其实这是个编译结果文件(非源码工作)。在 br2t113pro/board/100ask/t113-pro/build-after.sh 中的 第8行,将该文件拷贝到 output/images/ 目录下,这个拷贝动作覆盖了 post-build-spinand.sh 在 第25行的成果:通过 env-spinand.cfg 生成的结果文件 env.fex。

#2 修改文件 br2t113pro/board/100ask/dragon/sys_partition.fex,编辑分区,不起作用
#2.1 解决方法:在脚本文件 br2t113pro/board/100ask/t113-pro/build-after.sh 中的第15行后,增加两行:
busybox unix2dos sys_partition.fex
$BINARIES_DIR/script sys_partition.fex

您好, 请问, 为何修改"sys_config.fex"(br2t113pro/board/100ask/dragon/sys_config.fex)也是不起作用呢?

例如我想把LCD RGB 接口的PD7与PD8修改为测试用UART(不使用LCD, 未插接口), 我做了以下操作尝试:

  1. 在上述sys_config.fex中添加配置项

    [uart_para1]
    uart_used = 1
    uart_port = 4
    uart_tx   = port:PD07<5><1><default><default>
    uart_rx   = port:PD08<5><1><default><default>
    
  2. buildroot/dl/linux/git/arch/arm/boot/dts/sun8iw20p1-t113-100ask-t113-pro.dts中添加

    &pio {
              uart4_pins_a: uart4_pins@0 { 
                      pins = "PD7", "PD8";
                      function = "uart4";
                      drive-strength = <10>;
                      bias-pull-up;
              };
    
              uart4_pins_b: uart4_pins@1 { 
                    pins = "PD7", "PD8";
                    function = "gpio_in";
              };
    };
    
    &uart4 {
            pinctrl-names = "default", "sleep";
            pinctrl-0 = <&uart4_pins_a>;
            pinctrl-1 = <&uart4_pins_b>;
            status = "okay";
    };
    

两种操作排列组合都试过了, 每次尝试前都有执行make clean, 但执行ls /dev后仍然只有ttyS1和ttyS3而没有ttyS4.


补充: 后续尝试了把output/image中的dtb反编译直接修改status后再编译放回去

dtc -I dtb -O dts ./buildroot/output/images/sun8iw20p1-t113-100ask-t113-pro.dtb > ./sun8iw20p1-t113-100ask-t113-pro.dts
code ./sun8iw20p1-t113-100ask-t113-pro.dts
dtc -I dts -O dtb ./sun8iw20p1-t113-100ask-t113-pro.dts > ./buildroot/output/images/sun8iw20p1-t113-100ask-t113-pro.dtb

其中编辑内容

		uart@2501000 {
			compatible = "allwinner,sun8i-uart";
			device_type = "uart4";
			reg = <0x00 0x2501000 0x00 0x400>;
			interrupts = <0x00 0x06 0x04>;
			sunxi,uart-fifosize = <0x100>;
			clocks = <0x02 0x43>;
			clock-names = "uart4";
			resets = <0x02 0x16>;
			uart4_port = <0x04>;
			uart4_type = <0x02>;
			status = "okay";  /* 修改前是 disabled */
		};

之后再打包执行ls /dev有出现’ttyS4’

[    2.123242] sun8iw20-pinctrl pio: pio supply vcc-pg not found, using dummy regulator
[    2.123696] uart uart1: get regulator failed
[    2.123722] uart uart1: uart1 supply uart not found, using dummy regulator
[    2.128554] uart1: ttyS1 at MMIO 0x2500400 (irq = 34, base_baud = 1500000) is a SUNXI
[    2.142014] sun8iw20-pinctrl pio: pio supply vcc-pb not found, using dummy regulator
[    2.149123] uart uart3: get regulator failed
[    2.149155] uart uart3: uart3 supply uart not found, using dummy regulator
[    2.149677] uart3: ttyS3 at MMIO 0x2500c00 (irq = 35, base_baud = 1500000) is a SUNXI
[    2.149705] sw_console_setup()1784 - console setup baud 115200 parity n bits 8, flow n
[    3.148939] printk: console [ttyS3] enabled
[    3.168001] uart uart4: get regulator failed
[    3.172856] uart uart4: uart4 supply uart not found, using dummy regulator
[    3.187999] sw_uart_request_gpio()1250 - UART4 devm_pinctrl_get() failed! return -19
[    3.196732] uart4: ttyS4 at MMIO 0x2501000 (irq = 36, base_baud = 1500000) is a SUNXI

但是初步测试(环回测试, 短接核心板的49和50脚)发现不能使用(echo '233AA55' > /dev/ttyS4; cat /dev/ttyS4没有回应)

另外, 方便介绍一下dragonpack_img与目录中的拓展名为’fex’的二进制文件是怎么来的吗?

我看到在post-build-sd.sh

# Copy some system bins.
cp $BOARD_DIR/../pack_img/* -rfvd  $BINARIES_DIR

build-after.sh

# Copy Files to BINARY
cp $BOARD_DIR/../dragon/* -rfvd  $BINARIES_DIR

我想了解这里的这些二进制文件对应的源文件在哪、如何修改.

我对全志的生态不熟悉, 如果这些二进制文件是全志提供的, 那还请分享一下对应的说明或链接. 谢谢

你的问题解决了吗? 我也想改T113的 串口IO号,也是改不成功。

我改了程序。但启动时,uboot启动信息没有显示。内核启动的信息就有。就是uboot部分,可能也有用到串口。但我没找到方法在哪修改。