(软考嵌入式系统设计师)程序设计复习笔记,个人整理,内容如下
嵌入式应用软件开发步骤:
?、硬件的设计与实现;?、设备驱动软件的设计与实现;?、嵌入式操作系统的选择,移植,以
及API接口函数的设计;?、支撑软件的设计与调试;?、应用程序的设计与调试;?、系统联调、样
机交付。
2、嵌入式软件开发的特点:
?、需要交叉编译工具;?、通过仿真手段进行调试;?、开发板是中间目标机;?、可利用的资
源有限;?、需要与硬件打交道;
在软考嵌入式系统设计师的程序设计复习中,我们需要关注以下几个重要的知识点:
1. **嵌入式应用软件开发步骤**:
- 硬件的设计与实现:这是嵌入式系统的基石,包括硬件架构、电路设计、PCB布局等。
- 设备驱动软件的设计与实现:驱动程序是连接硬件和操作系统的关键,它使得操作系统能够控制和管理硬件设备。
- 嵌入式操作系统的选择、移植与API接口设计:选择适合的OS,进行OS的裁剪和定制,设计API供应用程序调用。
- 支撑软件的设计与调试:如Bootloader、文件系统、网络协议栈等。
- 应用程序的设计与调试:编写针对特定平台的应用程序,并进行调试确保其功能正确。
- 系统联调与样机交付:整合所有组件,确保系统整体功能的协调和稳定,最后交付可运行的样机。
2. **嵌入式软件开发特点**:
- 交叉编译工具:由于开发环境和目标环境通常不同,需要使用能在宿主机上编译目标平台代码的工具。
- 仿真调试:由于无法直接在目标硬件上调试,通常借助仿真器或模拟器进行调试。
- 开发板作为中间目标机:开发板用于测试和验证软件在真实硬件上的表现。
- 资源有限:嵌入式系统通常有严格的资源限制,如内存、CPU速度等。
- 硬件交互:嵌入式软件需要与硬件紧密结合,理解硬件特性是必要的。
3. **嵌入式开发遇到的问题**:
- 软硬件协同设计:需要考虑软件与硬件的配合,优化性能和资源使用。
- 嵌入式操作系统:选择合适的OS,处理其移植和定制问题。
- 代码优化:为了适应有限的资源,代码需要高效且紧凑。
- I/O资源有限:嵌入式设备的输入/输出资源有限,需要合理分配和管理。
4. **程序设计语言**:
- 机器语言和汇编语言:低级语言,直接对应硬件操作,汇编语言增加了可读性。
- 语言处理程序:如编译器和解释器,将高级语言转换为机器语言或直接解释执行。
- 程序设计语言的定义包括语法、语义、语用和语境,这些都是编写程序时必须遵循的规则。
5. **汇编语言**:
- 基本原理:为特定硬件设计的,包含指令、伪指令和宏指令。
- ARM汇编语言:具有段结构,包括代码段和数据段,用于生成可执行映像文件。
6. **面向过程和面向对象的语言**:
- 面向过程语言强调顺序执行、分支和循环等控制结构,通过函数实现模块化。
- 面向对象语言基于对象、类、继承和消息传递,强调封装、继承和多态性。
7. **汇编、编译、解释程序的基本原理**:
- 汇编程序:将汇编语言源代码转换为目标代码,通常需两次扫描,生成符号表和目标程序。
- 编译程序:将高级语言源代码转换为目标代码,经历词法分析、语法分析、语义分析等多个阶段。
- 解释程序:不生成目标代码,而是直接解释执行源代码,逐行解释,不保留中间结果。
这些知识涵盖了嵌入式系统设计的基础,包括软件开发流程、语言特性和工具使用,是成为一名合格的嵌入式系统设计师所必备的。