我以前有个同事,在8051上用汇编写了小小的kernel,只有几百bytes,<br />我们的应用程序都围绕这个Kernel,其实就是一个定时的scheduler和<br />堆栈管理,这样我们的应用就简化了许多,这是好的方面。<br /><br />许多应用要用文件系统,以太网,这种需要许多资源管理的,<br />OS也是很理想的选择。比如,LPC3000(ARM9),或是Intel以前<br />的386EX,和Xcale,这些芯片使用OS一点不奇怪。<br /><br />还有一种趋势就是ARM7希望用32位代替8位的8051,IVR,这种情况<br />下,内设的32K的Flash,8K的RAM,虽说也有不少通讯接口,如USB,<br />SSP,但如果加个OS就不可理喻了。80%的资源用OS,还有资源用在应用吗?<br /><br />如果有能力用OS,自己维修,灵活应用,那就用OS。也有的人云亦云,<br />因为人家用了,所以我也要用,这就是扯淡了。<br /><br />做终端产品,用户最在乎的是产品的稳定性,而不是听你是不是<br />有OS.许多时候,产品的稳定性不好就是由于不了解OS和其他<br />中断的关系。这样,还不如不用OS.<br /><br />我用过uCOSII,FreeRTOS,RTX,Nucleus,ThreadX,VxWorks,遇到过最难的<br />问题是,在中断服务里调用OS的API,和任务的优先级和堆栈的设置,<br />用不好,调试起来能搞死人。还找出过OS里的Bug。那才叫晕呢?<br /><br /><br /><br /><br /><br /><br /><br />
|