STM32
直播中

莫联雪

7年用户 1140经验值
私信 关注
[问答]

stm32mp157编译烧录运行到uboot串口无输出怎么解决?

1.大概2月前后,参考第2部分的方法,生成sdcard镜像文件并烧录的步骤,生成了sdcard镜像文件并烧录到sd卡,然后我一直使用这个sd卡和生成sdcard镜像文件更新自己编译的tf-a, optee, uboot, kernel 镜像来进行测试。我一共使用了A, B, C三张sd卡。
前几天我重新又生成了一遍sdcard镜像文件并烧录,过程中把以前一直用的2月生成的sdcard镜像文件删除了,然后就发现问题了,使用新生成的sdcard镜像文件并烧录后,tf-a 和 optee串口有正常的输出,一到uboot就没有串口输出信息了,系统可以正常运行,心跳灯和LCD正常工作,触摸屏也可以正常操作。
过程中我使用新生成的sdcard镜像文件烧录了sd卡A和sd卡B,都是一样的现象,偶然间我发现同样的tf-a, optee, uboot, kernel镜像更新到sd卡C上uboot, kernel是可以正常串口输出和调试的。sd卡C是没有使用新生成的sdcard镜像文件烧录过的。
然后,因为没有2月生成的sdcard镜像文件了,我使用balenaEtcher的复制磁盘功能把sd卡C克隆到sd卡A和sd卡B,烧录同样的tf-a, optee, uboot, kernel镜像,uboot, kernel就可以正常串口输出和调试了。

接着我重新在虚拟机上安装ubuntu20.04和ubuntu22.04,然后参考第2部分的方法,生成sdcard镜像文件并烧录的步骤,生成了sdcard镜像文件并烧录到sd卡,我换了一台PC也试过了,重新下载了刚更新的新版STM32MP1 OpenSTLinux入门套件,都是tf-a 和 optee串口有正常的输出,一到uboot就没有串口输出信息了,系统可以正常运行,心跳灯和LCD正常工作,触摸屏也可以正常操作。使用stm32cubeprogrammer烧录到SD卡后发现,依然是tf-a 和 optee串口有正常的输出,一到uboot就没有串口输出信息了,系统可以正常运行,心跳灯和LCD正常工作,触摸屏也可以正常操作。
请各位前辈,老师帮忙看一下,问题出在哪里,可不可以给一些排查的方向,谢谢!
我在en.sources-stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21.tar.gz基础上修改的设备树文件见楼下附件。
2.生成sdcard镜像文件并烧录的步骤
下载好的STM32MP1 OpenSTLinux入门套件:en.flash-stm32mp1-openstlinux-6-1-yocto-mickledore-mp1-v23-06-21.tar.gz,上传到ununtu系统并解压。

进入文件夹"stm32mp1/scripts"里面有生成sdcard镜像的脚本文件,在文件夹"stm32mp1"打开终端,使用如下命令生成sdcard镜像文件:
./scripts/create_sdcard_from_flashlayout.sh ./flashlayout_st-image-weston/optee/FlashLayout_sdcard_stm32mp157a-dk1-optee.tsv
终端会打印相关的信息,同时会在"stm32mp1"文件夹下生成两个文件:
FlashLayout_sdcard_stm32mp157a-dk1-optee.rawFlashLayout_sdcard_stm32mp157a-dk1-optee.how_to_update.txt使用FileZilla工具将生成的”FlashLayout_sdcard_stm32mp157a-dk1-optee.raw“文件下载到Windows系统下,准备一张容量至少8GB的SD卡,使用balenaEtcher,将”FlashLayout_sdcard_stm32mp157a-dk1-optee.raw“烧录到SD卡;

FlashLayout_sdcard_stm32mp157a-dk1-optee.how_to_update.txt参考上面的文件,后面会使用类似如下的命令来进行分区内容的更新,需要注意每次操作完,需要安全安全移除SD卡:
- Populate partition fsbl1 (/dev/sdc1)    sudo dd if=arm-trusted-firmware/tf-a-stm32mp157a-dk1-sdcard.stm32 of=/dev/sdc1 bs=1M conv=fdatasync status=progress- Populate partition fsbl2 (/dev/sdc2)    sudo dd if=arm-trusted-firmware/tf-a-stm32mp157a-dk1-sdcard.stm32 of=/dev/sdc2 bs=1M conv=fdatasync status=progress- Populate partition metadata1 (/dev/sdc3)    sudo dd if=arm-trusted-firmware/metadata.bin of=/dev/sdc3 bs=1M conv=fdatasync status=progress- Populate partition metadata2 (/dev/sdc4)    sudo dd if=arm-trusted-firmware/metadata.bin of=/dev/sdc4 bs=1M conv=fdatasync status=progress- Populate partition fip-a (/dev/sdc5)    sudo dd if=fip/fip-stm32mp157a-ev1-optee.bin of=/dev/sdc5 bs=1M conv=fdatasync status=progress- Populate partition fip-b (/dev/sdc6)    sudo dd if=none of=/dev/sdc6 bs=1M conv=fdatasync status=progress- Populate partition u-boot-env (/dev/sdc7)    sudo dd if=none of=/dev/sdc7 bs=1M conv=fdatasync status=progress- Populate partition bootfs (/dev/sdc8)    sudo dd if=st-image-bootfs-openstlinux-weston-stm32mp1.ext4 of=/dev/sdc8 bs=1M conv=fdatasync status=progress- Populate partition vendorfs (/dev/sdc9)    sudo dd if=st-image-vendorfs-openstlinux-weston-stm32mp1.ext4 of=/dev/sdc9 bs=1M conv=fdatasync status=progress- Populate partition rootfs (/dev/sdc10)    sudo dd if=st-image-weston-openstlinux-weston-stm32mp1.ext4 of=/dev/sdc10 bs=1M conv=fdatasync status=progress- Populate partition userfs (/dev/sdc11)    sudo dd if=st-image-userfs-openstlinux-weston-stm32mp1.ext4 of=/dev/sdc11 bs=1M conv=fdatasync status=progress


回帖(1)

王强

2024-7-5 17:29:14
根据您的描述,您在使用新的sdcard镜像文件烧录后,发现uboot串口没有输出信息。为了解决这个问题,您可以尝试以下步骤:

1. 检查串口设置:首先,确保您的uboot配置文件(如u-boot.cfg)中串口设置是正确的。检查波特率、数据位、停止位和奇偶校验位是否与您的串口设备兼容。

2. 重新编译uboot:尝试重新编译uboot,确保没有编译错误。同时,检查uboot的配置选项,确保启用了串口输出功能。

3. 检查串口连接:检查您的开发板与串口设备之间的连接是否正确。确保TX和RX引脚连接正确,并且没有接触不良或损坏的引脚。

4. 检查串口设备:确保您的串口设备(如USB转串口模块)工作正常。您可以尝试使用其他串口设备或计算机进行测试。

5. 检查电源:确保开发板的电源供应稳定,电压和电流符合要求。不稳定的电源可能会影响串口通信。

6. 检查串口驱动:确保您的计算机上安装了正确的串口驱动程序。如果没有安装或驱动程序不兼容,可能会导致串口无法正常工作。

7. 尝试使用其他sd卡:您提到使用了A, B, C三张sd卡,可以尝试使用其他sd卡进行测试,以排除sd卡本身的问题。

8. 检查系统日志:如果可能的话,检查系统日志,看看是否有关于串口通信的错误信息。

9. 恢复旧的sdcard镜像文件:如果以上方法都无法解决问题,您可以尝试恢复到2月份的sdcard镜像文件,看看是否能够解决问题。

通过以上步骤,希望能够帮助您找到问题所在并解决uboot串口无输出的问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分