通用嵌入式操作系统
Linux
WinCE
μC/OS-II
VxWorks
ecos
μClinux(类似Linux)
palm os(PDA)
网络操作系统
Tinyos
contiki
OSAL(Z-Stack)
路由操作系统
Open-WRT
DD-WRT
HyperWRT
Tomato
FreeWRT
微型操作系统
Small RTOS 51
Rtems
FreeRTOS
网络通信协议
uIP
6lowpan
uc/IP
lwIP
freakz协议栈
免费的OS:
Rtems
ecos
Tinyos
FreeRTOS
收费的OS:
WinCE
μC/OS-II
VxWorks
OSAL(Z-Stack)
带GUI的OS:
Rtems (Microwindows/Nano-X)(POSIX API)
ecos (Linux兼容的API)
Linux (QT/KDE)
不带GUI的OS:
contiki
Tinyos
FreeRTOS
OSAL(Z-Stack)
找到这么多嵌入式操作系统,感觉自己还有好长好长的路要走。但是这也太多了,那就计划在以后学习的一部分。
Linux是必须学的,这是不能含糊的。对于Linux需要学到什么程度呢?驱动层,至少要能写Linux下的三大驱动吧。Linux太庞大了,不是很适合去学习内核源码。所以,学到Linux移植,以及Linux下RootFS、Busybox等等的一系列软件移植。这样的程度就OK了。
VxWorks直接放弃吧,好是好。不过太贵了,感觉没什么市场。毕竟我们都还是穷人,而且现在开源的项目那么多,肯定能有替代的。
μC/OS-II要是有时间久学学怎么移植。其余的也没太大意义,毕竟商用的μC/OS-II也是要付钱的。
contiki 以后的嵌入式行业我感觉会是网络的天下,无所不连。而且受限于嵌入式设备本身的资源,想用上完整的TCP/IP协议那完全是在开玩笑。那么对于协议栈的学习也就是必须的了,现在contiki 在国内刚刚起步,而且它是开源的,对于其中的网络部分的源代码是能直接学习的。而且假如以后能达到自己写协议栈的高度的话,那也是相当的有帮助的。就算不能达到那样的高度,学了之后写写通信的代码也会顺手很多的吧。
说道通信,那么说说为什么不选择学学ZigBee。ZigBee属于半开源的形式,扭扭捏捏的,还不能移植,只能用那几款CPU。完全没有性价比。
然后,对于路由操作系统。这些系统应该都是在Linux内核上打起来的吧?没有具体的了解过,不过所想应该是这样的。对于刚刚接触嵌入式的童鞋来说,以这个入门会比用Linux或者UC/OS 入门来得轻松。不过我现在应该算入门了吧,所以这个东东就比上不足比下有余了。要是学操作系统,那直接就是Linux,学通信协议直接contiki。
好的,那总结下。我以后的学习流程是怎样的呢、
contiki 软件设计 -- 因为毕业设计的需要,硬是让我把用Z-Stack改成contiki了。嘿嘿
Linux 移植 -- 感觉毕业后的工作应该还是从Linux开始,而新手总是不会做一些核心的东西。那就做各种移植吧。感觉需要花一年到一年半的时间。
Linux 驱动 -- 时间上应该合适了,这时候再来linux的驱动。要是完美的结束,对于Linux的熟悉就已经OK了。感觉会用两年到三年的时间
Linux 整合/协议栈 -- 这时候自己应该对于整个系统都得心应手了吧,那到底是协议栈还是Linux整合都可以的。感觉一年的时间久可以了。
好的,技术生涯的长度。到这里也差不多结束了。总要做一些轻松的事情了。而且对于积累也足够让我选了吧。到时候是选做系统管理还是人员的管理就不清楚了。毕竟离现在太遥远。如果是管理设备的话,那差不多得要有系统架构师的水平才行。做一些组网之类的宏观上的东东吧。
嘿嘿,感觉未来还是很美好的嘛!