到这里,代码部分就修改完毕了,还需要修改该的就是Autotools的宏和链接脚本。
为了宏生成速度快,我把其他所有无关的BSP全部删除了。
Autotools宏的修改相对比较简单,文件位置参考以上的连载,有贴出具体目录下的文件。
这里首先修改:
c/src/lib/libbsp/arm/acinclude.am
这个文件修简单,相当于case语句一样,增加一个case语句的分支。让M4宏可以处理该BSP的configure和make.
c/src/lib/libbsp/arm/at9260/Makefile.am
c/src/lib/libbsp/arm/at9260/configure.ac
c/src/lib/libcpu/arm/Makefile.am
c/src/lib/libcpu/arm/configure.ac
再来看看链接脚本。
这个链接脚本是我带以太网缓冲区的链接脚本,但并不影响不带以太网程序的使用。
AT9260的板子上提供了64MB的内存。
虽然AT9260的内部有两个4KB的SRAM,但我尝试使用这两个SRAM,总有这样或者
那样的运行时刻问题,我一怒之下,全部使用SDRAM。没有深究用SRAM为什么会有问题,
前后没有改什么代码,就是调试以太网时,以太网缓冲区在SRAM里转到SDRAM中。
这个问题先记下,还是要再查查。
这一切全部修改该完毕后,我们就开始编译啦,首先进入开发系统:
export PATH=/opt/rtems-4.9/bin:$PATH
然后进入顶层的源代码目录夹,运行以下三条命令:
./bootstrap -c
./bootstrap -p
./bootstrap
注意提示,如果出现异常请检查我们改写的autotools的宏是否有问题。
然后建立一个at9260文件夹用于编译。
mkdir at9260
cd at9260
../configure --target=arm-rtems4.9 --disable-posix --disable-cxx --disable-networking --enable-rtemsbsp=at9260 --prefix=/opt/rtems-4.9
make
make install
如果编译成功,恭喜,那我们可以从官方网站上下载个例子来试试了。
如果没编译成功,请不要放弃,仔细检查每个环节,是否是哪里出问题了。如果是编译的过程中出问题,请仔细检查代码,一点点修改。
如果您对我说的方法有异议,请联系我。谢谢。
下回聊聊如何搞定 Helloworld!!!