K8000越野电动绞盘 G9000越野电动绞盘 N12000专业电动绞盘 N15000工业电动绞盘 H12000工业液压绞盘 H15000工业液压绞盘 K5000P便携式电动绞盘
K8000 越野绞盘 G9000 4WD绞盘 N12000 专业绞盘 N15000 救援绞盘 H12000 工业绞盘 H15000 工业绞盘 K5000P 便携式绞盘

嵌入式操作系统UC/OS和UCLinux比较

排行榜 收藏 打印 发给朋友 举报 来源: 豆豆网   发布者:网络转载
热度853票  浏览50次 时间:2010年3月31日 00:07
工业绞盘

  ·处理器的c编译器能产生可重入代码,且用c语言就可以打开和关闭中断;

  ·处理器支持中断,并能产生定时中断;

  ·处理器支持足够的ram(几k字节),作为多任务环境下的任务堆栈;

  ·处理器有将堆栈指针和其他cpu寄存器读出和存储到堆栈或内存中的指令。

  在理解了处理器和c编译器的技术细节后,uc/os的移植只需要修改与处理器相关的代码就可以了。

  具体有如下内容:

  ·os_cpu.h中需要设置一个常量来标识堆栈增长方向;

  ·os_cpu.h中需要声明几个用于开关中断和任务切换的宏;

  ·os_cpu.h中需要针对具体处理器的字长重新定义一系列数据类型;

  ·os_cpu_a.asm需要改写4个汇编语言的函数;

  ·os_cpu_c.c需要用c语言编写6个简单函数;

  ·修改主头文件include.h,将上面的三个文件和其他自己的头文件加入。

  (2)uclinux的移植

  由于uclinux其实是linux针对嵌入式系统的一种改良,其结构比较复杂,相对 uc/os,uclinux的移植也复杂得多。一般而言要移植uclinux,目标处理器除了应满足上述uc/os应满足的条件外,还需要具有足够容量(几百k字节以上)外部rom和ram。

  uclinux的移植大致可以分为3个层次:

  ·结构层次的移植,如果待移植处理器的结构不同于任何已经支持的处理器结构,则需要修改linux/arch目录下相关处理器结构的文件。虽然uclinux内核代码的大部分是独立于处理器和其体系结构的,但是其最低级的代码也是特定于各个系统的。这主要表现在它们的中断处理上下文、内存映射的维护、任务上下文和初始化过程都是独特的。这些例行程序位于linux/arch/目录下。由于linux所支持体系结构的种类繁多,所以对一个新型的体系,其低级例程可以模仿与其相似的体系例程编写。

  ·平台层次的移植,如果待移植处理器是某种uclinux已支持体系的分支处理器,则需要在相关体系结构目录下建立相应目录并编写相应代码。如mc68ez328就是基于无mmu的m68k内核的。此时的移植需要创建 linux/arch/m68knommu/platform/ mc68ez328目录并在其下编写跟踪程序(实现用户程序到内核函数的接口等功能)、中断控制调度程序和向量初始化程序等。

  ·板级移植,如果你所用处理器已被uclinux支持的话,就只需要板级移植了。板级移植需要在linux/arch/?platform/中建立一个相应板的目录,再在其中建立相应的启动代码crt0_rom.s或crt0_ram.s和链接描述文档rom.ld或ram.ld就可以了。板级移植还包括驱动程序的编写和环境变量设置等内容。

  结语

  通过对uc/os和uclinux的比较,可以看出这两种操作系统在应用方面各有优劣。 uc/os占用空间少,执行效率高,实时性能优良,且针对新处理器的移植相对简单。uclinux则占用空间相对较大,实时性能一般,针对新处理器的移植相对复杂。但是,uclinux具有对多种文件系统的支持能力、内嵌了tcp/ip协议,可以借鉴linux丰富的资源,对一些复杂的应用,uclinux具有相当优势。例如cisco 公司的 2500/3000/4000 路由器就是基于uclinux操作系统开发的。总之,操作系统的选择是由嵌入式系统的需求决定的。简单的说就是,小型控制系统可充分利用uc/os小巧且实时性强的优势,如果开发pda和互联网连接终端等较为复杂的系统则uclinux是不错的选择。

顶:48 踩:80
对本文中的事件或人物打分:
当前平均分:-0.42 (238次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.52 (229次打分)
【已经有258人表态】
65票
感动
26票
路过
21票
高兴
27票
难过
33票
搞笑
24票
愤怒
33票
无聊
29票
同情
上一篇 下一篇
工业电动绞盘液压绞盘汇总

欣宇时代

    消防绞盘

欣宇时代

    拓松汽车户外网


    中国汽车绞盘网


    中国宠物医师网