STM32MP157_第3篇开发板功能测试_韦东山老师

内容来自韦东山老师《嵌入式Linux应用开发完全手册》

欢迎关注我的微信公众号【万能的小江江】

1.开发板硬件功能测试

2.构建系统

3.更新部分系统

4.STM32MP157配套工具使用

ST工具介绍

STM32CubeMX

​ STM32CubeMX是ST意法半导体推出的STM32系列芯片图形可视化配置工具,可以为Cortex-M系列MCU生成初始化代码工程模板,以及为Cortex-A系列MPU生成用于Linux的部分设备树

对于STM32MP157

​ 可以为整个系统配置GPIO和时钟,并以交互的方式把外围设备分配给Cortex-M4或Cortex-A7,并提供一些实用功能

STM32CubeMX特性
  • 直观的STM32系列MCU和MPU的选型

  • 易于使用的丰富图形化界面

    -自动处理引脚冲突

    -动态验证Cortex-M内核外围设备和中间件功能的参数约束

    -动态验证配置的时钟树

    -查看上电顺序、预测功耗

  • 生成适合IAR、Keil和GCC编译器的Cortex-M4初始化C代码工程项目

  • 生成适合Linux设备的Cortex-A部分设备树

  • 支持Windows、Linux、Macos上独立运行,或者作为Eclipse(跨平台开源集成开发环境IDE)插件运行

STM32CubeMX支持STM32全系列

STM32CubeIDE

​ 常见的支持STM32开发的集成开发环境(IDE)有:Keil MDK-ARM、IAR EWAR。但是它们都是商业软件,免费的有很多限制

​ 于是出现了免费的Eclipse+GNU GCC来搭建STM32开发环境,但搭建过程繁琐,版本差异大导致教程不统一,对新手很不友好

​ STM32CubeIDE是ST公司基于Eclipse/CDT框架和GNU GCC工具链制作的免费IDE,并且集成了STM32CubeMX。可以实现STM32系列芯片的外围设备配置、代码生成、代码编辑、代码编译、在线调试,支持数百个Eclipse现有插件

STM32CubeIDE特性
  • 集成STM32CubeMX,可提供以下服务:

    -STM32 MCU和MPU的选择(MCU和MPU的区别)

    -引脚分配、时钟、外围设备、中间件配置

    -项目创建和初始化代码的生成

  • 基于Eclipse/CDT框架,并支持Eclipse插件,使用ARM GNU C/C++工具链和GDB调试器

  • 其他高级调试功能:

    -CPU核心、外设寄存器和内存视图

    -实时变量观看视图

    -系统分析和实施跟踪(SWV)

    -CPU故障分析工具

  • 支持ST-Link(STMicroelectronics)和J-Link(SEGGER)调试

  • 支持从Atollic TrueSTUDIO和Systemm Workbench for STM32(SW4STM32)导入项目

  • 多操作系统支持:Windows、Linux、MacOS(仅支持64位版本)

多合一STM32开发工具——STM32CubeIDE

STM32Cube生态

​ STM32Cube生态系统就是面向STM32系列芯片的完整软件解决方案,软件解决方案包含软件工具套件和嵌入式软件

STM32Cube生态系统

​ STM32CubeMX完成芯片配置和工程代码初始化;STM32CubeIDE完成代码编辑、功能实现;STM32CubeProgrammer完成代码烧写;STM32CubeMonitor完成监控、功能验证

STM32Cube软件工具完整解决方案

STM32Cube软件工具套件支持功能列表

STM32Cube嵌入式软件的MCU软件包支持功能列表

STM32CubeMX配置设备树

软件安装

官网下载

https://www.st.com/zh/development-tools/stm32cubeide.html#get-software

网盘下载

路径:开发板/MX专题/ en.ststm32cubeide_1.4.0_7511_20200720_0928_x86_64_exe

注:安装文件不能放在中文路径,安装路径也不要包含中文

创建模板

  1. 选择工作空间
  2. File->New->STM32 Project
  3. 搜索STM32MP157D,选TFBGA361

如图

​ 在Docs&Resources标签栏,可以直接下到STM32MP157D的Datasheet、Reference manual、Programming manual等资料

​ Datasheet方便查找,Reference manual内容全,Programing manual包含一些编程用的指令

生成设备树信息

确定引脚标号

​ 初始化HAL工程后,用STM32CubeMX来设置UART8引脚分配给A7处理器,并使用生成的设备树配置信息

原理图UART8引脚标号示意图

​ 如图,我们可以知道连接到CPU的引脚为PE1和PE0

生成设备信息

​ 选中需要配置的UART8接口,点击Mode下面的引脚分配,A7NS表示分配给A7非安全模式,Cortex-M4表示分配给M4,选择好引脚分配的Mode后,选择UART模式,选择模式为Asynchronous异步模式

配置UART8给A7非安全模式

​ 分配好引脚给A7NS用后,需要让其自动生成设备树信息,给Linux Kernel设备树使用

生成代码

​ 生成的代码在工程目录下,里面有kernel设备树配置,tfa设备树和uboot设备树配置,进入kernel目录可以看到dts文件

​ 打开dts文件,里面包含了UART8引脚复用的定义信息和启用UART8设备节点信息

​ 最后可以看到生成了UART8的引脚复用设备树参数,我们把它添加到内核源码的~/100ask_stm32mp157_pro-sdk/Linux-5.4/arch/arm/boot/dts 目录内的100ask-stm32mp157c-pro-lcd.dts 文件中,之后编译设备树,把新生成的100ask-stm32mp157c-pro-lcd.dtb 文件拷贝到开发板/boot目录中,重启开发板就可以了

//未完,最后更新时间:2021年4月11日 12:20


   转载规则


《STM32MP157_第3篇开发板功能测试_韦东山老师》 InImpasse 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
反编译apk获取代码 反编译apk获取代码
欢迎关注我的微信公众号【万能的小江江】 前言​ 反编译apk,就是通过某些反编译软件,对我们的apk进行反编译,从而获取程序的源代码、图片、XML资源等文件(其实一个apk文件就是一个压缩包) 需要用到的工具和教程apktool(
2021-04-13
下一篇 
  目录