AVR-ucosII初学的一些疑问,会的人请一解疑惑,体谅体谅初学者的痛苦
1.我以前光做单片机时习惯用AVR studio的,我看论坛里都是说用icc的,想问问,是不是在icc上才能做ucosII的?2.相对于单片机直接一个c文件再包含一个开发软件自带的头文件就可以编译,移植操作系统是不是也是只建立一个c文件写程序,然后把ucosII的所有源代码都包含进去(直接或间接)就行了,包括不用更改的:
OS_CORE.c
OS_FLAG.c
Os_mbox.c
Os_mem.c
Os_mutex.c
Os_dbg_r.c
os_Q.c
Os_sem.c
Os_task.c
Os_time.c
Ucos_II.c
Ucos_II.h
OS_CFG.H
INCLUDES.H
以及要更改的:
Os_cpu.h
Os_cpu_A.ASm
Os_cpu_c.c,
是不是这样?
3.为什么我下载源代码都找不到有这三个移植文件:
Os_cpu.h
Os_cpu_A.ASm
Os_cpu_c.c
是不是完全要自己编写?
很多由于感性认识不当造成的误解还需会的人指点迷津,希望能早日学会操作系统,如果不介意可以加我的Q327741577或者发邮件shaquille2003@sina.com交流指教!! 我一样刚学会用ucos,建议你买一本周立功的相关书籍看一看就很容易明白了。有大量的实例和他移植好的模板(不过是ARM7的,完全可以借鉴)。 建议买书 书的全名叫什么??? 我之前上过一下ARM的实验,不知道是老师移植好还是什么的,完全不用改那些驱动,直接写任务..... 用ADS的 对了,还有这两个文件下载的源文件也是没有的:
OS_CFG.H
INCLUDES.H
是不是理论上都得自己编写的? 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 需要根据单片机类型和所选取的编译器重新编写. http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3879792&bbs_page_no=2&bbs_id=3004
上述网页中有"实例下载链接" 是AT90CAN128在ICC编译器下编译成功 ,【2楼】有移植实例下载链接
页:
[1]