打印
[STM32F4]

在CubeF4 库上移植 uCOS-III的 一个问题

[复制链接]
1419|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kokoromi|  楼主 | 2017-3-2 16:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用官方的CubeMX软件通过CubeF4库生成了一个基本的模版,只配置了RCC相关的功能,在移植系统的时候,有三个问题想请教大家:

1、参照原子的资料,问题主要在uC提供的bsp.c上,原子的资料上说只保留BSP_CPU_ClkFreq这个函数,其他都删掉了,但是里面有个函数 BSP_Tick_Init 这个是初始化 systick系统定时器的,删掉这个是因为 HAL库也有这个函数的原因吗? 但是这个函数用到了 OS_CFG_APP.H 文件里的 OS_CFG_TICK_RATE_HZ 宏,如果把这个uC提供的函数删了,用HAL的函数,那么这个配置宏岂不是没用了?要设置systick的频率就只能直接在HAL库的函数里改了吧? 这块没太明白。有知道咋回事的吗?


2、我看了CubeMX生成的代码,在main函数里,调用了 HAL_Init  和 SystemClock_Config 函数,但是这两个函数里都有对 systick系统定时器的配置,这不是重复了吗,这么做具体有什么其他的含义吗?


3、system_stm32f4xx.c 这个文件里有个函数 SystemInit 应该是初始化时钟的吧,这个函数是在系统复位后在复位处理程序中调用的,这个函数和 刚才main函数中的系统时钟设置不也是重复的吗?不能在SystemInit 里面一次性设置完吗,为什么要重复设置系统时钟? 还有这个文件里定义了一个变量 SystemCoreClock,而且初始化为 16M,有个函数 SystemCoreClockUpdate 专门用于更新这个变量的,但是这个函数在 HAL库中有调用吗? 在main函数里的时钟初始化里也没看到这个更新时钟变量的函数,这个函数有啥用?











沙发
zoomdy| | 2017-3-2 19:04 | 只看该作者
用CubeMX把FreeRTOS勾上就可以了,没那么多事,还没有版权问题。

使用特权

评论回复
板凳
whtwhtw| | 2017-3-2 22:52 | 只看该作者
CubeMX既然集成FreeRTOS干嘛还用UCOSiii,其实差不多,转型吧。
如楼上所说,勾上就能用,什么都不用做,需要函数勾勾选选就有了

使用特权

评论回复
地板
suzhanhua| | 2017-3-2 23:12 | 只看该作者
这个自带的系统库吗

使用特权

评论回复
5
suzhanhua| | 2017-3-2 23:13 | 只看该作者
还是使用固件库吧。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

111

主题

344

帖子

3

粉丝