对于飞腾开发板这一嵌入式系统的研究应用
目录
嵌入式系统#
什么是嵌入式系统?#
嵌入式系统定义#
- 嵌入到应用系统,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、重量、功耗严格要求的专用计算机系统。
- 简而言之,是含有处理器的专用软硬件系统,具有自主的信息处理能力
- 用于控制、监视或者辅助操作机器和设备的装置(英国电机工程师协会的定义)
- 是以嵌入式应用为目的的计算机系统,可分为系统级、模块级、芯片级
嵌入式系统的特点#
数量众多
日常生活中随处可见——电视机、微波炉、洗衣机、冰箱、MP3、U盘等
是目前数量最多、范围最广的电子信息系统
不为人所知
一般隐藏在产品之中——坦克、导弹、飞机、卫星
在使用过程中完成无形的信息处理,用户不易感知到它的存在
嵌入专用
与通用计算机最大的不同就是嵌入式系统嵌入在针对特定应用设计的系统中
你认为哪个是嵌入式系统?D
A、天河超级计算机(可独立运行)
B、飞腾腾锐D2000笔记本电脑(可独立运行)
C、直流电机(不具备自主信息处理能力)
D、硬盘
嵌入式系统构成#
嵌入式系统分层#
嵌入式系统知识框架#
嵌入式开发模式#
基本概念#
- 宿主机 Host
通常具有较强的硬件配置、方便的开发环境
能够编译、链接、生成目标代码
- 目标机 Target
目标硬件平台,通常不具备
下载 Download
调试 Debug
独立开发模式#
硬件基本构成
开发板、显卡、显示器、键盘、鼠标
构建一个完整的计算机系统(与普通桌面计算机系统无异)
软件开发环境
开发板编辑,开发板编译,开发板调试
最终产品运行
开发板运行,开发板输入输出
应用场景
最终产品需要显示器、键盘、鼠标等人机接口设备,例如便利店视频监控系统
联合开发模式#
硬件基本构成
开发板、UART线,以太网线,笔记本电脑
主机是一个完整的计算机系统
软件开发环境
主机编辑,主机本地(或交叉)编译、下载及调试(或开发板编辑编译及调试)
最终产品运行
开发板运行,开发板输入输出
应用场景
最终产品不需要显示器、键盘、鼠标等人机接口设备,例如智能网络摄像机(通过网络传输监控视频)
编译形式#
本地编译
在当前编译平台下,编译出来的程序只能在当前平台下运行
交叉编译
在当前编译平台下,编译出来的程序能运行在体系结构不同的另一种目标平台上,但是编译平台本身却不能运行该程序
嵌入式软件是在宿主机上使用交叉编译器进行交叉编译,生成的代码将在目标机上运行
嵌入式接口连接形式#
QSPI连接#
连接
Host和Target通过QSPI(JLink仿真器可提供)等编程接口连接
下载
Target上的Flash支持QSPI编程
Host通过QSPI接口将映像文件写入到Target Flash存储器中
特性
下载较慢,需要编程器
无调试功能
JTAG连接#
连接
Host和Target通过JTAG接口(仿真器)连接
下载
Target上的CPU集成有JTAG控制器(嵌入ICE)
Host通过JTAG接口由JTAG控制器将映像文件写入到Target Flash存储器中
调试(非侵入调试)
Host通过JTAG接口发送调试命令,由JTAG控制器(嵌入ICE)控制Target的运行——复位、执行、检查状态
Target断点后,将状态通过JTAG反馈给Host开发环境
特性
下载速度较慢,需要仿真器
串口连接(常用)#
连接
Host和Target通过串口(USB串口线)连接
下载
Target上的CPU集成有串口监控程序,在Target上运行一个串口监控程序
Host通过串口将映像文件传送给监控程序,由监控程序写入Target存储器
调试(侵入调试)
Host通过串口发送调试命令,由监控程序控制Target的运行——复位、执行、检查状态
Target断点后,监控程序将状态反馈给Host
特性
下载速度较慢,无需仿真器
串口+以太网连接#
连接
Host和Target通过串口(USB串口线)+以太网(SFTP)连接
SFTP 是 Secure File Transfer Protocol(安全文件传输协议)的缩写,它是一种基于 SSH(Secure Shell) 协议的网络文件传输协议,用于在客户端和服务器之间安全地传输文件。
下载
开发板上已装有Bootloader(如u-boot)
Bootloader启动后,串口(超级终端)作为控制端口,通过以太网将映像文件传送给Bootloader,写入到Target存储器
调试(侵入调试)
Host通过串口发送调试命令,由Bootloader接收,并解释命令,控制Target的运行
特性
下载速度较快,无需仿真器,多用于较为复杂的应用软件
以太网远程连接#
连接
Host和Target通过以太网(SSH)连接
下载
开发板装有Bootloader、复杂OS(例如麒麟OS,Ubuntu),有文件系统
OS启动后,以太网(基于SSH的终端)作为控制端口,通过以太网(互联网)将映像文件传送给OS,下入到Target存储器
调试(侵入测试)
Host通过以太网发送调试命令,由OS接收,并解释命令,控制Target的运行
特性
下载速度较快,适合远程开发,多用于复杂应用软件;也适合本地开发,此时还可接串口
嵌入式设计流程与实例剖析#
基本阶段#
一般有(抽象):需求分析,概要设计,详细设计,系统实现,系统测试
同时涉及到系统(离散、连续)、硬件、软件、结构、工艺…
基本特性#
观点#
软件、硬件、结构、工艺设计各自独立进行
优点#
简单易行,分工明确
不足#
- 解决方案无法进行全系统优化设计(降低成本)
- 在满足相关性能指标的情况下,成本最低
- 最优软硬件划分(软件可硬化,硬件可软化)
- 排错困难,出现问题互相推诿
- 软硬协同调试,协同测试
实际流程与进度汇报#
其他设计流程
实际流程与部门协作#
如需求分析
功能需求
支持视频显示、边缘检测
性能需求
视频显示画面为1280*720,帧率为7.5帧每秒
边缘检测率超过70%
边缘检测算法的响应时间小于10ms
环境适应需求
高温、低温及循环、盐雾、光照、EMI