第五章 嵌入式开发平台组建.ppt
《第五章 嵌入式开发平台组建.ppt》由会员分享,可在线阅读,更多相关《第五章 嵌入式开发平台组建.ppt(134页珍藏版)》请在三一办公上搜索。
1、第五章嵌入式开发平台组建,第五章 嵌入式开发平台组建,第五章嵌入式开发平台组建,学习目标,1、了解嵌入式系统开发平台的基本知识2、熟悉嵌入式系统程序调试的常用方法3、掌握ADS嵌入式开发平台的组建方法4、掌握Linux嵌入式开发平台的组建方法,第五章嵌入式开发平台组建,5.1 开发平台简介,嵌入式系统的开发通常采用宿主机-目标机模式,使用交叉编译的方法,开发模型如图:,5.1.1 开发模型,宿主机就是常用的PC机,嵌入式开发环境通常建立在宿主机上。宿主机的操作系统一般是通用的Windows或Linux系统。,目标机就是嵌入式应用系统,形态和结构各异,它运行嵌入式操作系统,与主机通过串口、以太网
2、口、JTAG调试口、USB口或其他方式通信,下载运行在宿主机中编译好的代码。,第五章嵌入式开发平台组建,5.1 开发平台简介,开发环境建立在宿主机上,用户所有的开发工作大都在宿主机开发环境中进行,包括程序编辑、编译、链接等。生成的可执行目标代码通过串口或以太网口下载到目标机,在目标机执行时,可以把执行结果回显到宿主机上,宿主机还可以通过开发环境提供的调试工具对代码进行调试。,5.1.1 开发模型,第五章嵌入式开发平台组建,5.1 开发平台简介,RTOS(Real Time Operation System,实时操作系统)是嵌入式应用软件的运行基础,它与硬件平台息息相关。随着应用系统越来越复杂,
3、需要管理的资源越来越多,没有操作系统对其调度是不行的。操作系统向应用软件提供访问资源的BSP(Board Support Package,板级支持包),这样就可以屏蔽部分硬件,使开发者不必关注过多的硬件细节,减小开发难度。同时,通过RTOS,还可以提高应用软件在不同硬件平台间的代码复用率。,5.1.1 开发模型,第五章嵌入式开发平台组建,5.1 开发平台简介,在嵌入式应用软件开发中,目前大部分使用C语言作为编程语言。与一般C语言编译器不同的是,嵌入式C语言编译器通常都经过优化,以提高编译效率。另外,由于嵌入式处理器速度的提高和存储空间的增加,一些嵌入式平台也开始采用C+作为编程语言。,5.1.
4、1 开发模型,第五章嵌入式开发平台组建,5.1 开发平台简介,在嵌入式系统开发环境中,交叉调试工具是必需的。交叉调试工具用于在宿主机上调试目标机上运行的程序。调试时,在目标机上运行一个代理,以接收主机发送过来的命令和代码,并且解释执行。通过调试器,开发者可以设定程序运行的起止位置和断点,同时可以查看和设置变量、寄存器及内存中的值,设置程序运行的条件,使开发者感到如同在目标机上调试程序一样方便。,5.1.1 开发模型,第五章嵌入式开发平台组建,5.1 开发平台简介,嵌入式系统是硬件和软件的综合体,开发嵌入式系统首先需要建立一个嵌入式硬件平台。嵌入式硬件平台的构建常用以下三种方案:1、购置实验箱
5、2、购置开发板 3、自制电路板,5.1.硬件开发平台,第五章嵌入式开发平台组建,5.1 开发平台简介,设计ARM硬件系统,一般遵从以下原则:(1)采用新型的和适合应用场合的ARM,可极大地提高系统的程序执行效率,缩短系统反应时间,满足适时性要求。(2)采用低功耗贴片封装元器件,可以有效地降低功耗,减小电路板面积,提高电路本身的抗干扰能力,从而提高系统的稳定性和可靠性。(3)采用通用型平台硬件电路设计,可以根据需要增删部件而生产不同型号的产品。(4)在硬件电路设计中将富余的端口都做成插座形式的接口。(5)通过选择CPU芯片,将逻辑接口芯片尽量集成在片内,可以简化系统设计。,5.1.硬件开发平台,
6、第五章嵌入式开发平台组建,5.1 开发平台简介,嵌入式软件开发环境依赖于嵌入式软件系统架构。嵌入式软件包括与硬件相关的底层软件、操作系统、图形界面、通信协议、数据库、浏览器和应用程序等。其中,嵌入式操作系统是用来支持嵌入式应用的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动、通信协议、图形用户界面等。,5.1.3 软件开发环境,第五章嵌入式开发平台组建,5.1 开发平台简介,目前流行的嵌入式操作系统主要有Linux、WindowsCE、VxWorks、ucOS等,由于Linux的源代码开放、内核可裁剪、支持多任务和安全可靠等诸多优点,使得它已成为一款应用广泛的操作系统。,5.1
7、.3 软件开发环境,第五章嵌入式开发平台组建,5.1 开发平台简介,1、ADS开发环境 ADS(ARM Developer Suite,ARM开发环境)在没有硬件平台的情况下,可以提供软件模拟的方法进行软件开发,即ARMulate模式,在PC机上模拟调试。经模拟调试以后,当目标机硬件研制成功时,再利用ARM提供的JTAG端口将目标程序下载到目标机进行实时调试。,5.1.3 软件开发环境,第五章嵌入式开发平台组建,5.1 开发平台简介,2、Linux交叉编译环境 对于以Linux作为操作系统的嵌入式系统开发,可以借助于PC机的丰富资源和强大功能,在PC机的Linux环境下进行应用程序的编写和交叉
8、编译,把生成的目标程序通过串口和网口下载到目标机进行调试。这种开发模式的特点是,在开发过程的始终,宿主机和目标机都在一个强大的Linux网络之中。,5.1.3 软件开发环境,第五章嵌入式开发平台组建,5.1 开发平台简介,嵌入式系统的调试方式有多种,常见的有模拟器方式、监控器方式、仿真器方式和在线调试器方式四种。,5.1.4 嵌入式系统的调试方式,第五章嵌入式开发平台组建,5.1 开发平台简介,1、模拟器方式 调试工具和待调试的应用软件都在宿主机上运行,通过软件手段模拟目标机的行为,达到程序调试的目的,此为模拟器方式。简单的模拟器可以通过指令解释方式逐条执行源程序,分配虚拟存储空间和外设,进行
9、语法和逻辑上的调试。模拟器软件独立于微处理器硬件,一般与编译器集成在同一个环境中,是一种有效的源程序检验和测试工具。但值得注意的是,模拟器的功能毕竟是以一种处理器模拟另一种处理器的行为,在指令执行时间、中断响应、定时器处理等方面,有时会存在很大的差别。另外,它也无法实现嵌入式系统在实际运行中的真实状况。ADS中的ARMulator模拟器就属于此种工具,它可以模拟开发各种ARM嵌入式处理器,具有指令和定时等模拟功能。,5.1.4 嵌入式系统的调试方式,第五章嵌入式开发平台组建,5.1 开发平台简介,2、监控器方式 宿主机和目标机通过某种接口(通常是串口)连接,宿主机上提供调试界面,被调试程序下载
10、到目标机上运行,这种调试方式属于监控器方式。监控程序是一段运行于目标机上的可执行程序,主要负责监控目标机上被调试程序的运行情况,并在宿主机的控制下,及时反馈目标机的运行信息,与宿主机端的调试器一起完成对应用程序的调试。监控器方式操作简单易行,功能强大,不需要专门的调试硬件,适用面宽,已广泛应用于多种嵌入式系统的开发之中。但监控器调试主要用于调试目标机应用程序,不适宜调试目标机操作系统。,5.1.4 嵌入式系统的调试方式,第五章嵌入式开发平台组建,5.1 开发平台简介,2、监控器方式 ARM公司的Angel是可以常驻在目标机Flash中的监控程序,只需通过串行口与宿机相连,就可以在宿主机上对基于
11、ARM架构处理器的目标机进行监控式开发和调试。,5.1.4 嵌入式系统的调试方式,第五章嵌入式开发平台组建,5.1 开发平台简介,3、仿真器方式 仿真器(In-Circuit Emulator,ICE)是一种完全仿造调试目标CPU设计的仪器,目标系统对用户来说是完全透明的、可控的。仿真器与目标机通过仿真头连接,与主机有串口、并口、以太网口或USB口等连接方式。仿真器可以真正地运行所有的目标CPU动作,并且可以在其使用的内存中设置非常多的硬件中断点,实时查看所有需要的数据,从而给调试过程带来很多便利。由于仿真器自成体系,调试时可以连接目标机,也可以不接目标机。,5.1.4 嵌入式系统的调试方式,
12、第五章嵌入式开发平台组建,5.1 开发平台简介,3、仿真器方式 使用ICE同使用一般的目标硬件一样,只是在ICE上完成调试后,需要把调试好的程序重新下载到目标系统上而已。由于ICE价格昂贵,而且每种CPU都需要一种与之对应的ICE,使得开发成本较高。,5.1.4 嵌入式系统的调试方式,第五章嵌入式开发平台组建,5.1 开发平台简介,4、在线调试器方式 使用ICD(In-Circuit Debugger,在线调试器)和目标机的调试端口连接,发送调试命令和接收调试信息,可以完成必要的调试功能。一般情况下,在以ARM为CPU的目标机上采用JTAG边界扫描口进行调试。使用合适的开发工具可以利用这些接口
13、。例如,ARM目标机,可以将JTAG调试器接在目标机的JTAG口上,宿主机通过JTAG口与ARM处理器核进行通信。由于JTAG调试的目标程序是在目标机上执行,因此,这种方式更接近于目标硬件。该方式是目前采用较多的一种调试方式。,5.1.4 嵌入式系统的调试方式,第五章嵌入式开发平台组建,5.1 开发平台简介,由于嵌入式系统中微处理器的多样性,嵌入式系统的可移植性显得更加重要,所以,有些嵌入式操作系统的内核明确分成两层,其上层一般称为内核,而低层则称为硬件抽象层或硬件适配层,更通俗地称为BSP(Board Support Package,板级支持包)。BSP是操作系统与目标硬件的中间接口,是软件
14、包中具有平台依赖性的一部分。,5.1.5 板级支持包,第五章嵌入式开发平台组建,5.1 开发平台简介,BSP将实时操作系统和目标应用环境的硬件连接在一起,充分利用硬件设备的特性,其功能主要包含以下两项:1、在系统启动时,对硬件进行初始化2、为驱动程序提供访问硬件的手段 开发一个性能稳定可靠、可移植性好、可配置性好、规范化的BSP将大大提高嵌入式操作系统各方面的性能。在目标环境改变的情况下,嵌入式操作系统的BSP只需要在原有基础上稍作调整,就可以适应新的目标环境,这无疑将显著缩短开发周期,提高开发效率。,5.1.5 板级支持包,比如对设备的中断,对CPU、寄存器和内存的分配等进行操作。这个工作是
15、比较系统化的,要根据CPU的启动、操作系统的初始化和系统的工作流程等多方面要求来决定。,驱动程序经常要访问设备的寄存器,通过对设备的寄存器进行操作而达到控制设备的目的。如果目标系统采用统一编址的方式,开发者在驱动程序中用C语言的函数就可访问。但是,如果目标系统采用独立编址方式,那么C语言就不能直接访问设备中的寄存器,只有用汇编语言编写的函数才能对外围设备寄存器的访问。BSP就是为上层的驱动程序提供访问硬件设备寄存器的函数包。,第五章嵌入式开发平台组建,5.2 UP-NETARM2410-S开发平台,嵌入式系统开发离不开具体的硬件平台。基于ARM2410S嵌入式微处理器,平台由微处理器核心板、主
16、板及LCD三部分组成,具有丰富的接口资源和良好的可扩展性,为嵌入式系统设计提供了一种参考方案。虽然如此,其开发理念和开发方法在其他硬件平台上也是相似的,只是地址分配、接口方式和存储处理稍有区别而已。在掌握一般开发方法的基础上,其开发技术可以方便地用于其他任何一种平台。,第五章嵌入式开发平台组建,5.2 UP-NETARM2410-S开发平台,UP-NETARM2410-S开发平台基于ARM2410S嵌入式微处理器,采用核心板加主板的结构方式,主工作频率202M,可移植Linux、WindowsCE、VxWorks和ucOS等操作系统,支持QT/E等嵌入式图形界面,包括完整的驱动程序。,5.2.
17、1 系统概述,第五章嵌入式开发平台组建,5.2 UP-NETARM2410-S开发平台,5.2.1 系统概述,第五章嵌入式开发平台组建,5.2 UP-NETARM2410-S开发平台,5.2.1 系统概述,第五章嵌入式开发平台组建,5.2 UP-NETARM2410-S开发平台,5.2.2 核心板结构,UP-NETARM2410-S开发平台核心板资源主要有:(1)CPU:ARM920T结构芯片,工作频率202MHz,SAMSUNG公司的S3c2410X(2)FLASH:64MB NAND型,型号为SAMSUNG的K9F1208(3)RAM:64MB SDRAM,型号为HY57V561620AT
18、H(4)200管脚精密插座,第五章嵌入式开发平台组建,5.2 UP-NETARM2410-S开发平台,5.2.2 核心板结构,由于ARM2410S微处理器位于核心板中,通过200引脚的插座引出CPU的接口线,电路板布线比较复杂,所以采用6层印刷电路板布线。,第五章嵌入式开发平台组建,5.2 UP-NETARM2410-S开发平台,5.2.3 主板结构,UP-NETARM2410-S开发平台主板资源主要有:(1)USB口:包括一个USB Device接口和4个USB Host接口。前者直接来自处理器,后者是处理器的Host接口经过由AT43301构成的USB HUB电路扩展出来的4个Host接口
19、。(2)JTAG调试口:20针标准口,14针简易口。(3)AUDIO口:44.1KHz音频,采用UDA1341芯片构成,可放音和录音,通过IIS总线连接到处理器,具有功放电路驱动喇叭,板载MIC和音频IO插座。,第五章嵌入式开发平台组建,5.2 UP-NETARM2410-S开发平台,5.2.3 主板结构,UP-NETARM2410-S开发平台主板资源主要有:(4)鼠标、键盘和IC卡接口:通过一片ATMEGA8单片机作为控制器,驱动PS2接口、IC卡接口和板载KEYPAD。ATMEGA8单片机通过IIC总线和ARM处理器连接。(5)AD口:3个电位器控制输入,8个通道经过跳线设置可全部作为外部
20、模拟电压输入,同时在板上设模拟电压输入专用接口,由S3C2410芯片管脚引出。(6)DC/STEP电机:直流电机信号来自PWM输出,步进电机信号来自EXIO扩展,EXIO扩展电路由74HC573构成,分配专用地址段,和IDE接口在同一BANK。,第五章嵌入式开发平台组建,5.2 UP-NETARM2410-S开发平台,5.2.3 主板结构,UP-NETARM2410-S开发平台主板资源主要有:(7)IDE卡接口:IDE接口直接出自扩展总线,由软件完成驱动控制。(8)CF卡接口:PCMCIA模式的CF卡接口。(9)SD卡插座:直接来自s3c2410的SD控制器。(10)PCMCIA插座:PCMC
21、IA接口挂在扩展总线上,通过EPM3128A100 CPLD和HC245芯片等实现总线隔离和控制,并需要配置专用的电源控制芯片TPS2211。(11)IrDA/RS485:利用UART2实现,分别经过TFDU4100收发器和MAX485芯片完成。要作IrDA实验,必须将UART2设置到IrDA电路上,而不能同时作RS485实验。,第五章嵌入式开发平台组建,5.2 UP-NETARM2410-S开发平台,5.2.3 主板结构,UP-NETARM2410-S开发平台主板资源主要有:(12)CAN总线:由控制器MCP2510和驱动器TJA1050构成。(13)DA电路:设置两个10位DAC端口,采用
22、MAX504 接SPI总线,输出两路模拟电压(预留一路)。(14)串口:包括两个RS232接口,处理器的UART0和UART1经过MAX3232芯片电压转换后用DB9插座输出。(15)以太网卡接口:包括两个相同的网卡电路,芯片型号AX88796,10M/100M自适应(预留一个)。,第五章嵌入式开发平台组建,5.2 UP-NETARM2410-S开发平台,5.2.3 主板结构,UP-NETARM2410-S开发平台主板资源主要有:(16)168Pin的扩展插座:该插座和计算机的内存条插座规格一致,用户可以据此设计合适的扩展板。扩展槽上包含扩展总线的所有信号,可复用的系统资源以及开发平台尚未使用
23、的空置资源。(17)显示接口:采用8寸16bit TFT LCD显示器,640480分辨率,型号是LQ080V3DG01。S3C2410处理器内含LCD控制器,这使得LCD部分的电路非常简单,LCD控制器的信号线经过驱动电路后即可连接LCD模块。(18)触摸屏:采用2410 CPU AD单元的接口方案,可实现触摸屏功能。,第五章嵌入式开发平台组建,5.2 UP-NETARM2410-S开发平台,5.2.4 地址空间分配,UP-NETARM2410-S拥有64MB NAND FLASH和64MB SDRAM,其地址空间分配如表所示,第五章嵌入式开发平台组建,5.3 ADS开发环境,ADS全称为A
24、RM Developer Suite,是ARM公司推出的新一代ARM集成开发工具,可以完成ARM应用软件的编辑、编译和链接等工作,支持包括Windows和Linux在内的多种操作系统。,第五章嵌入式开发平台组建,5.3 ADS开发环境,ADS由三部分组成:命令行工具集成开发环境实用程序和支持软件,5.3.1 ADS的组成,第五章嵌入式开发平台组建,5.3 ADS开发环境,1.命令行工具 命令行工具通过命令方式实现嵌入式应用程序的编译与调试,也可以将许多编译命令编写在一个脚本文件中,通过运行脚本文件自动完成编译工作。命令行工具可分为三个部分:编译器、链接器和符号调试器。,5.3.1 ADS的组成
25、,第五章嵌入式开发平台组建,5.3 ADS开发环境,1.命令行工具1)编译器 ADS提供多种编译器,以支持ARM 和Thumb指令的编译,主要有:Armcc:ARM C编译器,用于将用ANSI C编写的程序编译成32位ARM指令代码。Tcc:Thumb C编译器。Armcpp:ARM C+编译器。Tcpp:Thumb C+编译器。Armasm:ARM和Thumb的汇编语言编译器。,5.3.1 ADS的组成,第五章嵌入式开发平台组建,5.3 ADS开发环境,1.命令行工具2)链接器 armlink是ARM链接器。该命令既可以将编译得到的一个或多个目标文件和相关的一个或多个库文件进行链接,生成一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五章 嵌入式开发平台组建 第五 嵌入式 开发 平台 组建
链接地址:https://www.31ppt.com/p-2697688.html