上一篇文章中, 我们完成了调试前的配置工作。总体来说,eclipse中的调试配置还是相当简单的。配置好后,就可以在eclipse中展开调试工作了。

本节主要介绍eclipse中调试eCos程序的步骤和方法。在调试过程中,我遇到了一些问题,在此一并说明一下。希望朋友们可以少走一些弯路。

阅读全文 »

 


在eCos调试技术前两节,说的都是基于GDB命令行的调试方式。这对于喜欢命令行调试的朋友来说 ,这不算什么,但对于一般技术开发人员来说,还是喜欢图形界面的调试方式。

eclipse作为一个开源的IDE环境框架,能很好地支持GDB的图形界面调试。所以,本节主要介绍利用eclipse来调试eCos应用程序。限于篇幅,主要介绍调试前的配置。

阅读全文 »

 


上一篇中,讲到了使用GDB连接redboot(作为GDB Server)来调试eCos应用程序。这个方法是把要调试的程序下载到RAM中进行调试,当然也可以下到flash中展开调试。

可扮演GDB Server角色的软件有很多,除了redboot外,我们常用的J-Link也具有GDB Server功能。所以,本文主要介绍使用GDB连接J-Link GDB Server来调试eCos应用程序。

阅读全文 »

 


一段时间以来,很多学习eCos的朋友都在交流、探讨和咨询eCos的调试方法。为此,准备花一些时间来研究研究eCos的调试技术。eCos主要的调试工具为GDB,嵌入式linux开发也是基于该工具来调试。

之前曾粗略使用gdb连接redboot的方法(命令行方式)调试过eCos应用程序。所以本节就说说如何使用这种方法进行eCos应用程序的调试。

阅读全文 »

 

第一篇:让Redboot和eCos在STM32中跑起来

 

第二篇:驱动开发、移植及其调测

 


上一节中,我们创建了自己的模板,从本节开始,都将在此模板上进行移植开发。

FIS格式化带来的问题

使用此模板生成redboot(ROM启动方式,其它配置暂不修改),并烧写到STM32内部flash中。烧写reboot后,在我的板子上,redboot下执行reset命令时有问题:执行后不能复位,卡死了;此外,复位键好像也有时不启作用。在这之前,没有出现这种情况是因为没执行fis init来格式化flash。这实际上是redboot的配置引起的,且往下看。

阅读全文 »

 


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

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

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

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

 


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的配置项窗口,右边窗口从上到下分别为:冲突提示窗口、配置项属性窗口、配置项说明窗口。

阅读全文 »

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

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