打印
[STM32F1]

从零开始创建uCosIII项目(一):建立IAR工程

[复制链接]
1115|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Bermanrep|  楼主 | 2016-10-18 15:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
准备工作:
一、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:操作系统。

沙发
Bermanrep|  楼主 | 2016-10-18 15:05 | 只看该作者
接下来着重讲述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中对应的排放参照下图所示:

接下来是工程设置







使用特权

评论回复
板凳
Bermanrep|  楼主 | 2016-10-18 15:05 | 只看该作者
$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个错误如下

下一篇将讲解如何顺利编译完成。


使用特权

评论回复
地板
笑鸟007| | 2016-10-18 15:17 | 只看该作者
等待下一篇!

使用特权

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

本版积分规则

22

主题

132

帖子

2

粉丝