上一篇把Redboot编译好后,还没有把eCos 跑起来,今天接着把后面的部分记录下来。
首先需要编译目标平台的库,我试过用Redboot编译出来的库是不行的,在Configure tool 里面新建一个工程vmware.ecc,然后进入模板选择i386 PC target(vmware) 下的default

正常情况下,这个编译不会有问题,编译完后在vmware_install目录下产生include和lib两个目录,后面程序的编译需要用到。
接下来就是按照eCos的文档来编写应用程序,简单的hello world程序如下:
Makefile:
make完后产生a.out文件,这就是目标平台上的可执行文件,我把他放到TFTP 的根目录。
启动Redboot,由于在编译Redboot时已经指定了平台IP和Server IP,所以直接执行
load a.out
go

可以看到hello world打印出来了!
如果细心的话可以看到程序的入口点(Entry point)是0X00108000,而系统的可用内存是在0X00089090-0X000A0000,这个是在遇到一个问题后改了Redboot编译选项出来的,具体是参考网上一编文章,把Redboot ROM Monitor -> Build RedBoot ROM ELF image -> validate RAM addresses during load 这个选项去掉,至于是为什么,我也还没有想到,希望知道的人可以告诉我。
在需拟机上跑通eCos只是第一步,下一步是要在一块ARM的目标板上跑起来,所以,路还很长。。
eCos 3.0: 编译、运行与Hello World
本文档记录了在VMware平台上编译和运行eCos 3.0的过程。首先,创建针对VMware的工程并生成include和lib目录。然后,编写一个简单的Hello World程序,并编写Makefile进行编译。最后,通过Redboot加载并运行该程序,成功在虚拟机中看到'Hello, eCos world!'的输出。"
42120231,4853931,protobuf编译教程,"['protobuf', '协议缓冲区', 'C++', 'Java', 'Python']
1169

被折叠的 条评论
为什么被折叠?



