注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
呱呱的个人空间 https://home.eeworld.com.cn/space-uid-43137.html [收藏] [复制] [分享] [RSS]
日志

勉强搞明白了 uC/OS II 的架构

已有 2031 次阅读2008-6-6 13:05

熟悉 uC/OS II 的大侠们请指导一下,我学习的东西还是有一点不太清楚,下面的说法有错误或含糊的地方请指点一二,谢谢啦!
1、uC/OS II 的核心源码是和硬件无关的任务进程管理器,这部分源码不会有任何硬件相关的文件,它们一般放在Source文件夹中;

 2、不同的 CPU 需要编写和 uC/OS II 核心源码配套工作的几个握手文件,这些文件只有os_cpu.h、os_cpu_a.asm、os_cpu_c.c是必要的,另两个是可选的;

3、上述的 CPU 几个握手文件需要自己来写,但 uC/OS II 官方网站有写好的可以下载;它们的区别是:自己可以写的很精简,而官方的为了满足通用性,添加了很多你可能用不到的定义,对初学者来说,看官方的源代码很容易迷糊。如果有必要,还要写相关的板级支持包,它们用于初始化一些 CPU 定义文件之外的硬件外设。

    4、写你自己的任务代码,放在 main()  函数中创建任务并启动它们。app_cfg.h 文件就定义了这些任务的原型和连接参数。下面这张图就指示出这些文件的关系:

        

五、由上图可以看出,uC/OS II 核心只有任务进程管理的内容,除此之外:你需要自己添加 CPU 的定义文件、板级支持包、任务的应用源代码。由这四部分构成整个软件工程,最后连接到目标板来运行。

    六、在 IDE 中构建 uC/OS II 软件工程,你要做的是:

        a、创建新工程;
        b、创建四个文件组;
                 [APP]           用来放你的任务代码和包含了main函数的文件;
                 [BSP]           板级支持包,为特定的硬件系统提供硬件上电初始化和特殊的服务API;
                 [CPU]           为系统所使用的 CPU 提供和 uC/OS II 核心代码握手的文件;
                 [OS_CODE]   这就是 uC/OS II 源代码(官方下载文件包解压后,在Source目录下的所有文件)

        c、首先将  uC/OS II  核心源代码导入相应的文件组;
        d、编写另三个软件组的源代码文件;
        e、编译和调试

    七、注意:据说  uC/OS II 某些定义符和 Keil MDK 不兼容,需要修改,所以我不打算在 Keil 下学习了;官方的例子直接支持 IAR For ARM,在 IAR 下学习将轻松很多;而 IAR 的工程目录扩展定义在工程的 Option 选项下(以前没用过 IAR,看了半天 help 才找到),设置目录是在 C和汇编的标签 Preprocessor 下进行。用户工程目录的根是:$PROJ_DIR$,在这里设置你工程中的四个软件组的目录,不然,许多头文件会报告找不到或无法打开。


评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章