你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 6580|回复: 22

[STM32F769-DISC] STM32F769I-DISCO评测之(七)实时操作系统FreeRTOS体验

[复制链接]

64

主题

744

回帖

23

蝴蝶豆

实习版主

最后登录
2020-12-8
发表于 2016-11-20 18:54:09 | 显示全部楼层 |阅读模式




开发环境的搭建和STM32CubeMX(STM32官网)的安装配置见前文,本文使用强大的STM32CubeMX配置STM32外设,快速生成工程模板,演示了LED闪烁和串口例程,和前期的区别就是添加了FreeRTOS嵌入式实时操作系统。
一、资源分配
STM32F769I-DISCO板载2颗用户LED,LD1位红色,LD2为绿色,如下:

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

根据原理图,LD1连接到STM32F769NIH6的PJ13,LD2连接到了PJ5,GPIO输出高电平即可点亮对应的LED。

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

板载STLINK具有虚拟串口功能,连接到了STM32F769NIH6的PA9和PA10,查阅数据手册,该GPIO可复用为UART1。


一、STM32CubeMX配置步骤


Step1:打开STM32CubeMX,新建工程,选择MCU型号为STM32F769NIH6;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

Step2:选择时钟源,根据原理图,STM32F769I-DISCO有外部有源晶振25MHz,因此时钟源需要选择BYPASS Clock Source,并开启SW仿真调试;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

Step3:使能FreeRTOS;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

由于使用了FreeRTOS,Systick定时器用于实时操作系统心跳,因此HAL_Delay() API的时基使用了一个普通定时器TIM7;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

Step4:这里串口一定要是PA9和PA10,UART1,直接使能USART1会发现引脚不是PA9和PA10,需要先在引脚PA9、PA10上选择串口功能,然后在左边外设栏使串口1为异步模式;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

Step5:配置LED引脚为输出模式,可在搜索框输入引脚名以便快速定位,我们需要配置PJ5和PJ13;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

Step6:把系统时钟配置为最大216MHz;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

Step7:配置串口参数为115200 b/s, 8 bits data, no parity, 1 stopbit, no flow control

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

Step8:给LED引脚添加用户标签;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

Step9: STM32F7 集成了 Cortex®-M7,其特点是具有 1 级缓存 ( L1- 缓存),该缓存分为两个缓存:数据缓存 ( D- 缓存)和指令缓存( I- 缓存),这样可以实现具有最佳性能的哈佛架构。这些缓存使得即使在高频率下也可以达到零等待状态。默认情况下,指令和数据缓存是禁用的,我们这里把它开启(本例程不开启它也可以)。

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

Step10:添加3个任务;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

Step11:最后点击菜单栏的齿轮图标即可生成工程,旁边的按钮用于生成PDF配置报告;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

填写工程名字、保存路径、IDE(这里选Keil),注意堆栈大小;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

在Code Generator选项卡勾选下“为每个外设生成单个的.c和.h文件”以方便工程文件管理;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

一、用户软件
生成工程后,使用Keil打开。
要想使用C标准输出函数printf需要把它重映射到串口1,在uart.c文件添加如下代码即可,另外需要注意下Keil选项卡需勾选微库(默认是勾选了的);
#ifdef__GNUC__
/* WithGCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
set to'Yes') calls __io_putchar() */
#definePUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#definePUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /*__GNUC__ */
/**
* @briefRetargets the C library printf function to the USART.
* @paramNone
* @retvalNone
*/
PUTCHAR_PROTOTYPE
{
/* Placeyour implementation of fputc here */
/* e.g.write a character to the EVAL_COM1 and Loop until the end of transmission */
HAL_UART_Transmit(&huart1,(uint8_t *)&ch, 1, 0xFFFF);
returnch;

}

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

在mxconstants.h文件添加LED控制宏定义;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

最后在freertos.c文件添加用户代码,一共3个任务,LED1(红色)每隔200ms翻转,LED2(绿色)每隔1000ms翻转,串口每隔500ms打印字符串;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

还需在freertos.c开头添加3个头文件,否则编译报错;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...

编译,烧录好后,打开串口调试助手,设置对应参数,按一下板卡上的黑色复位键,程序开始运行,可看到三个任务“同时并行”运行;

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED ...

全网首发,STM32F769I-DISCO评测&机智云物联网智能硬件云服务体验系列之(七)使用STM32CubeMX快速配置LED  ...


总结:使用STM32CubeMX的确方便

附件:

1.工程源码:
STM32F769I-DISCO-Demo-FreeRTOS-LED&UART.part01.rar (2 MB, 下载次数: 26)

评分

参与人数 1ST金币 +30 收起 理由
zero99 + 30

查看全部评分

<
回复

使用道具 举报

6

主题

72

回帖

0

蝴蝶豆

高级会员

最后登录
2020-12-7
发表于 2016-11-20 21:56:36 | 显示全部楼层
666,评测都开始发出来了,板子哪里搞的?我也想搞一块
回复 支持 反对

使用道具 举报

64

主题

744

回帖

23

蝴蝶豆

实习版主

最后登录
2020-12-8
 楼主| 发表于 2016-11-20 23:45:44 来自手机 | 显示全部楼层
at89 发表于 2016-11-20 21:56
666,评测都开始发出来了,板子哪里搞的?我也想搞一块

社区活动
回复 支持 反对

使用道具 举报

1182

主题

3785

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-3-17
发表于 2016-11-21 13:18:22 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

4

主题

484

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-8-12
发表于 2016-11-22 07:16:45 来自手机 | 显示全部楼层
谢楼主分享
回复 支持 反对

使用道具 举报

59

主题

1666

回帖

17

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2016-11-22 08:07:35 | 显示全部楼层
什么时间发的板子?太快了!
回复 支持 反对

使用道具 举报

64

主题

744

回帖

23

蝴蝶豆

实习版主

最后登录
2020-12-8
 楼主| 发表于 2016-11-22 12:18:35 | 显示全部楼层
jinglixixi 发表于 2016-11-22 08:07
什么时间发的板子?太快了!

回复 支持 反对

使用道具 举报

74

主题

1368

回帖

194

蝴蝶豆

版主

最后登录
2020-5-12
发表于 2016-11-25 13:21:54 | 显示全部楼层
谢谢分项,有机会一定亲自尝试!!!
回复 支持 反对

使用道具 举报

31

主题

1951

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-12-4
发表于 2016-11-25 13:40:46 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

9

主题

179

回帖

3

蝴蝶豆

高级会员

最后登录
2019-10-28
发表于 2016-11-25 17:31:11 | 显示全部楼层
非常厉害
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版