首先是设备模型:
1 大家都知道Linux中有很完备的设备模型,所有设备,总线,驱动都以文件的形式表现在文件系统中。uCos-II有没有类似的设备模型来管理设备呢???
2 如果没有为什么uCos-II不将这样优秀的思想加入到自己的内核中呢,或者别的一些内核机制????
3 是不是uCos-II内核中就只有那些管理任务,时间,内存,以及信号量,消息,中断这些基本的OS特性,而不具备任何总线,外设驱动???
4 比如简单的DMA,uCos-II里面是不是就没有支持???
5 有没有可能为uCos-II也提供同样的进行DMA的接口共驱动程序使用呢???
可能我的思想有点不正常,总想着为什么Linux这么庞大,优秀机制这么多,驱动这么多,支持这么多,为什么uCos-II不吸收这些元素,做类似的设计呢???是不是与应用领域等因素有关???
希望大家能够积极解答我的这些疑惑,只要发言了,就能激起其他人讨论,讨论多了,才能碰撞出思想的火花!!!谢谢~!!!
6 有没有必要或者实际需求:将Linux内核以及驱动支持 转换到uCos-II平台,也就是将;linux驱动转换成uCos-II驱动???
------解决方案--------------------
1 很明确的告诉你没有。
2 定位不一样,UCOS能用在51单片机里面,LINUX不可能。
3 对的
4 UCOS没有这些,DMA是硬件支持,软件要加驱动程序才能用。LINUX内核也没有这些,只是他的驱动支持某些CPU的DMA功能,一个全新的CPU出来,LINUX照样也不支持,过段时间有人写了驱动,也就支持了
5 自已写驱动可以支持某个CPU的DMA了
6 UCOS是个简单的内核,一个星期就可以看完它的代码,你硬要把LINUX的驱动上去,你想大象和蚂蚁怎么可能结婚呢
------解决方案--------------------
这样的工具,我觉得意义不大,希望不要打击你
一般你说的这种情况,我们可以称为驱动程序的移植。一般都是在某个平台上已经有了某个驱动,然后拿过来(源码),修改修改能用就好了。哪有时间写你说的那种工具,太复杂,考虑的问题又多,费力又不讨好