ARM 应用系统开发详解──基于 S3C4510B 的系统设计 1
第 6 章部件工作原理与编程示例
本章主要以 S3C4510B 的几个常用功能部件为编程对象,介绍基于 S3C4510B 的
系统的程序设计与调试,同时简介 BootLoader 的基本原理和编程方法,通过对本
章的阅读,可以使读者了解 S3C4510B 各功能部件的工作原理及基本编程方法。
本章的主要内容包括:
- 嵌入式系统应用程序设计的基本方法。
- S3C4510B 通用 I/O 口的工作原理与编程示例。
- S3C4510B 串行通信控制器的工作原理与编程示例。
- S3C4510B 中断控制器的工作原理与编程示例。
- S3C4510B 定时器的工作原理与编程示例。
- S3C4510B DMA 控制器的工作原理与编程示例。
- S3C4510B IIC 总线控制器的工作原理。
- S3C4510B 以太网控制器的工作原理。
- Flash 存储器的工作原理与编程示例。
- BootLoader 简介
嵌入式系统的程序设计方法
一般说来,对于一个完整的嵌入式应用系统的开发,硬件的设计与调试工作仅
占整个工作量的一半,应用系统的程序设计也是嵌入式系统设计一个非常重要的方
面,程序的质量直接影响整个系统功能的实现,好的程序设计可以克服系统硬件设
计的不足,提高应用系统的性能,反之,会使整个应用系统无法正常工作。
本章从应用的角度出发,以 S3C4510B 的各个功能模块为编程对象,介绍一些
实用的程序段,读者既可按自己的需要修改,也可吸收其设计思想和方法,以便设
计出适合于自己特定应用系统的实用程序。同时,由于 ARM 体系结构的一致性,尽
管以下的应用程序段是针对特定硬件平台开发的,其编程思路同样适合于其他类型
的 ARM 微处理器。
不同于基于 PC 平台的程序开发,嵌入式系统的程序设计具有其自身的特点,
程序设计的方法也会因系统或因人而异,但其程序设计还是有其共同的特点及规律
的。在编写嵌入式系统应用程序时,可采取如下几个步骤:
(1) 明确所要解决的问题:根据问题的要求,将软件分成若干个相对独
立的部分,并合理设计软件的总体结构。
(2) 合理配置系统资源:与基于 8 位或 16 位微控制器的系统相比较,基
于 32 位微控制器的系统资源要丰富得多,但合理的资源配置可最大
ARM 应用系统开发详解──基于 S3C4510B 的系统设计 2
限度的发挥系统的硬件潜能,提高系统的性能。对于一个特定
的系统来说,其系统资源,如 Flash 、EEPROM、SDRAM、中断控
制等,都是有限的,应合理配置系统资源。
(3) 程序的设计、调试与优化:根据软件的总体结构编写程序,同时采
用各种调试手段,找出程序的各种语法和逻辑错误,最后应使各功
能程序模块化,缩短代码长度以节省存储空间并减少程序执行时间。
此外,由于嵌入式系统一般都应用在环境比较恶劣的场合,易受各种干扰,从
而影响到系统的可靠性,因此,应用程序的抗干扰技术也是必须考虑的,这也是嵌
入式系统应用程序不同于其他应用程序的一个重要特点。
部件工作原理与编程示例
通用 I/O 口工作原理与编程示例
S3C4510B 提供了 18 个可编程的通用 I/O 端口,用户可将每个端口配置为输入
模式、输出模式或特殊功能模式,由片内的特殊功能寄存器 IOPMOD 和 IOPCON
控制。
端口 0~端口 7 的工作模式仅由 IOPMOD 寄存器控制,但通过设置 IOPCON 寄
存器,端口 8~端口 11 可用作外部中断请求 INTREQ0~INTREQ3 的输入,端口 12、
端口 13 可用作外部 DMA 请求 XDREQ0、XDREQ1 的输入,端口 14、端口 15 可
作为外部 DMA 请求的应答信号 XDACK0、XDACK1,端口 16 可作为定时器 0 的
溢出 TOUT0,端口 17 可作为定时器 1 的溢出 TOUT1。
I/O 端口的功能模块如图 所示:
ARM 应用系统开发详解──基于 S3C4510B 的系统设计 3
图 通用 I/O 口的功能模块
控制 I/O 口的特殊功能寄存器一共有 3 个:IOPMOD、IOPCON 和 IOPDATA,
简要描述如下:
I/O 口模式寄存器(IOPMOD):
I/O 口模式寄存器 IOPMOD 用于配置 P17~P0。
寄存器偏移地址操作功能描述复位值
IOPMOD 0x5000 读/写 I/
第6章 部件工作原理与编程示例 来自淘豆网www.taodocs.com转载请标明出处.