uc/os iii移植到STM32F4---IAR开发环境

Posted 昊天一怪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uc/os iii移植到STM32F4---IAR开发环境相关的知识,希望对你有一定的参考价值。

也许是先入为主的原因,时钟用不惯Keil环境,大多数的教程都是拿keil写的,尝试将官方的uc/os iii 移植到IAR环境。

1、首先尝试从官网上下载的官方移植的代码,编译通过,但是执行会报堆栈溢出警告(为何keil没有报堆栈溢出??),网上有人说不用理会,但是实际使用时发生了错误(定义的常量数组值被改变,怀疑是堆栈溢出导致),发现使用的IAR版本不能完美支持使用的STM32芯片,换用高版本测试。。(高版本正确,与低版本对芯片的支持有关)

2、开始时虽然会堆栈溢出,但是能够进入异常中断,进入之后就死了,后来发现中断定义于中断服务函数名少了一个“_”,坑死。。之后发现uc/os时钟有问题,经跟踪发现初始化时钟时,读取系统工作频率函数返回值错误,手动设定系统频率值后,定时正常(闪灯。。)之后进一步跟踪发现是读取系统时钟函数调用了一个常量数组,但是数组值被莫名改变导致读到的数据不对,即1中所述怀疑是堆栈溢出。

3、重点:中断向量表修改,中断服务函数修改

以上是关于uc/os iii移植到STM32F4---IAR开发环境的主要内容,如果未能解决你的问题,请参考以下文章

uC/OS-II在STM32F103上的移植

基于STM32的uc/OS系统移植及用Saleae Logic 16抓取分析波形

uC/OS-III 概要

STM32开发 -- UCOSII移植

STM32开发 -- UCOSII移植

STM32开发 -- UCOSII移植