STM32CubeIDE开发M4—点亮第一个LED灯

STM32CubeIDE开发M4—点亮第一个LED灯

一、搭建开发环境并新建工程

见前一篇:STM32CubeIDE的安装与使用

二、编写代码,使LED闪烁

main.cwhile循环中加入如下LED闪烁代码

HAL_GPIO_WritePin(GPIOG, GPIO_PIN_8, GPIO_PIN_SET); 	//设置 GPIOG 8 引脚输出高电平
HAL_Delay(500); //延时 500 毫秒
HAL_GPIO_WritePin(GPIOG, GPIO_PIN_8, GPIO_PIN_RESET); 	//设置 GPIOG 8 引脚输出低电平
HAL_Delay(500); //延时 500 毫秒

在这里插入图片描述

然后点击保存

三、编译工程

选中工程,右击,选择【Build Project】,开始编译工程
在这里插入图片描述
编译成功后可以在控制台看到编译成功的信息
在这里插入图片描述
同时也可以看到其生成的目标二进制文件在【Debug】目录中
在这里插入图片描述

四、上传二进制文件到开发板

启动开发板,进入Linux系统,联网,并和电脑处于同一网段,然后进入/lib/firmware目录,然后将之前生成的二级制文件放在该目录下,可有多种方式,例如:
方式一:使用【MobaXterm】可以直接拖拽进入,或者点击上传按钮上传
在这里插入图片描述
方式二:使用scp命令,在二级制文件目录下打开命令行窗口,

scp STM32MP157D_Prj_CM4.elf [email protected]:/lib/firmware/

在这里插入图片描述
上传完成后即可在/lib/firmware目录下看到该二进制文件
在这里插入图片描述

五、加载运行

使用如下命令启动运行M4的固件

echo STM32MP157D_Prj_CM4.elf > /sys/class/remoteproc/remoteproc0/firmware
echo start > /sys/class/remoteproc/remoteproc0/state

其中第一条命令为加载固件,第二条命令为启动M4,使用如下命令停止M4运行

echo stop > /sys/class/remoteproc/remoteproc0/state

启动M4后可以看到黄色LED灯闪烁,停止M4后黄色LED停止闪烁。
在这里插入图片描述

六、使用ST-Link调试

M4 的调试方式有两种:工程模式( Engineering Mode)和量产模式( Production Mode)。

  1. 工程模式:类似 STM32 单片机烧写到 RAM, M4 启动,无需 A7 加载。 因为烧写到 RAM 里, 掉电程序消失,一般用于调试。
  2. 量产模式:A7 启动后,通过 Remoteproc 服务启动 M4, 固件先被存放在 Flash,掉电不会消失,但需要 A7 先启动,引导 M4 启动,用于实际部署。

将STlink连接到开发板,然后将拨码开关从EMMC模式(010)设置为调试模式(001),然后开启电源开关
在这里插入图片描述
接下来在STM32CubeIDE菜单栏点击【Run】->【Debug Configurations】
在这里插入图片描述
首先点击【STM32 Cortex-M C/C++ Application】,然后新建调试“ New launch configuration” ,然后就会默认选择之前生成的二进制文件,
在这里插入图片描述
然后切到【调试器】标签页,在【Load Mode】单选框里选择【thru JTAG/SWD link(Engineering mode)】,
也就是工程模式, 调试探头选择默认的【ST-LINK(OpenOCD)】, 最后点击【Debug】开始调试, 如图所示。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_38113006/article/details/108796761