社区导航

 

搜索
查看: 335|回复: 4

[讨论] 我的单片机开发之路(六)

[复制链接]

803

TA的帖子

2

TA的资源

纯净的硅(中级)

Rank: 5Rank: 5

发表于 2019-10-5 17:46 | 显示全部楼层 |阅读模式

在我努力专研ucLinux的时候同时也对嵌入式实时操作系统产生了兴趣。最早接触的实时操作系统是uC/OSⅡ。那时是通过邵贝贝老师翻译的《嵌入式实时操作系统uCOS-II》一书开始的。这本书对嵌入式操作系统进行了十分详尽的介绍。通过这本学习了很多操作系统的知识。同时也认识了uC/OS系统。我最先是通过虚拟机学习uC/OS的,记得uC/OS好象是通过DOS启动的。不注意还以为uC/OS就是一个DOS任务呢!可惜虚拟机没有丰富的外设,体现不出实时操作系统的特点和优势。于是我就在S3C44B0X开发板上试着调试uC/OS的例子。虽然磕磕绊绊的但是我还是坚持了下来。通过uC/OS体会到了实时操作系统编程的益处。在2006年时,使用操作系统却是很“奢侈”的设计。那时行业主要使用的还是8位的单片机。使用系统是需要很多的内存资源的。而且8位单片机的速度也不行。你弄个系统来跑数码管之类的应用,你会发现没怎么开几个任务数码管刷新就不正常了。更别说UART这些应用了。所以直到2007年中ARM Cortex M为核心的单片机大规模出现以后,使用操作系统就变得很便利了。现在,只要可能我是尽可能的使用实时操作系统来写程序。甚至有点不习惯使用“前后台程序”了。虽然最早接触的是uC/OSⅡ,但是使用最早的实时操作系统是一个叫“CoOS”的国产操作系统。 因为这个系统是开源和免费的系统。当时还有一个专门的网站介绍推广该系统。网站上有很多的中文资料,介绍的还很专业且也比较详尽。记得新唐科技(Nuvoton)还有一个搭载该系统的开发工具。最低可以使用Cortex M0内核的单片机。我没有使用过新唐Cortex M0单片机也就不了解CoOS在M0内核上的表现了。移植CoOS我主要使用的是NXP的LPC1768。这是一个Cortex M3内核的单片机。性能还说的过去,就是价格有点贵。CoOS系统和uC/OS程序规模差不多。功能对于我也够用,还曾经将lwIP和ucGUI移植到该系统上。但是很可惜这个系统后来不知道被什么公司收购了,也就不在继续开源了。这个系统我也只做了一个产品就不在使用了。虽然很多公司对于版权不够重视。但是也不敢明目张胆的挑战“知识产权”。现在主要使用的是freeRTOS了。对于freeRTOS系统我个人感觉系统不复杂的情况下还是很不错的。如:我用STM32F407做的一款带网路的产品,已经运行了有几年了,一直还算稳定。只是偶尔出现重联的现象,对freeRTOS的表现还是较信赖的!以我的经验来讲对于比较复杂的系统,比如:我开发过的一个“数采仪”系统,在一个系统中有图形实时显示、网络传输、文件存储等应用时,感觉freeRTOS还是有一点点吃力。但是还能跑的起来。也可能是单片机系统性能的问题或者是内存紧张的原因。所以我建议象这样比较复杂的应用还是上大型的操作系统。对于linux我还在继续努力的路上。
 



回复

使用道具 举报

472

TA的帖子

2

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2019-10-6 07:59 来自手机 | 显示全部楼层
跟帖


回复

使用道具 举报

2627

TA的帖子

0

TA的资源

纯净的硅(初级)

Rank: 4

发表于 2019-10-10 13:17 | 显示全部楼层

顶一个

为江山踏坏了乌骓马,为社稷拉断了宝雕弓。


回复

使用道具 举报

101

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2019-10-17 17:14 | 显示全部楼层

顶一个



回复

使用道具 举报

1400

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2019-10-25 15:29 | 显示全部楼层

分个段落该有多好啊



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /5 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-11-19 00:12 , Processed in 0.166286 second(s), 16 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表