学习RTEMS这款RTOS到入门实在是不容易,且这款系统性能等各方面都可以与VxWorks媲美,弃之可惜故而又想把学过的只是捡起来。以前由于课题的需要,曾经在PC104上移植过这款系统。但是由于官方支持力度较大,提供了可以使用的交叉编译工具链,因此在x86系列的硬件平台上移植RTEMS相对比较方便。由于没有自己成功搭建开发环境的经验,因此虽然搞过一年多的RTEMS,但还是不算入门。目前,手头工作相对轻轻,因此想捡起一些以前学过的知识,再次学习使用这款实时操作系统。这次经过反复的权衡,考虑在已经购买的TQ2440开发板上移植曾经学习使用过的RTEMS。等这次成功在TQ2440开发板上移植后,后面还将在STM32F407上进行移植。因为STM32F407的硬件平台可自己设计且成本相对低些,所以在STM32F407进行系统的开发可能自由度、实用价值高些。
那么要想在TQ2440开发板上移植RTEMS需要做好哪些基本工作了?根据前期的调查(主要是看雪松、Etual、知秋一叶等高手的博客)和以往的经验总结了几点:1.开发环境的构建,即交叉编译器的搭建。2.由于TQ2440所使用的嵌入式微控制器是S3C2440,而RTEMS官网提供的是S3C2410的BSP,所以针对S3C2440应当做适当的修改。3.编译并将编译得到的文件.exe或.bin文件放至合适的位置运行。这一点ARM和PC104应当有相当大的差别。
解决了以上几个方面的难点,我们移植的第一个步骤就算是成功了。这一步骤既是比较困难的一步,也是比较关键的一步。那么后面我们还可以做哪些工作了,下面还可以进行的工作有:1.优化搭建的开发平台,使用DDD或者Insight做前端来调试RTEMS。使用tftp、samba、fns等方式实现Linux与windows的文件夹共享。2.把网络跑通。3.在系统里挂上shell。4.移植GUI。5.写一些设备的驱动和测试应用程序等。这些都是一个长期的研究探索的过程,万里长征的第一步先把RTEMS在TQ2440先移植跑通吧。第一个目标:HELLO WORLD!