從零開始創建uCosIII項目(一):建立IAR工程

準備工作:

一、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\CMSIS\CM3\DeviceSupport\ST\STM32F10x
$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
注意不能將Libraries\CMSIS\CM3\CoreSupport\core_cm3.h文件包含進來
icf文件的作用及設置請自行查閱

現在可以編譯一遍了。最後會報5個錯誤如下
下一篇將講解如何順利編譯完成。

看我大招
工程源碼點擊打開鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章