|
发表于 2010-4-13 11:55:07
|
显示全部楼层
1.我以前光做单片机时习惯用AVR studio的,我看论坛里都是说用icc的,想问问,是不是在icc上才能做ucosII的?
-----------------------------------------------------------------------
编译器可以根据你的喜好选取,可以是ICC,也可以是GCC,总之随便啦.
2.相对于单片机直接一个c文件再包含一个开发软件自带的头文件就可以编译,移植操作系统是不是也是只建立一个c文件写程序,然后把ucosII的所有源代码都包含进去(直接或间接)就行了,包括不用更改的:
-----------------------------------------------------------------------
内核函数千万不能更改
3.所谓移植,就是更改以下几个函数
os_cpu.h
---------> 定义关中断和开中断的方法以及堆栈的增长方向(堆栈是从低地址向高地址增长 还是堆栈从高地址向低地址增长)
os_cpu_c.c
--------> 编写用户接口以及任务堆栈初始化函数
OSTaskStkInit()
os_cpu_a.s
-------> 硬件驱动 编写移植函数(跟编译器和硬件相关的函数),包括:
OSStartHighRdy()/OSCtxSw()/OSIntCtxSw()/OSTickISR()
os_cfg.h
------>系统裁减配置 定义任务堆栈大小,是否使用邮箱/消息队列 等等
includes.h
3.为什么我下载源代码都找不到有这三个移植文件:
Os_cpu.h
Os_cpu_A.ASm
Os_cpu_c.c
是不是完全要自己编写?
-----------------------------------------------------------------------
是的,尤其是Os_cpu_A.ASm和Os_cpu_c.c 需要根据单片机类型和所选取的编译器重新编写. |
|