设为首页 加入收藏

TOP

RTEMS 4.9.5 在 MINI2440 QEMU的移植
2014-11-24 08:22:45 来源: 作者: 【 】 浏览:1
Tags:RTEMS 4.9.5 MINI2440 QEMU 移植

在看本文之前,大家还是要先补习一下看看什么是RTEMS。


对RTEMS感兴趣,源于我对ecos的microwindows的移植,看到里面有这个字符串,


等我从网络搜索到的时候,才发现是一个评分比vxwork还高的嵌入式系统,对于RTEMS的学习本人还在继续。


本文只是入门级别的移植文章,走运的是基本移植成功。


我只是通过patch的方式罗列了一下移植过程,很多技术细节还需要和网友们一起推敲,欢迎大家质疑,我会及时回复。


1. 移植怎么开始


既然是移植,就是把其他地方生长好的枝叶剪裁并且嫁接到新的地方。


有了ecos的经验,就知道smdk2410到mini2440比较容易。


我依旧很走运,在RTEMS的bsp中找到了smdk2410的影子。


于是,剪切复制为mini2440,本人不喜欢在原smdk2410的上面去改代码,


索性直接把创建的mini2440的目录里面的所有smdk2410的信息全部更新为mini2440。


然后,我开始安装,


cd /rtems/rtems-4.9.5/rtems-4.9


./bootstrap -c


./bootstrap


cd ~/rtems/rtems-4.9.5/rtems-build


~/rtems/rtems-4.9.5/rtems-4.9/configure --target=arm-rtems4.9 --disable-posix --disable-itron --disable-cxx --enable-networking --enable-rtemsbsp="mini2440" --enable-tests=samples --prefix=/opt/rtems-4.9


结果当然是失败的,因为config的过程就提示我的mini2440 不是有效的bsp,于是淡定了下来。


阅读New BSP porting的文档。


2.MINI2440 BSP的框架搭建


首先创建 mini2440 cfg文件


--------------------------- make/custom/mini2440.cfg ---------------------------


new file mode 100644


index 0000000..390cdab


@@ -0,0 +1,20 @@


+#


+# Config file for ARM smdk2410


+#


+# $Id: smdk2410.cfg,v 1.1 2008/05/06 20:59:23 joel Exp $


+#


+


+include $(RTEMS_ROOT)/make/custom/default.cfg


+


+RTEMS_CPU=arm


+RTEMS_CPU_MODEL=s3c2410


+


+# This is the actual bsp directory used during the build process.


+RTEMS_BSP_FAMILY=mini2440


+


+# This contains the compiler options necessary to select the CPU model


+# and (hopefully) optimize for it.


+CPU_CFLAGS = -mcpu=arm920t -DCPU_S3C2410 -mstructure-size-boundary=32


+


+# optimize flag: typically -O2


+CFLAGS_OPTIMIZE_V = -O2 -g


在Make file中添加


------------------------------- make/Makefile.am -------------------------------


index 1649992..8e863f6 100644


@@ -34,6 +34,6 @@ EXTRA_DIST += custom/Cygwin-posix.cfg custom/FreeBSD-posix.cfg \


custom/ods68302.cfg custom/pc386.cfg custom/posix.cfg \


custom/psim.cfg custom/rtl22xx.cfg custom/score603e.cfg \


custom/shsim.cfg custom/ts_386ex.cfg custom/nds.cfg \


- custom/smdk2410.cfg


+ custom/smdk2410.cfg custom/mini2440.cfg


BSP中的添加


---------------------- c/src/lib/libbsp/arm/acinclude.m4 ----------------------


index 435840f..d8e1d51 100644


@@ -12,6 +12,8 @@ AC_DEFUN([RTEMS_CHECK_BSPDIR],


AC_CONFIG_SUBDIRS([gba]);;


gp32 )


AC_CONFIG_SUBDIRS([gp32]);;


+ mini2440 )


+ AC_CONFIG_SUBDIRS([mini2440]);;


nds )


AC_CONFIG_SUBDIRS([nds]);;


rtl22xx )


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇mini2440 qemu 用u-boot 加载 RTE.. 下一篇Linux Devices Driver读书笔记

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python 数据分析与可 (2025-12-26 21:51:20)
·从零开始学Python之 (2025-12-26 21:51:17)
·超长干货:Python实 (2025-12-26 21:51:14)
·为什么 Java 社区至 (2025-12-26 21:19:10)
·Java多线程阻塞队列 (2025-12-26 21:19:07)