上一节中,详细介绍了如何使用redboot引导内存中的helloworld程序。也许这时会有人问:如何使用redboot引导flash(如spi接口flash或者外扩NAND FLASH等)中的helloworld程序呢?这个工作我暂还没做,因为还涉及到redboot中flash管理、分区等相关问题。

本节主要介绍另一种方法来启动执行helloworld程序,即把该目标执行程序烧写到stm32内部flash中直接运行(上电或复位后直接运行helloworld程序),无需使用reboot来引导运行。

1. 配置ecos的启动类型为ROM类型

这是关键一步,使用ecos图形配置工具配置ecos的启动类型(Startup type)为ROM类型,如下图所示。

配置ecos启动类型为ROM方式

配置ecos启动类型为ROM方式

2. 重新编译

重新配置ecos启动类型后,重新编译ecos,然后也记得重新编译helloworld程序。编译方法详见:http://velep.com/archives/551.html

3. 把helloworld目标执行文件下载到flash中

使用J-Link或者串口工具把编译后得到目标执行文件hello.bin或者hello.srec下载到stm32内部flash中,注意内部flash的地址,不要弄错了。具体下载方法在这里不再做说明。

4. 重上电或复位启动执行

下载完成后,重新给板子上电或者复位板子,则可在调试串口(COM0)中看到helloworld输出信息,如下图所示。

上电或复位板子后启动helloworld程序

上电或复位板子后启动helloworld程序

5. 总结

至此,通过7,8,9,10等4个章节,我们初步完成了ecos系统的移植,并介绍了采用两种方法来运行我们的helloworld应用程序。到这里,我们应该对ecos的开发有了初步的了解。有木有?

接下来我们还有很多工作需要去完成,如下所述几个方面:

  1. 裁减ecos,按需配置功能组件和软件包,该留则留,不需要的则去掉;
  2. 编写或者移植相关硬件驱动;
  3. redboot中实现对flash的初始化和分区管理;根据之前的观察,redboot中可识别到有哪些flash,但不能执行对flash的初始化和分区管理,如果这一步解决了,则使用redboot引导flash中的用户应用程序则是水到渠成的事了;
  4. 根据应用需要,编写用户应用程序;

以上的工作都是繁琐而复杂,需要一步一步的来做。计划今年一个人完成这些事情。

» 文章出处: reille博客—http://velep.com , 如果没有特别声明,文章均为reille博客原创作品
» 郑重声明: 原创作品未经允许不得转载,如需转载请联系reille#qq.com(#换成@)
分享到:

  14 Responses to “stm32移植ecos #10,移植ecos并成功运行helloworld程序,烧写到内部flash直接运行helloworld程序”

  1. 能将enc28j60网络模块移植上去不?

  2. 兄弟,等哪天你裁个能在stm32f103vc上用的ecos时告诉我一声,我也玩玩

    • 好的啊,不过,不知道要何时啊

      • 其实我之前也了解过ecos,甚至买了本书来看。不过一直没实用,也就不了了之。手头上有块这样的stm32板,不过板上不支持外部sram。如果ecos在stm32上必须要sram才能完整跑起来,那在很多m3芯片上就显得有点鸡肋了,还不如上freertos这些。

        • 那说明你还没了解ecos,可知道,ecos最小可编译到10K以下甚至达到2K。
          问题是,比较最小体积没有任何意义,带上OS后,还是要看应用需求,有些应用如网络协议栈本身就需要较多的RAM资源。
          因此,关键还是要看应用需求!选用什么OS,很多是从应用需求和成本(包括人力开发成本)考虑的。

          • 这倒是,资源不够时,要么换芯片,要么换系统,再要么精简程序。
            兄弟,你能不能精简下,最好能在stm32f103vc上跑,我这正好有个这种板子,我也弄弄。另外,ecos在windows的开发环境不好搭建吧,cygwin这种还是不太方便

Leave a Reply to reille Cancel reply

(必须)

(我会替您保密的)(必须)

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

   
© 2012 velep.com | reille blog | 管理| 粤ICP备15065318号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha

无觅相关文章插件,快速提升流量