当前课程知识点:现代电子系统设计 > 第五章 微处理器与片上系统 > 5.7 嵌入式软件开发方法 > 5.7 嵌入式软件开发方法
下面讲第五章第七节
嵌入式软件开发方法
所谓嵌入式软件就是指
嵌入式系统中
微处理器它所需要的软件
那么首先在开发软件的时候
我们需要开发工具
开发工具分为软件和硬件
两个方面
对于软件来讲
它需要一个集成开发环境
IDE
那么这个集成开发环境
主要是用来开发软件
通常由微处理器的制造商
或者是第三方来提供的
例如Keil
它可以用来开发一些单片机
和ARM微处理器
CCS是TI提供的
一个集成开发环境
可以用于开发它所提供的
DSP处理器
或者是ARM处理器的
一些微处理器软件的开发
MCC是Microchip提供的
用于它的一些微处理器开发的
集成环境
第二就是一些示例代码
通常制造商会针对它的微处理器
提供一些示例代码
这些示例代码主要是用于
微处理器它的系统设备
或者外围设备的
一些驱动程序的应用
另外有的制造商也提供
针对处理器的一个开发板
然后这个开发板会附带一个
板级支持包
实际上也是一些示例的代码
也就是对一些外围设备
或者系统设备的应用的程序
这是软件的工具
那么接下来对于硬件的工具
通常制造商
可能会提供一些开发板
有时候也称为评估板
例如TI的TM4C123评估板
那么就是TI自己制造的
一个用于验证微处理器
及外部设备和软件的一个开发板
下面介绍两种
近年来比较流行的开发板
一个是Arduino
那么这个板子它上面
有一个8位的AVR单片机
和一个32位的SAM3X8E微处理器
这个Arduino开发板是由欧洲的
开发团队在2005年开发的
主要是用于简化这个微处理器的
开发的方法
供一些爱好者学习
或者是用它去开发电子系统
还有一个就是树莓派
它是一个有ARM微处理器的开发板
是由英国树莓派基金会开发的
也是可以用于学习
或者是用于开发一些电子设备
接下来看一下编程语言
那么嵌入式系统
它的编程语言可以采用C语言
有时候也称它为嵌入式C语言
还有C++或者是Java
嵌入式C语言
比如说C51
C51主要是用于51单片机
它的软件的开发
这些嵌入式C语言跟标准的
ANSI C语言
有一点差别
比如嵌入式C语言
可能有bit也就是位的
这种数据的定义
另外由于嵌入式系统
有很多外围的设备
所以通常会提供一些
硬件驱动程序
也就是设备驱动程序
或者外围设备驱动程序
这些驱动程序
一般都是由制造商提供的
例如ADC DAC PWM
它的驱动程序等等
接下来看一下嵌入式软件的结构
那么嵌入式软件
它的结构是分层的
首先在硬件之上
有一个硬件抽象层
我们叫HAL层
它是硬件和软件之间的一个接口
主要是一些硬件驱动程序
通常它是一些函数
可以被应用程序所调用
右边这个图
显示了这个硬件抽象层
是在硬件和应用程序之间的
一个接口层
对于应用程序来讲
它又可以分为两种情况
第一种情况就是
应用程序比较简单
比如说只有一个
或是几个简单的任务
另外用户接口也比较简单
比如说用户的操作比较简单
那这种时候
就直接在硬件抽象层的基础上
编写应用程序就可以了
但是有的应用程序
可能复杂一些
比如说任务复杂
任务多
另外可能资源也需要管理
或者资源比较多
或者还有一些文件需要管理
或者是用户的接口比较复杂
那么这时候就需要采用
操作系统了
所以这种应用程序
就可以基于操作系统来开发
那么操作系统
它可以用于多任务的管理
用于资源的管理
比如说对一些硬件资源
或者存储器资源进行管理
还有就是对系统产生的文件
进行管理
还有就是可以编写一些
复杂的用户接口
那么这是一个基于操作系统的
应用程序的结构
那么在硬件抽象层
和应用程序之间
会有一个操作系统
应用程序在基于操作系统的基础上
再来编写
它可以调用操作系统
提供的一些接口函数
下面我们看一个例子
这个例子是一个简单的
应用程序的例子
在这个程序里头
有一个main函数
然后它内部有一个while循环
在循环中调用的一些函数
或者是硬件驱动程序等等
这就是一般简单的
应用程序的结构
接下来看这个例子
这个例子
是一个基于小型操作系统的
一个例子
在这个例子中
有两个任务
它是通过函数来产生这两个任务
这两个任务可以同时执行
根据它们优先级的不同
执行的顺序也有可能会不一样
这两个任务分别是
用函数来产生的
我们可以看到这两个任务
这就是一个基于小型操作系统的
一个应用程序的例子
感谢您的观看
-课程简介
-1.1 电子系统简介
-1.2 现代电子系统举例
-1.3 现代电子系统的组成
-1.4 现代电子系统设计方法
-第一章 作业
-2.1 传感器定义
-2.2 传感器的分类和性能指标
-2.3 常用传感器介绍
-2.4 常用执行器介绍
-第二章 作业
-3.1 模拟信号处理简介
-3.2 信号放大和隔离电路
-3.3 滤波电路
--3.3 滤波电路
-3.4 运算电路(一)
-3.5 运算电路(二)
-3.6 电压比较器
-3.7 功率放大电路
-3.8 模-数转换器
-3.9 数-模转换器
-第三章 作业
-4.1 直流电源简介
-4.2 线性稳压电源
-4.3 开关稳压电源
-第四章 作业
-5.1 微处理器简介
-5.2 微处理器和片上系统的发展历程
-5.3 微处理器分类
-5.4 微处理器和片上系统举例
-5.5 微处理器和片上系统硬件结构
-5.6 外围接口和设备
-5.7 嵌入式软件开发方法
-5.8 嵌入式操作系统
-5.9 外围设备应用程序开发简介
-第五章 作业
-6.1 TM4C123 简介
-6.2 TM4C123 实验板
-6.3 TM4C123 软件开发
-6.4 TM4C123 实验举例
-第六章 作业
-7.1 PSoC简介
-7.2 PSoC实验板
-7.3 PSoC软件开发
-7.4 PSoC实验举例
-第七章 作业
-8.1 FPGA简介
-8.2 FPGA的发展趋势
-8.3 FPGA的特点
-8.4 FPGA的结构
-8.5 FPGA结构举例
-8.6 FPGA设计工具和方法
-8.7 QuartusⅡ集成开发环境
-8.8 DE2-115实验平台简介
-8.9 Verilog硬件设计语言
-- 8.9.8 设计仿真
-8.10 数字电路设计与仿真举例
-第八章 作业
-9.1 SOPC简介
-9.2 Nios II 微处理器简介
-9.3 Avalone总线简介
-9.4 SOPC设计方法简介
-9.5 SOPC设计举例
-- 9.5.1 设计内容
-9.6 Nios II 软件设计
-第九章 作业
-10.1 实验内容与要求
-10.2 实验设备与器材
-10.3 注意事项与调试方法
-10.4 实验结果展示
-第十章 作业
-期末考试
--期末考试