首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于UCOS_II的问题!

关于UCOS_II的问题!

UCOS_II的书上都有讲,在其汇编文件os_cpu_a.s里,必须有个OSTickISR()函数,其是专门响应定时器中断的。但我发现NIOS_II里面的UCOS_II却没有OSTickISR(), 在altera提供的os_cpu_a.s源文件中根本就找不到这样一个函数。我觉得很奇怪,没有了这个函数NIOS_II下的UCOS_II是怎样工作的呢?其time tick又是从何而来呢?

其实,我是这样想的,因为我之前使用的NIOS2_6.0 IDE不是完全版,里面自然就不带有UCOS_II。(论坛上也有人在问这个问题:为什么他们的IDE下没有UCOS_II,原因就在此)。

而我又发现在NIOS2_4.2的安装目录下的compnent下有UCOS_II的完整源码,特别是altera编写的针对nios2 cpu的三个源文件OS_CPU.H,OS_CPU_A.ASM,OS_CPU_C.C。我们从UCOS_II的教程中了解到,要移植UCOS_II到不同的CPU平台上,只需要修改这三个文件就行了。我想既然altera已经为我们编写好了这三个文件,我们就不用费力去编写了。只需要将这些OS的源码同应用程序放到同一个project下编译,运行就是了。因此这样即使安装的不是NIOS2 IDE的完全版,照样能够自如的使用UCOS_II,最多只是手动编辑一下os_cfg.h文件。

但是我发现我这样做了之后,根本不行,然后我再仔细对照UCOS_II的教程(邵贝贝的书)和altera的OS_CPU_A.ASM文件,发现它与教程所要求的内容不一样,也就是没有OSTickISR()函数,但在4.2的ucos2 template下,其又能正常工作。而我自己拷贝过去的os源码却不行。我对此感到很不解。所以,我想请人帮我解答一下我的困惑,如果我想让拷贝到project的os源码工作,是不是就得编写一个OSTickISR()函数?

[此贴子已经被作者于2007-1-13 13:29:17编辑过]

返回列表