导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[kaifabanlyn]基于 ARM 体系的嵌入式系统 BSP 



No.33532
作者:kaifabanlyn
邮件:kaifabanlyn@163.com 
ID:124794
登陆:2次
文章数:4篇
最后登陆IP:218.17.62.246
最后登陆:2008/10/7 14:27:52
注册:2008/9/12 18:00:10
财富:111
发帖时间:2008/9/25 17:36:05
发贴者IP:218.17.59.129
标题:kaifabanlyn:基于 ARM 体系的嵌入式系统 BSP 的程序设计
摘要:No.33532基于 ARM 体系的嵌入式系统 BSP 的程序设计 嵌入式系统上BSP程序的各个组成部分及其具体设计方案
摘要: 在介绍基于 ARM 体系的嵌入式系统启动流程的基础上,结合编程实例,详细、系统地叙述了 BSP (板级支持包)程序的各个组成部分及其具体设计方案,并就实际程序设计中的几个难点问题做了说明。 
关键词: ARM BSP 嵌入式系统 微处理器 
ARM 公司在32 位RISC 的CPU 开发领域不断取得突破,其结构已经从 V3 发展到 V6 。 
BSP ( Board Support Package )板级支持包介于主板硬件和操作系统之间,其功能与 PC 机上的 BIOS 相类似,主要完成硬件初始化并切换到相应的操作系统。 BSP 是相对于操作系统而言的,不同的操作系统对应于不同定义形式的 BSP ,例如 VxWorks 的 BSP 和 Linux 的 BSP 相对于某一 CPU 来说,尽管实现的功能一样,可是写法和接口定义是完全不同的。另外,仔细研究所用的芯片资料也十分重要,例如尽管 ARM 在内核上兼容,但每家芯片都有自己的特色。所以这就要求 BSP 程序员对硬件、软件和操作系统都要有一定的了解。 
本文介绍基于 ARM 体系的嵌入式应用系统初始化部分 BSP 的程序设计。本文引用的源码全部是基于 HMS320C7202 芯片设计,并已成功运行。 
1 初始化过程 
尽管各种嵌入式应用系统的结构及功能差别很大,但其系统初始化部分完成的操作有很大一部分是相似的。 
1.1 设置入口指针 
启动程序首先必须定义指针,而且整个应用程序只有一个入口指针。一般地,程序在编译链接时将异常中断向量表链接在 0 地址处,并且作为整个程序入口点。入口点代码如下: 
ENTRY ( _start ) ;开始 
1.2 设置异常中断 
ARM 要求中断向量表必须放置在从 0 开始、连续 8×4 字节的空间内。 
1.3 初始化存储系统
初始化存储系统的编程对象是系统的存储器控制器,一个系统可能存在多种存储器类型的接口,不同的存储系统的设计不尽相同。Flash和SRAM同属于静态存储器类型,可以合用一个存储器端口;而DRAM因为有动态刷新和地址线复用等特性,通常配有专用的存储器端口。其中,SDRAM必须在初始化阶段进行设置,因为大部分的程序代码和数据都要在SDRAM中运行。
1.4 存储器地址分布重映射(remap)和MMU
系统一上电,程序将自动从0地址处开始执行。因此,必须保证在0地址处存在正确的代码,即要求0地址开始入是非易失性的ROM或Flash等。但是因为ROM或Flash的访问速度相对较慢,每次中断响应发生后,都要从读取ROM或Flash上面的向量表开始,影响了中断响应速度。一般程序执行后将SDRAM映射为地址0,并把系统程序加载到SDRAM中运行,其具体步骤可以采用以下的方 ......

>>返回讨论的主题


  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:31毫秒 最大:2953毫秒 查询6次