在开发板上常用的比较完整的嵌入系统有Linux, wince, Android。
虽然我们比较擅长Linux方面的开发移植,但我们对wince和Android也都没有什么偏见,你可以看到我们一开始基于Qtopia-2.2.0做了一些简单易用的小程序,后来我们又把它在WinCE上实现了,现在Android才开始,我们将来也会在Android上做类似的开发。
而QtE-4.6.1我们在春节之前就已经准备好了,但后来忙于6410的开发,就把一切2440相关的更新都暂停了,现在6410第一阶段即将结束,我们也将会继续开启2440的更新。当然了,6410也提供了Qt2和Qt4两种系统共存,那是之前2440上的成果。
很多人编译Qt4遇到了段错误的问题,那基本是一个和优化有关的编译器问题,接下来的2440的更新主要是由关于此的:更换编译器和增加Qt4,可能还有内核
无论哪种系统,对我们而言,基于它们的开发都是基本相同的,因为它们都是C, C++或者Java,只不过形式和流程可能有点不同,这就需要花点时间了解和掌握一下,有的系统编译和调试花的时间长,那么开发周期就会长一些。
还有些开发,可能对用户来讲,觉察不到它的存在,但是我们也花了很多时间,主要是考虑到用户体验,这些都是细节之处。在2440上,比如qt2和wince的那些应用程序,界面都是几乎相同的,nboot中更改启动画面,同一个烧写文件适用于多种容量的nand flash,qt中触摸屏和鼠标的共存等等,如果你够细心,就会发现很多。当然,我们在6410上做了更多的这方面设计,目前主要是Bootloader方面有比较大的突破。对于开发板而言,或许能证明一个东西在上面运行就可以了,但我们要面对的是成千上万的用户,需要做的让操作使用的步骤都很简洁易用才行。所以,“能运行”不是我们的目标,“实用,易用”才是我们开发的主要目标。
我们认为每种系统都有它们的用武之地,并不是说做实现一个项目,必须要使用哪一种,这要根据实际情况来选择。对于开发板产品,OS的种类越多,每次更新的的东西就越多,比如一种LCD的参数改变了,那么相应的各种OS的驱动要改,新的烧写文件,新的光盘,新的手册,新的原理图等都要改。看起来很简单的事情,实际做起来是很繁琐的。
先说这些,欢迎讨论