打印
[应用相关]

# 如何使用CubeMX生成的设备树生成镜像&&如何为MP135添加一个串口?&&关于SDK的一些疑问

[复制链接]
831|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2024-5-24 15:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的硬件平台是MP135,我现在想给它增加一个串口UART8,于是我打算修改设备树。  但是在使用SDK的时候我遇到了些问题。  按照官方的`how to do.txt`,我编译了u-boot,在deploy文件夹下生成了如下内容:```bash~/workspace/STM32/stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/sources/arm-ostl-linux-gnueabi/u-boot-stm32mp-v2022.10-stm32mp-r1-r0/deploy$ lsdebug                       u-boot-stm32mp157c-ed1.dtbu-boot-nodtb-stm32mp13.bin  u-boot-stm32mp157c-ev1.dtbu-boot-nodtb-stm32mp15.bin  u-boot-stm32mp157d-dk1.dtbu-boot-stm32mp135f-dk.dtb   u-boot-stm32mp157d-ev1.dtbu-boot-stm32mp157a-dk1.dtb  u-boot-stm32mp157f-dk2.dtbu-boot-stm32mp157a-ev1.dtb  u-boot-stm32mp157f-ed1.dtbu-boot-stm32mp157c-dk2.dtb  u-boot-stm32mp157f-ev1.dtb
按照官方教程,我应该把这些文件拷贝到StarterPackage的flp文件夹下。这让我感到困惑,因为我在StarterPackage上面并没有看见类似的文件,而是:
~/workspace/STM32/IMAGE/stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/images/stm32mp1/fip$ ls#in starter packagefip-stm32mp135f-dk-optee.bin   fip-stm32mp157d-dk1-optee.binfip-stm32mp157a-dk1-optee.bin  fip-stm32mp157d-ev1-optee.binfip-stm32mp157a-ev1-optee.bin  fip-stm32mp157f-dk2-optee.binfip-stm32mp157c-dk2-optee.bin  fip-stm32mp157f-ed1-optee.binfip-stm32mp157c-ed1-optee.bin  fip-stm32mp157f-ev1-optee.binfip-stm32mp157c-ev1-optee.bin
而当我编译optee的时候,deploy文件夹下出现的是这些东西:
~/workspace/STM32/stm32mp1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/sources/arm-ostl-linux-gnueabi/optee-os-stm32mp-3.19.0-stm32mp-r1-r0/deploy$ lsdebug                                tee-pageable_v2-stm32mp157d-dk1.bintee-header_v2-stm32mp157a-dk1.bin    tee-pageable_v2-stm32mp157d-ev1.bintee-header_v2-stm32mp157a-ev1.bin    tee-pageable_v2-stm32mp157f-dk2.bintee-header_v2-stm32mp157c-dk2.bin    tee-pageable_v2-stm32mp157f-ed1.bintee-header_v2-stm32mp157c-ed1.bin    tee-pageable_v2-stm32mp157f-ev1.bintee-header_v2-stm32mp157c-ev1.bin    tee-pager_v2-stm32mp157a-dk1.bintee-header_v2-stm32mp157d-dk1.bin    tee-pager_v2-stm32mp157a-ev1.bintee-header_v2-stm32mp157d-ev1.bin    tee-pager_v2-stm32mp157c-dk2.bintee-header_v2-stm32mp157f-dk2.bin    tee-pager_v2-stm32mp157c-ed1.bintee-header_v2-stm32mp157f-ed1.bin    tee-pager_v2-stm32mp157c-ev1.bintee-header_v2-stm32mp157f-ev1.bin    tee-pager_v2-stm32mp157d-dk1.bintee-pageable_v2-stm32mp157a-dk1.bin  tee-pager_v2-stm32mp157d-ev1.bintee-pageable_v2-stm32mp157a-ev1.bin  tee-pager_v2-stm32mp157f-dk2.bintee-pageable_v2-stm32mp157c-dk2.bin  tee-pager_v2-stm32mp157f-ed1.bintee-pageable_v2-stm32mp157c-ed1.bin  tee-pager_v2-stm32mp157f-ev1.bintee-pageable_v2-stm32mp157c-ev1.bin
我并不知道这些文件应该放置在哪里。 对于上述情况,我提出几个问题:
  • 增加串口是否需要修改Linux 内核? 我不知道为什么只是增加一个串口要这么麻烦
  • 如何使用CubeMX生成的设备树编译镜像? 请不要给我推官网的教程链接。官网相关的教程我都看了,并没有一个完整叙述了从CubeMX设备树到生成镜像的教程。
  • source code编译生成的文件如何添加到Starter Package内? 如上述,SDK生成的文件与StarterPackage的文件并不能很好地配合起来。 希望能得到您的解答!

使用特权

评论回复
沙发
故意相遇| | 2024-6-18 10:14 | 只看该作者
增加串口通常不需要修改Linux内核,因为Linux内核已经支持多种串口设备。

使用特权

评论回复
板凳
白马过平川| | 2024-6-18 13:00 | 只看该作者
其实您只需要在设备树中添加新的串口节点,并在启动时加载相应的驱动程序即可。

使用特权

评论回复
地板
风凉| | 2024-6-18 15:00 | 只看该作者
如果您的硬件平台已经支持了新的串口设备,那么只需要在设备树中进行相应的配置即可。

使用特权

评论回复
5
西洲| | 2024-6-18 17:00 | 只看该作者
关于使用CubeMX生成的设备树编译镜像,这可能需要一些特定的步骤,因为CubeMX生成的设备树可能需要与您的Linux内核源码进行适配。

使用特权

评论回复
6
捧一束彼岸花| | 2024-6-18 19:00 | 只看该作者
建议需要确保CubeMX生成的设备树与您的Linux内核源码中的设备树文件相匹配,并进行相应的配置。然后,您可以使用交叉编译工具链编译内核和设备树,并生成镜像文件。

使用特权

评论回复
7
EmmaTT| | 2024-6-18 20:23 | 只看该作者
这个改设备树就行吧

使用特权

评论回复
8
未说出口的像你| | 2024-6-19 02:00 | 只看该作者
source code编译生成的文件如何添加到Starter Package内,这可能需要根据具体的情况进行调整。

使用特权

评论回复
9
春日负喧| | 2024-6-19 12:00 | 只看该作者
由于这些操作都涉及到具体的硬件平台和软件环境,因此可能需要根据您的具体情况进行调整和定制。

使用特权

评论回复
10
一只眠羊| | 2024-6-19 14:00 | 只看该作者
为啥不能匹配好?是路径没设置好吗?

使用特权

评论回复
11
wang6623| | 2024-6-30 15:08 | 只看该作者
设备树是描述硬件配置和连接信息的文件,它告诉Linux内核如何识别和配置硬件设备。

使用特权

评论回复
12
理想阳| | 2024-6-30 15:28 | 只看该作者
还这没用过CubeMX配置过MP芯片,不知道和STM32是不是一样。

使用特权

评论回复
13
雨果喝水| | 2024-8-29 13:01 | 只看该作者
在Linux环境中,可以使用dtc(Device Tree Compiler)工具进行编译。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2051

主题

7441

帖子

10

粉丝