完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一 新建工程
这里我的板子是F107互联型的,启动文件按照下图选择cl.s。 二 工程配置 Output的设置,要勾选creatHEX File C/C++选项设置如图 或者 配置完毕后连接出现如下错误 问题分析: 按照报错定位到os_cpu_c.c,如下 这里报错App_TaskDelHook没有定义,可看成OS_APP_HOOKS_EN宏大于0u执行该钩子函数,于是在os_cfg.h中,将该宏设为0,不让改函数执行,如下 编译连接成功。 其实这里钩子函数我们一般不使用,将其注释掉也可以,或者另外找个c文件,将其定义为空函数也应该是可以的。 报错如下时 同样的道理解决,如下 三 初始化滴答 四 滴答中断配置 五 系统裁剪 5.1 配置os_cfg.h (1)最低优先级 (2)系统每秒滴答数 与系统延时OSTimeDly关系比较重要,OS_TICKS_PER_SEC等于100,调用OSTimeDly(100),相当于延时100个滴答,即延时1秒 (3)任务堆栈 如果RAM资源有限,任务堆栈的大小最好根据任务评估一下,资源有限时不要太大,也不能小于程序正常运行。 5.2 配置os_cpu.h (1)OS数据类型 这是为系统定义相关的数据类型,这里不修改 (2)临界区 默认使用临界区第三种模式,这主要与os_cpu_SR_Save()函数有关,这里不修改 (3)函数声明 5.3 配置os_cpu_a.asm (1) 全局声明 extern声明的是外部(其他源文件)定义的变量和函数,Export声明的是本文件定义的函数,供其他源文件使用。 这里修改如上,主要是为了兼容ST标准外设库启动代码(startup_stm32f10x_cl.s)。如下图,这里是启动代码中的中断向量表 (2)PendSV_Handle PendSV_Handler中断函数定义这块,将OS_CPU_PendSVHandler改为PendSV_Handler,跟上面一样是为了兼容ST标准外设库的启动代码。 5.4 配置os_cpu_c.c (1) 系统滴答 在app_cfg.c中配置系统滴答,下图定同于注释掉 这些都是SysTick系统滴答的宏定义和函数体,我们使用M3标准(ST库)的SysTick系统滴答函数接口,因此屏蔽掉里面Systick的相关定义。 5.5 配置app_cfg.h与app_cfg.c (1)任务优先级和堆栈 app_cfg.c位于App下面,主要用于系统应用的配置。 在app_cfg.h中,建立任务需要对任务优先级和堆栈进行一个定义 (2)系统滴答 在app_cfg.c中 在Core_cm3.h中是SysTick_config定义,其中ticks 代表的是初值。例如系统时钟是72Mhz 那么要产生1ms的时基,那么我们可以这样去写。 SysTick_Config(SystemCoreClock/1000); 当然也可以写成:SysTick_Config(72000); 六 建立任务 这里是应用提供一个函数接口(AppTask1,AppTask2),一旦启动了系统,相应函数就会逐步执行。 在app_task.c中,建立相应任务,如下 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1617 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1543 浏览 1 评论
977 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1595 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 04:10 , Processed in 0.772780 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号