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镜像文件:
终端会打印相关的信息,同时会在"stm32mp1"文件夹下生成两个文件:
使用FileZilla工具将生成的”FlashLayout_sdcard_stm32mp157a-dk1-optee.raw“文件下载到Windows系统下,准备一张容量至少8GB的SD卡,使用balenaEtcher,将”FlashLayout_sdcard_stm32mp157a-dk1-optee.raw“烧录到SD卡;
参考上面的文件,后面会使用类似如下的命令来进行分区内容的更新,需要注意每次操作完,需要安全安全移除SD卡:
|
STM32MP135DAF7系列运行DDR_Init_A7死机,调试发现是DDR初始化出错。
classB自检库上面没有MP1系列的范例,有针对MP1系列的自检解决方案或是应用笔记吗?
stm32mp135怎么只烧录bootfs,根文件系统保持不变?
学习笔记请大家提意见
ST MPU官方Distribution Package下载源是关闭了吗
STM32MP135无法用NFS开机挂载文件系统启动,报错root '/dev/nfs' doesn't exist
STM32MP135移植lvgl build fatal error: drm.h: No such file or directory
STM32MP1和STM32MP2有什么不同
STM32MP157D使用分立电源的问题
STM32MP157D的CPU频率问题
stm32mp0601-bear-mp157.zip
2024-7-1 15:01 上传
点击文件名下载附件
下载积分: ST金币 -1103.49 KB, 下载次数: 1, 下载积分: ST金币 -1
您好,首先有几个问题需要跟您确认一下:
1.请问您手里的开发板是否是stm32mp157a-dk1?
2."重新下载了刚更新的新版STM32MP1 OpenSTLinux入门套件,都是tf-a 和 optee串口有正常的输出,一到uboot就没有串口输出信息了",您是否下载的是来自STM32MP1Starter - STM32MP1 OpenSTLinux Starter Package - STMicroelectronics的5.0.0版本呢?您是否是通过STM32CubeProgrammer下载到SD卡里面的呢?(如果不是,为什么您不使用STM32CubeProgrammer而使用Etcher呢?)
3.您现在的问题是“StarterPackage烧录之后就有u-boot串口无输出的问题”还是“由于您修改了设备树重新编译后再下载导致u-boot串口无输出”?
感谢您的回复。
1.请问您手里的开发板是否是stm32mp157a-dk1?
开发板是下面这款
BearPi-HM_Micro_small: 小熊派BearPi-HM Micro开发板基于OpenHarmony设备开发代码及教程 (gitee.com)
2."重新下载了刚更新的新版STM32MP1 OpenSTLinux入门套件,都是tf-a 和 optee串口有正常的输出,一到uboot就没有串口输出信息了",您是否下载的是来自STM32MP1Starter - STM32MP1 OpenSTLinux Starter Package - STMicroelectronics的5.0.0版本呢?您是否是通过STM32CubeProgrammer下载到SD卡里面的呢?(如果不是,为什么您不使用STM32CubeProgrammer而使用Etcher呢?)
a.STM32MP1Starter - STM32MP1 OpenSTLinux Starter Package - STMicroelectronics的5.0.0版本的我试过了有问题,然后我又下载了最新版测试,一样的也是有问题。
b.5.0.0版本的我使用STM32CubeProgrammer下载到SD卡里面也是一样的,tf-a 和 optee串口有正常的输出,一到uboot就没有串口输出信息了,系统可以正常运行,心跳灯和LCD正常工作,触摸屏也可以正常操作。
c.使用balenaEtcher是因为我的板子不是官方开发板,没有完成tf-a的时候,没办法使用STM32CubeProgrammer下载。
3.您现在的问题是“StarterPackage烧录之后就有u-boot串口无输出的问题”还是“由于您修改了设备树重新编译后再下载导致u-boot串口无输出”?
我现在的问题是
a.使用 我2月生成的那个sdcard镜像文件烧录过的sd卡或者克隆这个sd卡,uboot, kernel就可以正常串口输出和调试。
b.其他的方式,包括重新生成sdcard镜像文件并烧录sd卡,使用STM32CubeProgrammer下载到sd卡,重新安装ubuntu系统和更换PC。都是uboot, kernel就没有串口输出。
c.我现在对比测试烧录的使用的都是同样的tf-a, optee, uboot, kernel镜像。
怎么才能让uboot, kernel就可以正常串口输出和调试?随便是使用重新生成sdcard镜像文件,使用STM32CubeProgrammer或者更改设备树文件。
遇到这个问题我是感觉非常不理解,我感觉我其实只使用了sdcard镜像文件对SD卡进行了分区,方便我使用dd命令对各分区的内容进行更新,我尝试过使用dd命令把STM32MP1 OpenSTLinux入门套件里面的bootfs,rootfs等镜像都更新到SD卡,结果还是一样。
[md]您好,首先需要告知您的是:如果您使用的板子不是stm32mp157a-dk1,那么您是无法直接使用Starter Package里面stm32mp157a-dk1相关的.tsv tf-a fip等把板子跑起来的,其中的逻辑是Starter Package中的内容是依据stm32mp157a-dk1的设备树编译得到的,仅适配于stm32mp157a-dk1。
其次,我想跟您说明,如果STM32CubeProgrammer报错不允许您继续下载(也就是您提到的tf-a过不去),这就说明您想要下载的东西不适配您所使用的平台,所以您的思路应该是检查您的下载内容以及硬件平台,而不是另辟**强行使用其他方式下载。
至于您想要知道,到底如何才能把您的板子跑起来,建议您优先联系小熊派提供与其开发板相匹配的技术支持。
[md]您好!
1.使用STM32MP1 OpenSTLinux入门套件使用FlashLayout_sdcard_stm32mp157a-dk1-optee.tsv生成FlashLayout_sdcard_stm32mp157a-dk1-optee.raw烧录到sd卡之后,我使用dd命令用自己编译tf-a, optee, uboot, kernel镜像替换过对应分区的内容了;
2.重新编写FlashLayout_sdcard_stm32mp157a-ed1-bear-optee.tsv,把自己编译过的tf-a, optee, uboot, kernel镜像替换过对应分区的内容来生成FlashLayout_sdcard_stm32mp157a-dk1-optee.raw我也试过了;
3.使用自己修改的FlashLayout_sdcard_stm32mp157a-ed1-bear-optee.tsv和使用自己编译过的tf-a, optee, uboot, kernel镜像,STM32CubeProgrammer烧写到sd卡可以正常烧录;
4.以上3种方法结果一样,tf-a 和 optee串口有正常的输出,一到uboot就没有串口输出信息了,系统可以正常运行,心跳灯和LCD正常工作,触摸屏也可以正常操作。
[md]1.使用STM32CubeProgrammer烧写到sd卡
然后参考README.HOW_TO.txt更新kernel和设备树文件
运行后照片
tf-a 和 optee串口有正常的输出,一到uboot就没有串口输出信息了,系统可以正常运行,心跳灯和LCD正常工作,触摸屏也可以正常操作。
[md]2.使用2月生成sdcard镜像文件并烧录过的sd卡进行克隆磁盘然后再将编译的tf-a, optee, uboot, kernel镜像更新到sd卡对应的分区。
然后更新tf-a, optee, uboot, kernel镜像更新到sd卡对应的分区。
运行结果如下:
uboot有正常的串口输出信息
uboot, kernel都可以正常串口输出和调试。系统可以正常运行,心跳灯和LCD正常工作,触摸屏也可以正常操作。
[md]很高兴看到您已经解决了问题👍 。
注意到您在进行问题描述的时候提到“重新编译tfa/optee/uboot等”,编译的依据正是设备树文件,我相信您重新编译时用的设备树文件来自于小熊派而不是ST。设备树文件会包含各种配置,包括外设引脚、电源设计等,设备树文件要求与您使用的开发板相对应,这样才能编译出能正常运行的tfa、fip等文件。
但您似乎并没有提到您是如何解决您u-boot串口输出问题的,如果方便,请附上解决u-boot串口输出问题的方法。
[md]很高兴看到您已经解决了问题👍 。
注意到您在进行问题描述的时候提到“重新编译tfa/optee/uboot等”,编译的依据正是设备树文件,我相信您重新编译时用的设备树文件来自于小熊派而不是ST。设备树文件会包含各种配置,包括外设引脚、电源设计等,设备树文件要求与您使用的开发板相对应,这样才能编译出能正常运行的tfa、fip等文件。
但您似乎并没有提到您是如何解决您u-boot串口输出问题的,如果方便,请附上解决u-boot串口输出问题的方法。
[md]很高兴看到您已经解决了问题👍 。
注意到您在进行问题描述的时候提到“重新编译tfa/optee/uboot等”,编译的依据正是设备树文件,我相信您重新编译时用的设备树文件来自于小熊派而不是ST。设备树文件会包含各种配置,包括外设引脚、电源设计等,设备树文件要求与您使用的开发板相对应,这样才能编译出能正常运行的tfa、fip等文件。
但您似乎并没有提到您是如何解决您u-boot串口输出问题的,如果方便,请附上解决u-boot串口输出问题的方法。
[md]您好!感谢您一直关心我遇到的问题。
1.问题目前并没有解决,但是昨晚的确有进展。使用最新的SDK源码en.SOURCES-stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.tar.gz没有出现之前遇到的问题,当然设备树我是有修改的。
2.至于en.SOURCES-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23.tar.gz是否也是能正常的使用,还需要进一步测试,前几天PC坏了,后面有时间我会继续测试和更新。
3.至于您说的“重新编译时用的设备树文件来自于小熊派而不是ST”,不是很理解,用的是ST的MPU,设备树是在ST官方源码的基础上完成的,可以说源自ST,跟小熊派应该没什么关系,要感谢ST官方论坛的技术支持及热心网友的帮助。
4.使用最新的SDK源码en.SOURCES-stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.tar.gz编译测试的结果如下:
使用STM32CubeProgrammer烧写到sd卡正常
uboot, kernel都可以正常串口输出和调试。系统可以正常运行,心跳灯和LCD正常工作,触摸屏也可以正常操作。
ST官方源码en.SOURCES-stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.tar.gz基础上修改的文件.见附件。
stm32mp0601v240626-bear-mp157.zip
2024-8-11 16:36 上传
点击文件名下载附件
下载积分: ST金币 -1103.67 KB, 下载次数: 0, 下载积分: ST金币 -1
按照这个附件修改ST官方源码en.SOURCES-stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26.tar.gz
运行之后看起来比较正常,但是命令行控制台会有以下信息:
这个图片附件删不掉的问题论坛就不修复一下。。。。。。
我使用类似的方式修改的源码在正点原子stm32mp157(STM32MP157DAA1)上运行,不会有这些信息。请各位老师帮忙看一下,是哪里有问题。谢谢!