本帖最后由 abofly 于 2015-11-2 18:48 编辑
由于本人目前只接触过一个嵌入式操作系统
μCos,因此本次设计采用了该系统。
新旗舰机的诞生必定导致老款的降价,人们似乎总是在追求最新……,呵呵我也不例外。
操作系统当然想用最新的,直接官网
http://micrium.com/下载
水平有限当然是用官方移植好的例程进行更改,官方例子下载网址
http://micrium.com/downloadcenter/download-results/?searchterm=mp-uc-os-iii-1&supported=true,目前只有
IAR版,熟悉
keil开发环境,只好做开发环境移植
开发环境移植可是个体力活,细心加耐心慢慢改就好,大致过程如下:
第一步,新建工程,代码结构如图
第二步,编译报错,首先解决缺少文件问题
第三步,修改
.S文件,主要错误就是汇编文件
二者支持的一些变量类型的特殊字符不同,
EXTERN -> IMPORT
PUBLIC -> EXPORT
- 在汇编下,KEIL不识别“//”的注释语言,需要用“;”来代替,还有就是一系列的编程规则,注释必须顶头写,代码空一格或是一个“Tab”.
- 修改os_cpu_a.asm
将原来的
RSEG CODE:CODE:NOROOT(2)
改成:
AREA|.text|, CODE, READONLY, ALIGN=2 ;AREA |.text| 选择段
|.text|。
;CODE表示代码段,
READONLY表示只读(缺省)
;ALIGN=2表示
4字节对齐。若
ALIGN=n,这
2^n对齐
THUMB ;Thumb 代码
REQUIRE8 ;指定当前文件要求堆栈八字节对齐
PRESERVE8 ;令指定当前文件保持堆栈八字节对齐
第四步,就是简化
main函数了,不同板子注意底层驱动等
大概就是这个过程
最简单方法,下载
F4的例程,里边有
keil版本的工程,对照其工程文件进行修改,报错定位后找到相似代码段修改
注意:
OS_CPU_PendSVHandler,
OS_CPU_SysTickHandler中断向量的修改。
之前用过
LCD,这次当然也要初始化了,只显示一张图片,未开启
FPU示例工程如附件。