header
×
单片机 > 单片机程序设计 > 详情

RTEMS在S3C2440上的移植-(3)

发布时间:2020-09-03 发布时间:
|

    TQ2440硬件平台的RTEMS系统BSP的移植--上


    前面的实验、记录是关于交叉编译工具链(或叫做开发环境)的构建。当交叉编译工具链搞定以后,接下来就进入到第二个难关,修改适合TQ2440开发板的BSP了。该环节是前文提到的三个环节中最为复杂的一个环节,需要掌握一些Linux方面的基础知识(eg:shell命令、makefile等)、RTEMS的代码结构、硬件S3C2440平台的应用等。当然如果在基础知识有不足,可以到网上参考Etual、雪松、fishOnFly等高手的博客。照着他们的博客基本就可以完成RTEMS在TQ2440上的移植,参照Etual、fishOnFly的笔记,我做的具体步骤有:


    1.对libbsp/arm/acinclude.m4文件进行修改,由于我们将要增加TQ2440的BSP,因此在该文件中应当相应的增加一项,具体可参照前面的模板。如


    TQ2440 )

      AC_CONFIG_SUBDIRS([TQ2440]);;


    当然也可以只保留这一项,其余的选项都删除。


    2.复制smdk2410目录并改名为TQ2440。


    3.将gp32目录下的console、smc、start目录复制过来到TQ2440目录下,gp32/include目录下的文件也复制过来覆盖掉原来的。另外还有一个文件startup/bspstart.c也复制过来。


    4.对TQ2440目录下的makefile.am进行修改。凡是有gp32的都修改过来,比如:

    include_HEADERS = ../gp32/include/bsp.h改成:

    include_HEADERS = include/bsp.h


    5.对/make/custom/目录下的文件修改名为TQ2440.cfg。


    6.下面就可以对该BSP进行编译了。至于对包含新增BSP的RTEMS源码编译工作有两种方案。一是使用官方镜像中给的build_bsp的脚本,一是自己在shell命令行中敲命令。这里我是采用的第二种方法:


    //pre-config


    cd rtems-4.10.2(网上下载源码解压后形成的目录)


    ./bootstrap -c


    ./bootstrap -p


    ./bootstrap(等待的时间较长)


    //configure


    cd ..


    mkdir b-TQ2440


    cd b-TQ2440


    rm -rf ./*


    ../rtems-4.10.2/configure --target=arm-rtems4.10 --disable-posix --disable-networking --disable-cxx --enable-rtemsbsp=TQ2410(等待的时间较长)


    //compile


    make(等待的时间较长)


    至此编译工作完成,如果编译过不了可以慢慢往上找原因。接下来是修改BSP,然后进行编译的安装,make install。


    7.完成以上工作过程中碰到的问题。


    7.1我是在官方提供的镜像centos6.2里做以上工作的,该镜像本省给用户提供的是rtems-4.11的版本。由于我之前在这个4.11的版本上按照Etual、fishOnFlay的博客进行TQ2440的RTEMS移植时,始终不能完成移植工作,操作的步骤几乎都一样,然后我抱着试试的想法,准备在rtems-4.10上移植。在4.11的版本上安装autoconf和automake的RPM包始终装不上。


    7.2在4.10的版本上安装7个arm的RPM包时,提示缺少文件。这里可以参考Etual大牛的一篇文章(centos平台的RTEMS编译安装)对缺少的几个文件进行安装之后7个包即可正常安装,并且在改版本下autoconf和automake的RPM包也可以正常安装。


    7.3进行./bootstrap时提示autoconf没有安装或版本过低。关于这个错误的解决也是有Etual大牛指点后搞定的,工具链放在path的最开头。(这个问题的解决在Etual的RTEMS 4.11工具链安装一文中也有具体解决方法)于是结合Etual大牛的博客做了以下修改搞定问题。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
步进电机正反转程序
footer