ARM 应用系统开发详解──基于 S3C4510B 的系统设计
1
第 6 章 部件工作原理与编程示例
本章主要以 S3C4510B 的几个常用功能部件为编程对象,介绍基于 S3C4510B 的
系统的程序设计与调试,同时简介 BootLoader 的基本原理和编程方法,通过对本
章的阅读,可以使读者了解 S3C4510B 各功能部件的工作原理及基本编程方法。
本章的主要内容包括:
- 嵌入式系统应用程序设计的基本方法。
- S3C4510B 通用 I/O 口的工作原理与编程示例。
- S3C4510B 串行通信控制器的工作原理与编程示例。
- S3C4510B 中断控制器的工作原理与编程示例。
- S3C4510B 定时器的工作原理与编程示例。
- S3C4510B DMA 控制器的工作原理与编程示例。
- S3C4510B IIC 总线控制器的工作原理。
- S3C4510B 以太网控制器的工作原理。
- Flash 存储器的工作原理与编程示例。
- BootLoader 简介
6.1 嵌入式系统的程序设计方法
一般说来,对于一个完整的嵌入式应用系统的开发,硬件的设计与调试工作仅
占整个工作量的一半,应用系统的程序设计也是嵌入式系统设计一个非常重要的方
面,程序的质量直接影响整个系统功能的实现,好的程序设计可以克服系统硬件设
计的不足,提高应用系统的性能,反之,会使整个应用系统无法正常工作。
本章从应用的角度出发,以 S3C4510B 的各个功能模块为编程对象,介绍一些
实用的程序段,读者既可按自己的需要修改,也可吸收其设计思想和方法,以便设
计出适合于自己特定应用系统的实用程序。同时,由于 ARM 体系结构的一致性,尽
管以下的应用程序段是针对特定硬件平台开发的,其编程思路同样适合于其他类型
的 ARM 微处理器。
不同于基于 PC 平台的程序开发,嵌入式系统的程序设计具有其自身的特点,
程序设计的方法也会因系统或因人而异,但其程序设计还是有其共同的特点及规律
的。在编写嵌入式系统应用程序时,可采取如下几个步骤:
(1) 明确所要解决的问题:根据问题的要求,将软件分成若干个相对独
立的部分,并合理设计软件的总体结构。
(2) 合理配置系统资源:与基于 8 位或 16 位微控制器的系统相比较,基
于 32 位微控制器的系统资源要丰富得多,但合理的资源配置可最大