準備工作:
一、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中對應的排放參照下圖所示:
$PROJ_DIR$\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc
$PROJ_DIR$\..\..\User
$PROJ_DIR$\..\..\User\BSP
$PROJ_DIR$\..\..\μCOS-III\uC-CPU\Cfg
$PROJ_DIR$\..\..\μCOS-III\uC-CPU\Ports\IAR
$PROJ_DIR$\..\..\μCOS-III\uC-CPU\Source
$PROJ_DIR$\..\..\μCOS-III\uC-LIB\Cfg
$PROJ_DIR$\..\..\μCOS-III\uC-LIB\Ports\ARM-Cortex-M3\IAR
$PROJ_DIR$\..\..\μCOS-III\uC-LIB\Source
$PROJ_DIR$\..\..\μCOS-III\uCOS-III\Cfg
$PROJ_DIR$\..\..\μCOS-III\uCOS-III\Ports\ARM-Cortex-M3\Generic\IAR
$PROJ_DIR$\..\..\μCOS-III\uCOS-III\Source