STMCU小助手
发布时间:2021-11-25 16:00
|
硬件介绍 我手上开发板使用STM32F030F4P单片机,无外部晶振,所以直接使用内部晶振。开发板上有3个LED灯。
安装rtthread_namo包 在操作前,需要安装MDK5软件,以及STM32CubeMX,并安装好STM32F0的Pack 1.打开MDK软件的Pack Install工具,选择RealThread:RT_Thread进行安装
2.在弹出的节目中选择Next,等待安装
3.安装成功后,Reload Packs即可。
创建工程 1.选择芯片STM32F030F4P6
2.Manage Run-Time Environment
按照图中进行勾选,由于我们芯片资源有限,而且这次的电路并没有接触串口,所以在RTOS部分,我们没有勾选shell。 3.Start STM32CubeMX
勾选完Run-Time Environment后,会自动弹出启动STM32CubeMX的窗口,我们打开STM32CubeMX进行配置。 4.STM32CubeMX配置Pinout&Configuration
5.配置时钟
6.单击生成代码
7.生成代码如下
配置工程 1.选中RTOS下的rtconfig.h文件,使用Configuration Wizard进行配置
2.内存管理设置
由于芯片内存很少,我们取消Dynamic Heap Management。勾选上using small memory。 3.关闭console和Finsh
由于我们并没有接出串口,所以关闭串口相关的内容。 修改代码,测试 修改stm32f0xx_it.c文件 由于rtthread重写了部分中断服务函数,所以我们需要将stm32f0xx_it.c中部分函数设置为weak。
修改时钟部分 在mian函数中,有HAL_Init()和SystemClock_Config()函数,用来在系统开始的时候初始化HAL和System时钟。但是当我们使用rtthread后,第一个执行的函数不是main()。而是rtthread系统的初始化函数,并在board.c的rt_hw_board_init()中进行硬件初始化。 我们将HAL_Init()和SystemClock_Config()放到rt_hw_board_init()最前面,保证在用户代码运行时,时钟时我们希望的样子。
增加用户代码
编译测试 1.使用ARM Compiler version5 进行编译,结果如下:
2. 使用ARM Compiler version6编译,结果如下:
相对于我第一次写关于ARMCLANG的博客,已经过去很久了,目前很多中间件,以及STM32的HAL库都已经能很好的支持ARMCLAGN,推荐大家使用ARMCLANG编译器进行编译。 |
ST TouchGFX 实操系列视频+如何选择正确的帧缓冲区策略
ST TouchGFX 实操系列视频++如何添加图像
ST TouchGFX 实操系列视频+如何进行屏幕转换
ST TouchGFX 实操系列视频+控件的淡入淡出
ST TouchGFX 实操系列视频+移动控件的三种方法
ST TouchGFX 实操系列视频+如何创建用户界面(UI)
ST TouchGFX 实操系列视频+如何安装TouchGFX Designer和STM32Cube软件环境
【经验分享】STM32F1 GPIO工作原理
【经验分享】STM32F0xx_DMA收发USART数据配置详细过程
【经验分享】STM32F1和STM32F4 区别
微信公众号
手机版