能谈谈你们的项目吗,以及为何要使用UCOS_II?其对整个设计的性能有何影响?
[此贴子已经被作者于2007-1-13 12:32:06编辑过]
zuoliang,
ucosII作为嵌入式系统的一种操作系统和nios的硬件系统没有必然的关系。在nios5.1上有ucos的软件template可以用,使用也很简单。如果想了解ucos系统,网上有很多资料。
如果有具体需要讨论的,可以说详细些。
good luck
caopengly
你好,caopengly
不知你对NIOS2下的ucos2 template熟悉吗?最近看altera 集成在其开发环境中的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下的ucos2 template是怎样工作的?
[此贴子已经被作者于2007-1-13 13:03:26编辑过]
其实,我是这样想的,因为我之前使用的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:27:31编辑过]
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |