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

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

 


上节,我们介绍了如何编译链接生成helloworld程序。在些基础上,接下来我们就要把这个helloworld程序在stm32板子上运行起来。我使用了两种方法来启动运行这个程序。一种是下章节要介绍的:烧写到内部flash中直接启动运行;另一种则是本节所介绍的:使用redboot引导运行内存中的helloworld程序。

要想使用redboot引导运行内存中的helloworld程序,首先移植好redboot并能成功运行。这已经在stm32移植ecos #4,移植redboot(ROM启动方式)上篇stm32移植ecos #5,移植redboot(ROM启动方式)下篇两篇文章中介绍了。

当然你也可以跳过本章节,直接使用下章节介绍的方法。

下面开始介绍如何实现使用redboot引导运行。 阅读全文 »

 


上一节中,我们介绍了如何配置ecos并编译生成静态链接库文件。在此基础上,本节主要介绍如何编译链接生成helloworld程序。

在ecos源码包中,有一个名为examples文件夹,这个文件夹下面展示了几个ecos的应用例子,其中就包括helloworld程序示例。这几个程序示例很好的展示了用户如何开发自己的应用程序。因此,刚接触ecos时,研究这几个实例是大有裨益的,也是学习ecos的一手材料。

ecos的应用示例

ecos的应用示例

阅读全文 »

 


stm32移植ecos #4,移植redboot(ROM启动方式)上篇stm32移植ecos #5,移植redboot(ROM启动方式)下篇两篇文章中,详细介绍了redboot的移植过程,且烧写到内部flash后可正常启动。

stm32移植ecos #6,redboot的疑问和问题,redboot是必需的吗?文章中讨论了在我们的应用中redboot是否必需的问题。

接下来移植ecos,在此基础上运行一个最基本的helloworld程序。在移植过程中,我先后采用了两种方法并都成功运行。一种方法是在redboot下引导运行内存中的helloworld程序;另一种方法是把映像烧写到内部flash中直接运行它。这两种方式对于ecos而言,只是它的启动类型配置不同而已。

为叙述方便并使读者有的放矢,把ecos的移植步骤分为几个章节分别介绍,读者可以选择的阅读。

本节主要介绍如何配置ecos并编译生成静态链接库文件。

阅读全文 »

 


stm32移植ecos #4,移植redboot(ROM启动方式)上篇stm32移植ecos #5,移植redboot(ROM启动方式)下篇两篇中,详细介绍了redboot的移植过程,且烧写到内部flash后可正常启动。从整个移植过程来看,移植是很简单的。借助ecos模板,几乎不需要太多修改就可以让redboot运行起来。

简单地让redboot运行起来是不够的,我们知道,作为bootloader,其最基本的功能就是用来引导OS,这里就是用来引导ecos系统。那么怎样让redboot来引导我们的ecos系统呢?还有一个我在思考的问题:redboot只是ecos的一个单线程最小系统,而ecos最终是与我们的应用程序链接在一起的,那么,redboot是必需的吗?我们是否不需要redboot就可以一上电直接运行我们的最终目标程序(ecos+应用程序)呢?

怎样让redboot来引导我们的ecos系统

根据我现有ecos的项目经验和嵌入式linux的项目经验,在我看来,redboot引导ecos需要以下几步:

阅读全文 »

 


接上篇:stm32移植ecos #4,移植redboot(ROM启动方式)上篇

6.,设置串口波特率并保存配置

经上述步骤后,接下来我们确定下redboot的启动方式并设置debug串口的波特率。

在ecos图形配置工具configtool界面的配置项窗口(左边的主窗口)中,依次找到:

eCos HAL—>Cortex-M Architecture—>Cortex-M3/-M4 STM32 Variant—>ST STM3210E EVAL Development Board配置项,如下图所示。

image_thumb[24]   image_thumb[34]

阅读全文 »

 


要在stm32上运行ecos系统,首先要让redboot启动起来,然后再去引导ecos的运行。本节主要介绍在stm32开发板上移植redboot并让其从CPU内部flash启动。

redboot的作用

redboot是ecos的一部分,具体的说,它是ecos系统的一个最小实现,主要用作bootloader,用于引导OS的启动。可以引导的OS不仅仅是ecos本身,还包括像linux等其它操作系统。

说起bootloader,很多人可能马上就联想到了u-boot,是的,你现在可以把redboot视为像u-boot一样的东西。

为什么要从CPU内部ROM启动

之所以移植的redboot从CPU内部flash启动而不是从内部RAM或者外部SRAM启动,主要是移植步骤最简单,几乎不需要做任何的修改就可以运行起来。

移植redboot到stm32开发板

1.,如果没有搭建好ecos开发环境的,请阅读这篇文章:ubuntu9.10中安装eCos并建立eCos开发环境

2,打开ecos图形配置工具configtool,如下图所示。

下图中,左边窗口为ecos的配置项窗口,右边窗口从上到下分别为:冲突提示窗口、配置项属性窗口、配置项说明窗口。

阅读全文 »

 


上一篇中,介绍了自己选购开发板的过程,并进行了一点点总结。本篇文章,说明下我选购的stm32开发板的配置信息。作为后续移植ecos的硬件参考。

我最后选购的是安富莱stm32开发板(V2标准版本),主要的硬件配置信息如下图所示。

image

存储器的设计如下图所示:

阅读全文 »

 


当前市场上,stm32开发板一大堆,看着让人眼花缭乱,而且质量参差不齐,要选一款适合的开发板,还真不容易。经过一段时间在淘宝上的选择和比较,总结如下。

stm32开发板厂家

在淘宝上销售stm32开发板的主要集中在这几家:原子、野火、奋斗、红牛(还有火牛、金牛,让你傻傻分不清楚)、神舟、安富莱等。这些厂家大多数属于小公司、团体、工作室或者个人性质。相比三星2410/2440开发板而言,stm32开发板所要求的技术、生产、成本、服务支持、人员配置等方面门槛和要求都较低,从而使STM32开发板呈现百开齐放、竞争激烈的态势。

开发板价格

从淘宝上看各家的stm32F103XX开发板,视不同的硬件配置,价格在200~400RMB之间。一般带LCD的开发板都在300RMB左右。

阅读全文 »

 


作为eCos推广计划一部分,会将eCos移植到当前非常流行的stm32处理器上,在此基础上,展开一些应用开发设计,并提供工程模板。

为什么选择stm32?

选择stm32作为eCos推广突破口,有以下几个因素:

  1. 在对eCos有一点了解或有所耳闻的大多数工程师眼中,eCos可能被定位于像ucosII一样级别的嵌入式OS,换句话说,eCos的应用场合应该是类似ARM7、Cortex-M处理器之类的CPU中;
  2. 当前,STM32相比其它家的Cortex-M处理器更加流行,被广泛应用到许多低端嵌入式产品中,而且最重要的是,学者众多,开发板资源非常丰富;
  3. 目前市场上,stm32开发板一大堆,很容易利用当前资源展开eCos的学习;
  4. 像ARM7和Cortex-M处理器之类的CPU中,使用的OS大多数是ucosII,而这个OS是收费的,不能商用,相反,eCos是开源免费使用的,如果在这众多嵌入式应用中,可使用eCos在多数产品应用中替换掉ucosii,那么推广效果将更加理想;
  5. 对于ARM9以上的高端处理器,工程师更宁愿使用linux、VxWorks、Windows CE、uclinux等OS,而不愿意使用免费便资源匮乏的eCos;

这里有一个关键因素是,eCos必须展现它的应用价值和它的魅力,不然凭什么人家对这个OS产生兴趣并在产品中使用它。

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

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