本节主要介绍LCD触摸屏控制芯片TSC2046驱动的移植,同时展示一个简单的应用示例。
TSC2046为SPI接口触摸屏控制芯片,因此本质上讲,它是个SPI设备驱动。eCos中,编写SPI设备驱动是非常方便的,一般情况下只需要按照datasheet实现其SPI读写时序即可。
eCos源码中没有现成的触摸屏芯片驱动,但令人高兴的是,在一个开源的eCos工程中,有现成的TSC2046驱动,我们可以把它移植过来。 阅读全文 »
本节主要介绍LCD触摸屏控制芯片TSC2046驱动的移植,同时展示一个简单的应用示例。
TSC2046为SPI接口触摸屏控制芯片,因此本质上讲,它是个SPI设备驱动。eCos中,编写SPI设备驱动是非常方便的,一般情况下只需要按照datasheet实现其SPI读写时序即可。
eCos源码中没有现成的触摸屏芯片驱动,但令人高兴的是,在一个开源的eCos工程中,有现成的TSC2046驱动,我们可以把它移植过来。 阅读全文 »
第二篇:驱动开发、移植及其调测
1—10章节,我称之为stm32移植ecos系列的第一篇章:让Redboot和eCos跑起来。从中可以看到,借助eCos本身带的ST STM3210E EVAL board模板和examples,几乎不需要做什么修改就让eCos在STM32板子上跑起来了。这一方面得意于我的板子与该模板对应的ST官方板子在存储器设计上大同小异,另一方面则是得意于eCos良好的架构设计,使系统移植变得轻而易举。
在展开ecos裁减、配置和驱动编写移植之前,我来说下如何创建和使用自己的模板(Template)。这里可能会有人问了:官方都提供了模板,还需要创建自己板子的模板吗?这不是多此一举吗?
是的,表面上看有点多余,但实际上更符合系统移植方法与步骤。
由于ecos优秀的架构设计,所以创建自己的模板也变得很容易。 阅读全文 »
上节,我们介绍了如何编译链接生成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后可正常启动。
在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需要以下几步:
© 2012 velep.com | reille blog | 管理| 粤ICP备15065318号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha |