准备工作:
一、IAR的下载及破解
http://blog.sina.com.cn/s/blog_6ad165790101dryx.html
二、STM32F10x_StdPeriph_Lib_V3.5.0
项目中用的是F103
三、uCosIII文件
这里不用官方的内核源文件,需要另外两个模板工程
AN-IAR-Cortex-M3-OS3.zip(网页链接名是‘µC/OS-III Project Template for Cortex-M3 on IAR Embedded Workbench’):
http://micrium.com/downloadcenter/download-results/?searchterm=ft-application-note&supported=true
和‘uCOS-III V3.03.01 uCOS-II V2.92.07在STM32F1移植.zip’中的Micrium_uC-Eval-STM32F107_uCOS-III.zip
http://pan.baidu.com/share/home?uk=286563520#category/type=0(这里下载)
建立IAR工程
现在的IDE都有workspace概念,在IAR中的工程肯定在一个workspace下,一个workspace下可以有多个工程。
新建项目时,可以先建项目也可以先建workspace,保存时需要各保存一次。选择建立一个空项目。
项目文件的归类一定要有规范,方便自己也方便他人。比如我的项目文件排放如下:
Doc:存放项目文档。比如芯片资料,uCos移植手册。
History:存放项目更新版本,遇到问题时,可以对比查找原因。
Libraries:STM32标准库。
Project:工程文件。如果用不同IDE管理源文件,那多一级文件目录还是很有必要的。ewp和eww文件就是保存在Project\EWARMv5文件夹下。
Sample:参考的工程。比如上面提到的两个模板工程。
User:自己编写的文件。
uCOS-III:操作系统。
接下来着重讲述uCOS-III中的文件
1、将Micrium_uC-Eval-STM32F107_uCOS-III\Micrium\Software下的三个文件夹拷贝过来。uC-CPU\ARM-Cortex-M3改成uC-CPU\Ports,c和h文件放在Source文件夹内。另外两个uC-LIB和uCOS-III内的文件照此排放。拷贝Micrium_uC-Eval-STM32F107_uCOS-III\Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\uCOS-III下的cpu_cfg.h和lib_cfg.h两个文件放到对应Cfg文件夹下。拷贝Micrium_uC-Eval-STM32F107_uCOS-III\Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\BSP\IAR下的STM32_FLASH.icf文件到Project\EWARMv5下。
2、将AN-IAR-Cortex-M3-OS3\Micrium\Software\uCOS-III\Templates\IAR\Micrium\uCOS-III-Cortex-M3下的app.c、app_cfg.h和includes.h放到User目录下,os_app_hooks.c、os_app_hooks.h、os_cfg.h、os_cfg_app.h四个文件放到uCOS-III\Cfg文件夹下。关于AN-IAR-Cortex-M3-OS3\Micrium\Software\uCOS-III下的TLS文件可以不用拷贝。
文件的物理位置放好后,其在IAR中对应的排放参照下图所示: