基于开发板的二次嵌入式开发

嵌入式软件开发是一个交叉开发过程,我们可以在特定的 EDA 工具环境下面进行开发, 使用开发板进行二次开发,这样缩短了开发周期,提高了产品的可靠性,降低了开发难度。

我们把脱离于硬件的嵌入式软件开发阶段称之为“PC 软件”的开发。在“PC 软件”开发阶段,可以用软件仿真,即指令集模拟的方法 来对用户程序进行验证。在 ARM 公司的开发工具中,ADS内嵌的 ARMulator和 RealView 开发工具中的ISS都提供了这项功能。在模拟环境下,用户可以设置 ARM 处理器的型号、时钟频率等,同时还可以配置存储器访问接口的时序参数。程序在模拟环境下运行,不但能够进行程序的运行流程和逻辑测试,还能够统计系统运行的时钟周期数、存储器访问周期数、处理器运行时的流水线状态(有效周期、等待周期、连续和非连续访问周期)等信息。这些宝贵的信息是在硬件调试阶段无法取得的,对于程序的性能评估非常有价值。为了更加完整和真实地模拟一个目标系统,ARMulator和ISS还提供了一个开放的 API编程环境。用户可以用标准C 来描述各种各样的硬件模块,连同工具提供的内核模块一起,组成一个完整的“软”硬件环境。在这个环境下面开发的软件,可以更大程度地接近最终的目标。利用这种先进的 EDA工具环境,极大地方便了程序开发人员进行嵌入式开发的工作。完成一个“PC 软件”的开发 之后,只要进行正确的移植,一个真正的嵌入式软件就开发成功了。随着嵌入式相关技术的迅速发展,嵌入式系统的功能越来越强大,应用接口更加丰富;根据实际应用的需要设计出特定的嵌入式最小系统和应用系统,是嵌入式系统设计的关键。

一、嵌入式最小系统的硬件模块

1.最小硬件模块

嵌入式最小系统即是在尽可能减少上层应用的情况下能够使系统运行的最小化模块配 置。对于一个典型的嵌入式最小系统都是以处理器为核心的电路,以 S3C2410芯片为例,其 构成模块及其各部分功能如图所示,其中,ARM 微处理器、Flash和 SDRAM 模块是嵌 入式最小系统的核心部分。

图片发自简书App

电源模块:为系统正常工作提供电源。

时钟模块:通常经 ARM 内部锁相环进行相应的倍频,以提供系统各模块运行所需的时钟频率输入。

复位模块:实现对系统的复位。

JTAG 模块:实现对程序代码的下载和调试。

Flash存储模块:存放启动代码、操作系统和用户应用程序代码。

SDRAM 模块:为系统运行提供动态存储空间,是系统代码运行的主要区域。

UART 模块:实现对调试信息的终端显示。

2.存储器接口

ARM 处理器与存储器(Flash和 SDRAM)的接口技术是嵌入式最小系统硬件设计的关键。嵌入式系统中常用的存储器有 NorFlash、NandFlash和SDRAM。

(1) ARM 处理器与 NorFlash接口技术

NorFlash带有SRAM 接口,有足够的地址引脚,可以很容易地对存储器内部的存储单元 进行直接寻址。

双 Flash独立片选:该方式是把两个 NorFlash芯片各自作为一个独立的单元进行处理。 根据不同的应用需要,可以在一块 Flash中存放启动代码,而在另一块 Flash中建立文件系 统,存放应用代码。该方式操作方便,易于管理。

双 Flash统一片选:该方式是把两个 NorFlash芯片合为一个单元进行处理,ARM 处理 器将它们作为一个并行的处理单元来访问,如将两个8bit的 NorFlash芯片ST39VF1601用 作一个16bit单元来进行处理。对于 N(N>2)块 Flash的连接方式可以此作为参考。

(2) ARM 处理器与 NandFlash接口

NandFlash接口信号比较少,地址、数据和命令总线复用。NandFlash的接口本质上是 一个I/O 接口,系统对 NandFlash进行数据访问的时候,需要先向 NandFlash发出相关命令 和参数,然后再进行相应的数据操作。ARM 处理器与 NandFlash的连接主要有3种方式:

a.运用 GPIO 引脚方式去控制 NandFlash的各个信号,在速度要求相对较低的时候,能够 较充分地发挥 Nand设备的性能

b.运用逻辑运算方式进行连接:在该方式下,处理器的读和写使能信号通过与片选信号 逻 辑 运 算 后 去 驱 动 Nand 设 备 对 应 的 读 和 写 信 号。

c.直接芯片使能:有些 ARM 处理器(如 S3C2410)内部提供对 Nand设备的相应控制寄存 器,通过控制寄存器可以实现 ARM 处理器对 Nand设备相应信号的驱动。

图片发自简书App
(3) ARM 处理器与SDRAM 接口

嵌入式最小系统的动态存储器模块一般采用SDRAM。现在的大多数 ARM 处理器内部 都集成有SDRAM 控制器,通过它可以很容易地访问SDRAM 内部的每一个字节。在实际开 发中可以根据需要选用一片或多片SDRAM。

二、嵌入式系统的启动架构

启动架构是嵌入式系统的关键技术,掌握启动架构对于了解嵌入式系统的运行原理有着重要的意义。嵌入式系统在启动时,引导代码、操作系统的运行和应用程序的加载主要有两种架构,一种是直接从 NorFlash启动的架构,另一种是从 NandFlash启动的架构。

1.从 NorFlash启动

NorFlash具有芯片内执行(XIP,eXecuteInPlace)的特点,在嵌入式系统中常作为存放 启动代码的首选。从 NorFlash启动的架构又可细分为只使用 NorFlash的启动架构、Nor Flash与 NandFlash配合使用的启动架构。下图给出了这两种启动架构的原理框图。

图片发自简书App

单独使用 NorFlash:在该架构中,引导代码、操作系统和应用代码共存于同一块 Nor Flash中。系统上电后,引导代码首先在 NorFlash中执行,然后把操作系统和应用代码加载到速度更高的SDRAM 中运行。另一种可行的架构是在 NorFlash中执行引导代码和操作系 统,而只将应用代码加载到SDRAM 中执行。该架构充分利用了 NorFlash芯片内执行的特点,可有效提升系统性能;不足在于随着操作系统和应用代码容量的增加,需要更大容量昂贵的 NorFlash来支撑。

NorFlash和 NandFlash配合使用:在该架构中附加了一块 NandFlash,NorFlash中存放启动代码和操作系统(操作系统可以根据代码量的大小选择存放于 NorFlash或 NandFlash),而 NandFlash中存放应用代码,根据存放的应用代码量的大小可以对 NandFlash容量做出相应的改变。系统上电后,引导代码直接在 NorFlash中执行,把 NandFlash中的操作系统和应用代码加载到速度更高的SDRAM 中执行。也可以在 NorFlash中执行引导代码和操作系统,而只将 Nand Flash中的应用代码加载到SDRAM 中执行。该架构是当前嵌入式系统中运用最广泛的启动架构之一。

2.从 NandFlash启动

有些处理器(如SAMSUNG 公司的 ARM920T 系列处理器S3C2410)支持从 NandFlash 启动的模式,它的工作原理是将 NandFlash中存储的前4KB 代码装入一个称为 Stepping stone(BootSRAM)的地址中,然后开始执行该段引导代码,从而完成对操作系统和应用程序 的加载。该方式需要处理器内部有 Nand控制器,同时还要提供一定大小额外的 SRAM 空 间,有一定的使用局限性,在实际开发中较少使用。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容