eCos 操作系统在STM32 平台的移植 一、为何 stm32 平台选用 eCos 操作系统1、在对 eCos 有一点了解的大多数工程师眼中,eCos 可能被定位于像 ucosII 一样级别的嵌入式 OS,换句话说,eCos 的应用场合应该是类似 ARM7、Cortex-M 处理器之类的CPU 中; 2、像 ARM7 和 Cortex-M 处理器之类的CPU 中,使用的OS 大多数是 ucosII,而这个OS 是收费的,不能商用,相反,eCos 是开源免费使用的。 3、对于 ARM9 以上的高端处理器,工程师更宁愿使用 linux、VxWorks、Windows CE、uclinux等 OS,而不愿意使用免费但资源匮乏的eCos; 二、redboot 的移植要在stm32 上运行 ecos 系统,首先要让 redboot 启动起来,然后再去引导 ecos的运行。下面介绍在stm32 开发板上移植redboot 并让其从 CPU 内部 flash 启动。 1、redboot 的作用 redboot 是 ecos 的一部分,具体的说,它是 ecos 系统的一个最小实现,主要用作bootloader,用于引导 OS 的启动。可以引导的OS 不仅仅是 ecos 本身,还包括像 linux等其它操作系统。 说起 bootloader,很多人可能马上就联想到了 u-boot,是的,你现在可以把 redboot视为像 u-boot 一样的东西。 2、为什么要从 CPU 内部 ROM 启动 之所以移植的redboot 从 CPU 内部 flash 启动而不是从内部 RAM 或者外部 SRAM启动,主要是移植步骤最简单,几乎不需要做任何的修改就可以运行起来。 3、移植redboot 到 stm32 开发板 1)、搭建好 ecos 开发环境的。 2) 、打开 ecos 图形配置工具 configtool,如下图所示。 下图中,左边窗口为 ecos 的配置项窗口,右边窗口从上到下分别为:冲突提示窗口、配置项属性窗口、配置项说明窗口。 3)、设定 ecos 代码仓库(Repository)位置 在 ecos 图形配置工具 configtool 界面中,点击 Build->Repository,如下图所示。 配置好ecos 代码仓库位置后,configtool 会重新载入内容。 4)、选择模板(Template)和目标(Target)及软件包(Package) 在 ecos 图形配置工具 configtool 界面中,点击 Build->Templates,在 Templates界面中,先选择目标板,即在 Hardware 中选择“ST STM3210E EVAL board”,然后选择模板即在 Package 中选择“redboot”,最后点击 OK。如下左图所示。 点击 OK 后,可弹出一个冲突提示按钮,如下右图所示。不过不要紧,点击 Continue按...