版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章嵌入式系统实验5.1Cortex-A8处理器硬件电路5.2Eclipse集成开发环境5.3S5PV210驱动仿真调试实验5.4嵌入式Linux系统实验5.5Android系统实验习题
5.1Cortex-A8处理器硬件电路
S5PV210又名“蜂鸟”,是三星推出的一款适用于智能手机和平板电脑等多媒体设备的应用处理器,S5PV210和S5PC110功能一样,110小封装适用于智能手机,210封装较大,主要用于平板电脑和上网本,苹果的iPad和iPhone4上的A4处理器,就采用的是和S5PV210一样的架构(只是3D引擎和视频解码部分不同),三星的GalaxyTab平板电脑上用的也是S5PV210。
5.1.1S5PV210芯片软硬件资源
S5PV210芯片数据及图形图像处理能力强,通信接口丰富,具备以下特点:
(1)Cortex-A8内核,NEONTMSIMD协处理器,CPU主频1GHz。
(2)采用45nm低功率制程,CPU典型功耗为11mW。
(3)支持1GBDDR2。
(4)0.65mm引脚间距,17mm×17mmFBGA封装。
(5)支持USBHost2.0、USBOTG2.0。
(6)4个SDIO/HS
MMC接口。
(7)支持MPEG-4/2/1、H.264/H263、VC-1、DivX的视频编解码1080P@30fps(1080P是指分辨率,1920×1080像素,两者相乘就知道约等于200万像素,如果购买数码摄像机,动态像素达到200万就能拍摄出1080P的高清视频;30fps是指屏幕的播放刷新速度为1秒30帧)。
(8)支持2D图形加速,最大支持8000×8000分辨率。
(9)支持3D图形加速(PowerVRSGX540),OpenGL1.1&2.0、OpenVG1.0。
(10)支持SD/MMC/SDIO接口存储卡,最高支持32GB。
(11)支持JPEG硬件编解码,最大支持65536×65536分辨率。
(12)视频硬件编解码,支持1080P@30fps。
(13)HDMI、TVOUT、Camera×2。
5.1.2CVT-S5PV210教学平台
1.CVT-S5PV210教学平台硬件资源CVTS5PV210教学平台硬件主要由三个部分组成:核心板、底板和边板。
1)核心板核心板是嵌入式系统的最重要的组成部分,它由处理器、内存、闪存、电源电路、时钟电路、CPU扩展接口组成。
(1)处理器:CVT-S5PV210教学平台所用的CPU为三星公司的ARMCortex-A8处理器S5PV210,主频最高可达1GHz。
(2)内存:本平台采用三星公司的DDR2SDRAM芯片K4T1G164QQ,容量为1GB,它由8个Bank
组成,每个Bank对应8Mb×16。其特点为低功耗、1.8V低电压工作;支持休眠功能;BGM封装,有效降低了PCB的面积;接口设计方便。
(3)闪存:如图5-1所示,本平台选用三星的NANDFlash芯片K9F8G08U0M,SLC架构系列,1GB的存储容量,为非易失性存储器,其特点为功耗低、接口方便,易于扩充。图5-1NANDFlash电路图
(4)电源电路:如图5-2所示,核心板电源电路选用高集成度的MAXIM公司的PMU芯片MAX8698C。它具有3路DC/DC(将一个固定的直流电压变换为可变的直流电压)和9路LDO电源,可实现电源管理的智能化和低功耗化。图5-2核心板电源电路
(5)时钟电路:如图5-3所示,本系统核心板使用了四个无源晶振,连接到XXTI、XXTO上的24MHz提供给CPU内核使用;连接到XUSBXTI、XUSBXXTO上的24MHz提供给USB使用;连接到XHDMIXTI、XHDMIXTO上的27MHz提供给显示组件;连接到XRTCXTI、XRTCXTO上的32.768kHz
提供给实时时钟电路使用。图5-3时钟电路
(6)CPU扩展接口:用于将核心板和底板有效连接起来。采用Molex公司的0.635mm间距贴片插座,稳定可靠,整体高度大大降低,引出CPU的所有信号线,可扩展性高。
2)底板
底板作为CVT-S5PV210教学实验系统常用外设的扩展板。它依托核心板,进行相应的功能扩展,引申出不同的外设功能,如音频、视频、网络、摄像头、Wi-Fi、指示及控制、数据采集等。
(1)底板电源:如图5-4所示,底板采用LM2596系列开关稳压集成电路,最高输入电压40V,最高输出电流3A,工作频率150kHz,转换效率为75%~88%,正常工作温度范围为-40℃~+125℃,器件保护采用热关断及电流限制,控制方式为PWM。图5-4电源模块
(2)AV视频输入:通过视频解码芯片SAA7113H实现,它可以输入4路模拟视频信号,通过内部寄存器的不同配置可以对4路输入进行转换,输入可以为4路CVBS或2路S
视频(Y/C)信号,输出8位VPO总线,为标准的ITU656、YUV4∶2∶2格式。
SAA7113H兼容PAL、NTSC、SECAM多种制式,可以自动检测场频适用的50Hz或60Hz,可以在PAL、NTSC之间自动切换。AV视频输入的原理图如图5-5所示。kHzY/C图5-5AV视频输入的原理图
(3)SD/MMC:CPU共给出了四组SDIO。本电路中用SDIO0作为系统启动。SDIO2为正常的SD/MMC卡接口,SDIO3为Wi-Fi的数据线。电路中,数据线都需上拉10kΩ的电阻。判断SD/MMC是否插入通过CDN来判定。SDIO3作为Wi-Fi用,就不需要此信号进行检测。
SD/MMC电路原理图如图5-6所示。图5-6SD/MMC电路原理图
(4)音频:音频采用WM8580音频CODEC芯片,WM8580是一款带有S/PDIF收发器的多路音频编码解码器,特别适用于DVD以及需要有环绕立体声处理的家用高保真音响、汽车和其他视听设备等应用。
(5)串口:串行通信接口,按电气标准及协议来分包括RS-232C、RS-422、RS-485、USB等。USB是近几年发展起来的新型串行接口标准,主要应用于高速数据传输领域。
图5-7为串行接口电路原理图。在串行接口电路中,UART2作为调试通信口用,UART0作为外设通信口或ZigBee模块接口,UART1作为GPS的通信口,UART3为GPRS通信口。图5-7串行接口电路原理图
(6)网络接口:网络接口采用DM9000AEP网络接口芯片。DM9000系列是完全综合的、低成本的单一快速以太网控制器芯片,具有通用的处理器接口。DM9000AEP采用CPU的16位数据总线XM0DATA,16位地址总线XM0ADDR。电路原理图如图5-8所示。
图5-8网络接口
(7)USBHost:USB作为串行接口标准,主要应用于高速数据传输领域,支持热插拔、即插即用,USB1.1的最高数据传输率为12Mb/s,USB2.0则提高到480Mb/s。
从图5-9可知,一个USB的D+和D-通过USBHub就可以转换成4个USB接口。在原理图中,每个USB接口需要一个独立的电源供电,且在PCB布线时要布为差分线,提高USB的灵敏度。
图5-9USBHost接口原理图
3)边板
边板作为嵌入式相关接口的扩展板,让用户可学习ARM+DSP双处理器的方法,了解常用的控制单元如模拟电机及步进电机的控制,了解常用指示单元跑马灯、7段数码管、点阵LED等的控制,常用传感器采集等。边板也可选配GPS/GPRS模块、RFID模块。
(1)边板电源电路设计。
边板的大部分电路需要用到3.3V
电源,GPRS模块需要用到4V
电源,这里采用从底板传过来的12V
电源和5V
电源,利用DC/DC转换芯片,分别转换为4V
和3.3V
电源。
12V转换为4V
电源电路如图5-10所示,5V
转换为3.3V
电源电路如图5-11所示。图5-115V
转换为3.3V
电源电路
(2)边板矩阵LED扩展电路设计。
①地址译码电路:用于产生控制步进电机、矩阵LED、7段数码管、跑马灯的不同的片选信号。地址译码电路如图5-12所示。图5-12地址译码电路
②矩阵LED控制电路如图5-13所示。图5-13矩阵LED控制电路
CVTS5PV210教学平台实物图如图5-14所示。图5-14CVTS5PV210教学平台
2.CVT-S5PV210教学平台软件资源
1)支持GoogleAndroid2.3
(1)内核:Linux。
(2)系统引导程序:UBoot1.3.4。
(3)交叉编译工具:ARM2009q3。
(4)文件系统格式:Ramdisk、YAFFS2。
(5)GUI:GoogleAndroid2.3。
(6)软件功能支持1080P视频播放,FlashPlayerV10.3网页Flash播放,SD图形显示,HDMI1.3高清数字输出;支持1080P,MP3、MP4、RMVB等格式的音视频播放,腾讯QQ、Skype即时通信,常见Android游戏,GoogleAndroid2.3其他功能。
.
2)设备驱动
(1)无线Wi-Fi模块:支持801.11b/g。
(2)无线蓝牙模块:支持蓝牙通信。
(3)支持200万像素COMS摄像头驱动。
(4)GPS模块:支持SIFⅢ全球定位。
(5)网口:10M/100M
自适应网口驱动。
(6)支持HDMI输出,同时支持图像和声音。.
(7)I2
S音频接口,支持音频播放和录音功能。
(8)支持LTE480WVGA(800×480)。
(9)四线电阻式触摸屏驱动。
(10)I2C驱动:Audio、Camera、HDMI等的I2C驱动。
(11)USBHost驱动:支持USB鼠标、USB键盘、U
盘等。
(12)USBOTG驱动:支持Device功能,可与PC同步进行资料拷贝。
(13)扫描键盘驱动,实现Android常见按键功能。
(14)高速SD/MMC卡驱动。
(15)RTC驱动:支持实时时钟。
(16)
MFC驱动:MultiFormatVideoCodec。
(17)UART驱动:支持串口通信。
(18)JPEG驱动:JPEGCodec。
(19)2D、3D硬件加速驱动。
5.2Eclipse集成开发环境
1)MDK-ARMMDK是专为MCU的用户开发嵌入式软件而设计的一套开发工具,支持ARM7、ARM9、CortexM3处理器,提供工业标准的编译工具和强大的调试支持。它包括根据器件定制的调试仿真支持,丰富的项目模板,固件示例以及为内存优化的RTOS库。
2)RVDS
RVDS是ARM公司继SDT与ADS1.2之后主推的新一代开发工具,目前有RVDS4.1标准版和专业版2种版本。RVDS是专为SoC、FPGA以及ASIC用户开发复杂嵌入式应用程序或者和操作系统平台组件接口而设计的开发工具。RVDS支持器件设计,支持多核调试,支持基于所有ARM和Cortex系列CPU的程序开发。RVDS还可以和第三方软件进行很好的连接。
RVDS包含有四个模块:
(1)IDE:RVDS中集成了EclipseIDE,用于代码的编辑和管理;支持语句高亮和多颜色显示,以工程的方式管理代码,支持第三方Eclipse功能插件。
(2)RVCT:RVCT是业界最优秀的编译器,支持全系列的ARM和XSCALE架构,支持汇编、C和C++。
(3)RVD:RVD是RVDS中的调试软件,功能强大,支持Flash烧写和多核调试,支持多种调试手段,快速错误定位。
(4)RVISS:RVISS是指令集仿真器,支持外设虚拟,可以使软件开发和硬件开发同步进行,同时可以分析代码性能,加快软件开发速度。
编译器输出的ELF格式的目标文件,包含调试信息。除此之外,编译器可以输出所生成的汇编语言列表文件。RVDS的编译器根据最新的ARM架构进行特别的优化,针对每个ARM架构都提供最好的代码执行性能和最优的代码密度。可以根据需要选择调试信息级别以及不同的代码优化方向和优化级别。
3)ARMDS-5
ARMDS-5从以下工具发展而来:DS-5—RVDS—ADS—SDT。目前RVDS、ADS和SDT都已经停止更新,新项目推荐使用向后兼容的DS-5。
ARMDS-5基于Eclipse集成开发环境。ARMDS-5使用ARM编译器,代码优化程度比GNU高30%以上。ARMDS-5配合DSTREAM仿真器、RVI仿真器、ULINKPRO仿真器、ULINKPROD仿真器进行内核和硬件调试。ARMDS-5配合gdbserver进行Linux应用调试。
4)Eclipse
Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,目前,由IBM发起的Eclipse项目已经发展成为一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、RationalSoftware、RedHat、Sybase及Oracle等。
Eclipse是著名的开放源代码、跨平台的自由集成开发环境。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个组成部分——EclipsePlatform、JDT、CDT和PDE。
5)AndroidStudio工具
在GoogleI/O2013开发者大会上,谷歌隆重推出了全新的AndroidIDE(集成开发环境)——AndroidStudio。AndroidStudio基于Jetbrains公司的标志性JavaIDE——IntelliJ(开发者社区开源版本)开发,该产品在功能和设计上别具匠心,可以让开发者更容易地处理开发和布局设计工作。
为了简化Android的开发力度,谷歌决定将重点建设AndroidStudio工具。谷歌将会全力专注于AndroidStudio编译工具的开发和技术支持,中止为Eclipse提供官方支持,包括中止对EclipseADT插件以及AndroidAnt编译系统的支持。
5.2.1Eclipse开发环境的安装
打开光盘下的目录,Eclipse开发环境配套软件如表5-1所示。
1.安装gcc编译器
打开yagarto-bu-2.21_gcc-4.6.2-c-c++_nl-1.19.0_gdb-7.3.1_eabi_20111119.exe,这个工具为交叉编译器。这里的安装目录需要记住,因为在后面的编译过程中,需要使用对应的交叉编译器。安装目录如图5-15所示。图5-15交叉编译器安装目录
2.安装GNUmake工具
打开yagarto-tools-20100703-Setup.exe,并安装。
3.安装FS-JTAG工具
FS-JTAG工具主要是用于仿真器连接目标A8实验箱。打开Setup.exe。安装过程如图5-16所示。图5-16JTAG调试工具安装过程
4.安装Java
开发包
打开jre6u7windowsi586-p-s.exe。如果电脑上已经安装过Java此类的工具,则不需要再次安装。
5.安装Eclipse
解压05.Eclipse-cpp-helios-SR1-win32.zip压缩包,解压完成后,找到当中的Eclipse.exe发送到桌面快捷方式,改名为Eclipse_c(这里的改名主要是为区别于Android高版本的Eclipse)。
打开Eclipse_c,设置过程如图5-17所示,确定工作安装目录。图5-17Eclipse工作目录
如图5-18所示,点击最右边的工作区按钮,就进入到Eclipse_c
操作主界面。图5-18Eclipse操作主界面
6.ARM仿真器驱动的安装
如图5-19所示,实验选用Cortex-A8ARM仿真器,该款仿真器可以仿真Cortex-M3、ARM7、ARM9、ARM11、Cortex-A8等多个ARM处理器系列。它是一款基于开源的OpenOcd接口的仿真器,外观和JLINK相同,并且提供良好的交互界面,有着很全的调试功能,再加上Eclipse这样强大的集成开发环境,使得它同样能成为工程师的首选。它既有USB特性,USB2.0全速接口、USB电源供电;又有JTAG特性,IEEE1149.1标准;支持烧写NOR/NANDFlash。图5-19仿真器实物
如图5-20所示,把仿真器一端接入计算机USB口,会提示发现新硬件,选择从列表或指定位置安装,然后单击下一步。
单击下一步会出现选择驱动安装目录,单击浏览找到DRIVER所在的目录。选择好,单击确定后,会提示没有通过微软认证,选择“仍然继续”。图5-20仿真器驱动安装过程
如果电脑装的是Windows7操作系统,如图5-21所示为ARM仿真器在Windows7操作系统下的安装过程。
可在桌面选中“我的电脑”,点击右键选择属性→硬件→设备管理器,在通用串行总线控制器目录下选择farsighe
JTAG、farsighe
Serial
Port的更新驱动程序选项。图5-21Windows7下仿真器驱动安装过程
5.2.2Eclipse的调试方法
1)指定一个工程存放目录
EclipseforARM是一个标准的窗口应用程序,可以点击程序按钮开始运行。
2)创建一个工程
进入Eclipse主界面后,单击File→New→C
Project菜单项,Eclipse将打开一个标准对话框,输入希望新建工程的名字,单击Finish即可创建一个新的工程,建议对每个新建工程使用独立的文件夹。
3)新建一个MakeFile文件
在创建一个新的工程后,单击File→New→Other,在弹出的对话框中的General下单击file,然后单击next。选择所要指定的工程后,在文件名选框中输入文件名MakeFile,然后单击Finish。
4)新建一个脚本文件
单击File→New→Other,在弹出的对话框中的General下单击file,然后单击Next,然后选择所要指定的工程后,在文件名选框中输入文件名s5pc210.init,单击Finish。
5)新建一个汇编源文件
单击File→New→Other,在弹出的对话框中的General下单击file,然后单击Next,然后选择所要指定的工程后,在文件名选框中输入文件名led.s,单击Finish。
6)编译工程
工程建立完成后,保存文档,编译Project→BulitAll工程如图5-22所示。图5-22工程编译结果
5.2.3Eclipse调试工程过程
(1)在Eclipse
的菜单中单击Run→DebugConfigurations,弹出如图5-23对话框。图5-23调试工具配置窗口
(2)单击ZyinEmbeddeddebug选项,然后右击选择“NEW”出现如图5-24所示窗口。在Main选项卡中的Project框中,点击Browse选择led工程,在C/C++Application中单击Browse找到工程目录下的led.elf文件。图5-24Main选项卡中选择led.elf文件
(3)如图5-25所示,在Debugger选项卡的Main中,找到GDBdebugger,单击Browse,选择前面安装的C:\ProgramFiles\yagarto\bin\arm-none-eabi-gdb.exe(此处选择自己的安装目录),在GDBcommandfile中选择自己工程目录下的s5pc210.init文件。图5-25选择调试工具
(4)在Commands选项卡中输入如图5-26所示的调试命令。如果源程序为C
程序,第二行则改为breakmain,或者选中如图5-25中的Stoponstartupat:main选项。最后再点击Apply,确保上面四处配置都修改正确。图5-26输入调试命令
(5)配置FA-JTAG调试工具。
FA-JTAG仿真器两端分别连接好电脑与CVT-A8实验箱,实验箱上电运行。先打开FA-JTAG调试工具,在Target选项中选择s5pc100或者s5pc110,在WoekDirection选项中选择工程目录或者默认C:\android路径,单击Connect按钮后,该按钮会变为Disconnect。最后单击Telnet按钮(这一步可以跳过),将会弹出Telnet窗口,显示“OpenOn-ChipDebugger>”,即表示已经连上目标板。出现如图5-27所示的打印地址信息,即表示仿真器已经与目标实验箱连接成功。图5-27FA-JTAG调试工具显示信息
(6)通过Eclipse开启工程调试。上面已经点击Apply按钮后,此处点击Debug按钮开始调试运行,等待程序编译下载完成自动弹出提示进入调试界面,如图5-28所示。
程序会在断点处停下,然后使用单步、stepover、stepin和全速等工具进行调试运行程序,点击全速运行,会出现LED亮灭的实验现象。图5-28Eclipse调试界面
5.3S5PV210驱动仿真调试实验
本节利用CVT-S5PV210教学平台提供的实验作为实验素材,其实验文档如图5-29所示。实验内容包括gcd汇编程序实验、asm1汇编程序实验、C语言程序实验、Led跑马灯实验、Seg数码管实验、Matrixled矩阵控制实验、MotorStepper步进电机控制实验、GpioLed控制实验、gpioled_s实验、Interrupt中断实验、PWM蜂鸣器实验、Uart串口实验、KeyPad键盘实验。图5-29实验文档
5.3.1GPIO控制LED实验
1.实验目的
(1)熟悉Eclipse开发环境。
(2)熟悉在ARM裸机环境下的C语言编程。
(3)熟悉CVTS5PV210下,GPIO控制LED的操作。
2.实验内容
(1)编写程序,练习C语言的使用。
(2)实现对开发板上GpioLed的控制。
(3)代码分别在Eclipse的Debug环境下运行。
3.实验设备
(1)硬件:CVT-S5PV210嵌入式教学实验箱、PC机。
(2)软件:PC机操作系统WindowsXP(Win7)+Eclipse开发环境。
4.实验原理
GPIO,即通用I/O接口。在嵌入式系统中常常有数量众多、结构却比较简单的外部设备/电路,对这些设备/电路,有的需要CPU为之提供控制手段,有的则作为CPU的输入信号。而且,许多这样的设备/电路只要求一位,即只要有开/关两种状态就够了。比如控制某个LED灯的亮与灭,或者通过获取某个引脚的电平状态来达到判断外围设备的状态。对这些设备/电路的控制,使用传统的串口或并口都不合适。所以在微控制器芯片上一般都会提供一个“通用可编程I/O接口”,即GPIO。
1)S5PV210的GPIO特性
(1)146个可中断通用控制I/O。
(2)32个可控外部中断。
(3)237个多功能复用I/O引脚。(4)142个内存端口引脚。(5)休眠模式引脚状态可控(除了GPH0、GPH1、GPH2和GPH3)。
2)GPIO分组及功能设定
3)GPIO常用寄存器
GPA0引脚有六个控制功能寄存器,前四个在正常模式下使用,后两个是掉电模式用。
(1)GPA0控制寄存器。
在S5PV210中,大多数的引脚都可复用,所以必须对每个引脚进行配置。接口控制寄存器(GPNCON)定义了每个引脚的功能,如表5-3所示。
(2)GPA0数据寄存器。
如果接口被配置成了输入接口,可以从GPNDAT的相应位读出数据;如果接口被配置成了输出接口,可以向GPNDAT的相应位写数据(1:高电平,0:低电平);如果接口被配置成了其他功能引脚,则未定义的值将被读取。表5-4所示为GPA0DAT数据寄存器。
(3)GPA0上/下拉寄存器。
表5-5所示为GPA0PUD寄存器。
图5-30所示为上拉、下拉、高阻状态示意图。图5-30上拉、下拉、高阻状态示意图
①上拉使能:输出端相当于一个推挽输出。
输出端上拉可以增加输出电流的能力,当ARM的IO端接的是OC或OD门时,如果不接上拉电阻是无法输出高电平的,有了这个上拉寄存器,设计时该OC门就可以不接上拉电阻了。
②上拉禁止:输出端相当于一个OC门或OD门。
IO的输入输出功能与上拉功能不冲突,一般IC设计时,上拉功能是有一定电流限制的,不会造成功能异常;不需要上拉的情况较复杂,例如作为A/D输入接口时,就不应该上拉,以免影响实际的输入电平;CPU低功耗睡眠状态,上拉电阻也有可能切断,降低功耗(这取决于不同芯片)。
(4)GPA0驱动能力控制寄存器。
当接口需要输出外接发光二极管等器件时,可选用此功能增大接口的驱动能力,实现不同驱动能力(1mA、2mA、4mA、8mA)的IO驱动。表5-6所示为GPA0DRV寄存器。
(5)GPA0掉电模式配置寄存器(见表5-7)。
(6)GPA0掉电上/下拉寄存器(见表5-8)。
(7)GPIO中断控制寄存器(见表5-9)。
GPIO中断有22组,分别为GPA0、GPA1、GPB、GPC0、GPC1、GPD0、GPD1、GPE0、GPE1、GPE0、GPE1、GPE2、GPE3、GPG0、GPG1、GPG2、GPG3、GPJ0、GPJ1、GPJ2、GPJ3和GPJ4。
5.实验电路
实验电路如图5-31所示。从电路图上可以看到,发光二极管LED的一端连接到了ARM的GPIOGPH3,另一端经过一个限流电阻接电源VDD3.3V。图5-31GPIO控制LED实验电路图
当GPIO口为低电平时,LED两端产生电压降,这时LED有电流通过并发光。反之当GPIO为高电平时,LED将熄灭。注意亮灭之间要有一定的延时,以便人眼能够区分出来。
GPH3配置寄存器有四个,分别是GPH3CON控制寄存器、GPH3DAT数据寄存器、GPH3PUD上/下拉寄存器、GPH3DRV驱动能力控制寄存器。
6.实验程序
7.实验步骤
(1)首先打开Eclipse软件,指定工作目录。
(2)打开GpioLed工程,点击工具栏的File,然后点击Import;如图5-32所示,点击ExistingProjectintoWorkspace;再次点击Browse按钮,进入目录D:\Eclipse_projects\Gpi⁃oled\;点击Finish按钮。图5-32打开GpioLed工程
(3)把Makefile的LDPATH和COMMON换成自己的路径:
(4)选中工程点右键,点击“BulidProject”按钮对工程编译,生成GpioLed.elf文件,如图5-33所示。图5-33编译成功提示
(5)连接好仿真器,实验箱通电。打开FS-JTAG调试工具,连接成功。
(6)实验现象。
观察到GpioLed亮灭,流水闪亮,可以调节延迟时间实现快亮、慢亮。
5.3.2步进电机控制实验
1.实验目的
(1)熟悉Eclipse开发环境。
(2)熟悉在ARM裸机环境下的C语言编程。
(3)熟悉CVT-S5PV210下,步进电机的操作。
2.实验内容
(1)编写程序,练习C语言的使用。
(2)实现对开发板上步进电机的控制。
(3)代码分别在Eclipse的Debug环境下运行。
3.实验设备
(1)硬件:CVT-S5PV210嵌入式教学实验箱、PC。
(2)软件:PC机操作系统WindowsXP(Win7)+Eclipse开发环境。
4.实验原理
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
步进电机实际上是一种单相或多相同步电动机。单相步进电动机由单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。多相步进电动机由多相方波脉冲驱动,用途很广。使用多相步进电动机时,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各项绕组。每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。
目前常用的步进电机有三类:
(1)反应式步进电动机。它的结构简单,生产成本低,步距角可以做得相当小,但动态性能相对较差。
(2)永磁式步进电动机。它的出力大,动态性能好,但步距角一般比较大。
(3)混合步进电动机。它综合了反应式和永磁式两者的优点,步距角小,出力大,动态性能好,是性能较好的一类步进电动机。
1)步进电机的工作原理
现以反应式三相步进电机为例说明其工作原理。定子铁心上有六个形状相同的大齿,相邻两个大齿之间的夹角为60°。每个大齿上都套有一个线圈,径向相对的两个线圈串联起来成为一项绕组。各个大齿的内表面上又有若干个均匀分布的小齿。转子是一个圆柱形铁心,外表面上圆周方向均匀地布满了小齿。转子小齿的齿距是和定子相同的。设计时应使转子齿数能被二整除。
2)教学实验系统中步进电机的控制
本教学实验系统中使用的步进电机为四相式步进电机,但工作模式为两相四拍。系统中采用74HC273锁存芯片,将步进电机的相位信号进行锁存,然后通过ULN2003驱动芯片,进入步进电机的各相绕组。
教学实验系统中的电机有两种工作模式:半步模式、整步模式。整步模式下的步距角为18°,半步模式则为9°,各模式下的脉冲信号及分配信号如图5-34、图5-35和表5-11、表5-12所示。图5-34半步模式脉冲信号图图5-35整步模式脉冲信号图
5.实验电路原理图
由图5-36可知,经过74HC273锁存后的信号输出到ULN2003,由ULN2003芯片来驱动和控制电机。控制74HC273的片选地址为0x88001000,D0~D3分别对应步进电机的MA、MB、MC、MD信号。图5-36步进电机实验电路原理图
6.实验程序
7.实验步骤
(1)首先打开Eclipse软件,指定工作目录。
(2)打开MotorStepper工程,点击工具栏的File,然后点击Import。然后点击ExistingProjectintoWorkspace。再次点击Browse按钮。如图5-37所示,进入目录D:\Eclipse_pro⁃jects\MotorStepper\。点击Finish按钮。成功添加工程到Eclipse中。图5-37工程文档目录
(3)需要把Makefile的LDPATH和COMMON换成自己的路径:
(4)点击工程右键,点击“BulidProject”按钮,对工程进行编译,生成MotorStepper.elf文件。编译成功提示如图5-38所示。图5-38编译结果
5.3.3串口通信实验
1.实验目的
(1)熟悉Eclipse开发环境。
(2)熟悉在ARM裸机环境下的C
语言编程。
(3)熟悉CVT-S5PV210下串口UART的操作。
2.实验内容
(1)编写程序,练习C语言的使用。
(2)实现对开发板上串口的控制。
(3)代码分别在Eclipse的Debug环境下运行。
3.实验设备
(1)硬件:CVT-S5PV210嵌入式教学实验箱、PC。
(2)软件:PC机操作系统WindowsXP(Win7)+Eclipse开发环境。
4.实验原理
串行通信接口电路一般由可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器以及地址译码电路组成。采用的通信协议有两类:异步协议和同步协议。随着大规模集成电路技术的发展,通用的同步和异步接口芯片种类越来越多,它们的基本功能是类似的。采用这些芯片作为串行通信接口电路的核心芯片,会使电路结构比较简单。下面介绍异步串行通信的基本原理、串行接口的物理层标准以及串口控制器寄存器。
1)异步串行通信
异步串行通信方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据的各不同位可以分时使用同一传输通道,因此串行I/O可以减少信号连线,最少用一对线即可进行。接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。为了恢复发送的信息,双方必须协调工作。在微型计算机中大量使用异步串行I/O方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。
图5-39给出了异步串行通信中一个字符的传送格式。开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码,后面是奇偶校验位。根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。如果也约定不要奇偶校验,可取消奇偶校验位。最后是表示停止位的“1”信号,这个停止位可以约定持续1位、1.5位或2位的时间宽度。一个字符传送完毕,线路进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送才又发出起始位。每一个数据位的宽度等于传送波特率的倒数。异步串行通信中,常用的波特率为4800、9600、115200b/s等。图5-39串行通信字符格式
2)串行接口的物理层标准
通用的串行I/O接口有许多种,现就最常见的两种标准作简单介绍。
(1)RS-232C。
图5-40分别给出了DB-25和DB-9的引脚定义,表5-13列出了引脚的名称以及简要说明。
图5-41给出了两台微机利用RS-232C接口通信的两种基本连接方式。图5-41RS-232C连线图
(2)信号电平规定。
RS-232C规定了双极性的信号逻辑电平,采用的是负逻辑定义:
-3V到-15V之间的电平表示逻辑“1”;
+3V到+15V之间的电平表示逻辑“0”。
以上电平标准称为EIA电平。
常用专门的RS232接口芯片,如SP3232、SP3220、MAX232、MC1488/1489等,在TTL电平和EIA电平之间实现相互转换。
3)实验使用寄存器
S5PV210芯片进行UART通信所涉及的寄存器有:引脚配置、线控寄存器、控制寄存器、FIFO控制寄存器等。
(1)UART线控寄存器ULCONn。
表5-14列出了ULCONn各位的含义,有ULCON0、ULCON1、ULCON2、ULCON3,地址分别为0x0E90_0000、0x0E90_0400、0x0E90_0800、0x0E90_0C00。该寄存器的位6决定是否使用红外模式,位5~位3决定校验方式,位2决定停止位长度,位1和位0决定每帧的数据位数。
(2)UART控制寄存器UCONn。
表5-15列出了UCONn各位的含义,有UCON0、UCON1、UCON2、UCON3,地址分别为0x0E900004、0x0E900404、0x0E900804、0x0E900C04。该寄存器对UART的工作时钟、中断类型、错误使能、工作模式等进行了配置表。
(3)FIFO控制寄存器UFCONn。
表5-16列出了UFCONn各位的意义,有UFCON0、UFCON1、UFCON2、UFCON3,地址分别为0x0E90_0008、0x0E90_0408、0x0E90_0808、0x0E90_0C08。该寄存器用于收发缓冲的管理,包括缓冲的触发字节数的设置、FIFO的清除和使能。
(4)MODEM控制寄存器UMCONn。
表5-17列出了UFCONn各位的意义,有UMCON0、UMCON1、UMCON2,地址分别为0xE290_000C、0xE290_040C、0xE290_080C。该寄存器用于设置流控方式。在实验中没有使用流控。
(5)发送/接收状态寄存器UTRSTATn。
表5-18列出了UTRSTATn各位的意义,寄存器可读。有4个发送和接收寄存器UTRSTAT0、UTRSTAT1、UTRSTAT2、UTRSTAT3,地址分别为0xE290_0010、0xE290_0410、0xE290_0810、0xE290_0C10。
(6)错误状态寄存器UERSTATn。
表5-19列出了UERSTATn各位的意义,寄存器可读,它可以反映芯片当前的错误类型。有4个错误状态寄存器UERSTAT0、UERSTAT1、UERSTAT2、UERSTAT3,地址分别为0xE290_0014、0xE290_0414、0xE290_0814、0xE290_0C14。
(7)FIFO状态寄存器UFSTATn。
表5-20列出了UFSTATn各位的意义,寄存器可读,通过它读出目前FIFO是否满以及其中的字节数。有三个FIFO状态寄存器UFSTAT0、UFSTAT1、UFSTAT2,地址分别为0xE290_0018、0xE290_0418、0xE290_0818。
(8)发送缓冲寄存器UTXH和接收缓冲寄存器URXH。
表5-21和表5-22列出了UTXH和URXH各位的意义。这两个寄存器存放着发送和接收的数据,当然只有一个字节8位数据。需要注意的是,在发生溢出错误时,接收的数据必须被读出来,否则会引发下次溢出错误。发送缓冲寄存器有UTXH0、UTXH1、UTXH2、UTXH3,地址分别为0xE290_0020、0xE290_0420、0xE290_0820、0xE290_0C20,寄存器可写。
(9)波特率分频寄存器UBRDIVn。
表5-23列出了UBRDIVn各位的意义,该寄存器可读写。有四个波特率分频寄存器UBRDIV0、UBRDIV1、UBRDIV2、UBRDIV3,地址分别为0xE290_0028、0xE290_0428、0xE290_0828、0xE290_0C28,可读写。
(10)UART通道波特率除数寄存器UDIVSLOTn。
表5-24列出了UDIVSLOTn各位的意义,该寄存器可读写。有四个波特率分频寄存器UDIVSLOT0、UDIVSLOT1、UDIVSLOT2、UDIVSLOT3,地址分别为0xE290_002C、0xE290_042C、0xE290_082C、0xE290_0C2C。使用UDIVSLOT可以更精确地生产波特率。
(11)UART中断等待寄存器UINTPn。
表5-25列出了UINTPn各位的意义,该寄存器可读写。有四个中断等待寄存器UINTP0、UINTP1、UINTP2、UINTP3,地址分别为0xE290_0030、0xE290_0430、0xE290_0830、0xE290_0C30。如果以上4位中的某一位是逻辑1,则相应UART通道产生中断。
(12)UART中断源等待寄存器UINTSPn。
表5-26列出了UINTSPn各位的意义,该寄存器可读写。有四个中断源等待寄存器UINTSPn、UINTSP1、UINTSP2、UINTSP3,地址分别为0xE290_0034、0xE290_0434、0xE290_0834、0xE290_0C34。中断源等待寄存器包含产生的中断信息,不论中断屏蔽寄存器的值为多少。
(13)UART中断屏蔽寄存器UINTMn。
表5-27列出了UINTMn各位的意义,该寄存器可读写。有四个中断屏蔽寄存器UINTM0、UINTM1、UINTM2、UINTM3,地址分别为0xE290_0038、0xE290_0438、0xE290_0838、0xE290_0C38。
中断屏蔽寄存器包含那些中断源被屏蔽的信息。如果一个特定的位被设置为1,中断控制器将不产生中断请求信号,即使相应的中断产生了。即使在这种情况下,所对应的位UINTSPn寄存器也被设置为1。如果屏蔽位是0,则对相应中断源的中断请求提供服务。如图5-42所示为三种中断寄存器之间的关系。图5-42三种中断寄存器之间的关系
5.实验说明
串口在嵌入式系统中是一个重要的资源,常用作输入输出设备,在后续的实验中将使用串口的功能。串口的基本操作有三个:串口初始化、发送数据和接收数据,这些操作都是通过访问上面所述的串口控制寄存器进行,下面将分别说明。
端口配置寄存器设置参见表5-3,此处利用GPA0[1:0]引脚设置为UART_2_TXD、UART_2_RXD功能。实验相应寄存器参照UART2的各类寄存器设置。
串行接口电路原理图如图5-7所示。UART2作为调试通信口用。UART0作为外设通信口或ZigBee模块接口,UART1作为GPS的通信口,UART3为GPRS通信口。
(1)实验Main.c程序如下:
(2)Uart.c如下:
6.实验步骤
(1)首先打开Eclipse软件,指定工作目录。
(2)打开Uart工程,点击工具栏的File,然后点击Import;点击ExistingProjectintoWorkspace;再点击Browse按钮,进入目录D:\Eclipse_projects\Uart\;点击Finish按钮,成功添加工程到Eclipse中。
(3)编写串口操作函数实现如下功能:循环接收串口送来的数据,并将接收到的数据发送回去。
(4)需要把Makefile的LDPATH和COMMON换成自己的路径:
(5)编译UART,生成uart.elf文件,如图5-43所示。图5-43程序工作目录和编译结果
(6)将计算机的串口接到开发板的UART0上。
(7)连接好仿真器,实验箱通电。打开FS-JTAG调试工具,连接成功。设置DebugConfigurations。执行Debug后,Eclipse进入Debug调试界面,可以看到程序停在main()的位置。调试模式成功,全速运行。
(8)运行超级终端,选择正确的串口号,并将串口设置为:波特率(115200)、奇偶校验、数据位数(8)和停止位数(1),无流控,打开串口。
(9)实验结果。
运行程序,在超级终端中键盘输入的数据,将回显到串口超级终端上,如图5-44所示。图5-44超级终端上显示结果
5.4嵌入式Linux系统实验
嵌入式Linux的应用领域非常广泛,主要的应用领域有信息家电、PDA、机顶盒、智能手机、触摸屏、数据网络、以太网交换机、路由器、集线器、远程访问服务器、ATM取款机、远程通信、医疗电子、交通运输计算机外设、工业控制、航空航天领域等。
嵌入式Linux的优势具体如下:
(1)Linux是开放源代码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发者的强大技术支持;
(2)Linux的内核小、效率高,内核的更新速度很快,Linux是可以定制的,其系统内核最小只有约134KB。
(3)Linux是免费的OS,在价格上极具竞争力。
(4)Linux还有着嵌入式操作系统所需要的很多特色,突出的就是Linux适应于多种CPU和多种硬件平台,是一个跨平台的系统。到目前为止,它可以支持二、三十种CPU。而且性能稳定,裁剪性很好,开发和使用都很容易。很多CPU包括家电业芯片,都开始做Linux的平台移植工作。移植的速度远远超过Java的开发环境。也就是说,如果今天用Linux环境开发产品,那么将来更换CPU就不会遇到困扰。
(5)Linux内核的结构在网络方面是非常完整的,Linux对网络中最常用的TCP/IP协议有最完备的支持。提供了包括十兆、百兆、千兆的以太网络以及无线网络、Tokerring(令牌环网)、光纤甚至卫星的支持。所以Linux很适于做信息家电的开发。
(6)使用Linux来开发无线连接产品的开发者越来越多。Linux在快速增长的无线连接应用主场中有一个非常重要的优势,就是有足够快的开发速度。这是因为Linux有很多工具,并且Linux为众多程序员所熟悉。
5.4.1BootLoader实验
1.实验目的
(1)了解BootLoader在嵌入式系统中的作用。
(2)熟悉UbuntuLinux主机环境。(2)熟悉U-Boot编译方法,掌握U-Boot的基本功能、操作。
2.实验内容
(1)学习UBoot的基础知识和常用命令,并按照实验步骤实践UBoot的用法。
(2)编译引导Linux系统的BootLoader。
3.实验设备
(1)硬件:CVT-A8系列实验箱,电脑(带串口)。
(2)软件:PC机操作系统、Ubuntu系统环境。
4.实验原理
1)BootLoader的概念回忆一下PC的体系结构可知,PC机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR中的引导程序一起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的引导程序读到系统的RAM中,然后将控制权交给引导程序。引导程序的主要运行任务就是将内核映象从硬盘上读到RAM中,然后跳转到内核的入口点去运行,也即开始启动操作系统。
简单地说,BootLoader就是在操作系统内核或用户应用程序运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。对于一个嵌入式系统来说,可能有的包括操作系统,有的小型系统也可能只包括应用程序,但是在这之前都需要Boot
Loader为它准备一个正确的环境。通常,BootLoader是依赖于硬件而实现的,特别是在嵌入式领域,为嵌入式系统建立一个通用的BootLoader是很困难的。当然,我们可以归纳出一些通用的概念来,以便我们了解特定BootLoader的设计与实现。
(1)BootLoader的移植和修改。
每种不同的CPU体系结构都有不同的BootLoader。除了依赖于CPU的体系结构外,BootLoader实际上也依赖于具体的嵌入式板级设备的配置,比如板卡的硬件地址分配,RAM芯片的类型,其他外设的类型等。对于两块不同的嵌入式板而言,即使它们是基于同一种CPU而构建的,如果他们的硬件资源和配置不一致的话,要想让运行在一块板子上的BootLoader程序也能运行在另一块板子上,也还是需要作一些必要的修改。
(2)BootLoader的安装。
系统加电或复位后,所有的CPU通常都从CPU制造商预先安排的地址上取指令。比如,S3C2410X在复位时都从地址0x00000000取它的第一条指令。而嵌入式系统通常都有某种类型的固态存储设备(比如:ROM、E2PROM或Flash等)被安排在这个起始地址上,因此在系统加电后,CPU将首先执行BootLoader程序。也就是说对于基于S3C2410X的这套系统,我们的BootLoader是从0地址开始存放的,而这块起始地址需要采用可引导的固态存储设备如Flash。
(3)用来控制BootLoader的设备或机制。
串口通信是最简单也是最廉价的一种双机通信设备,所以往往在BootLoader中主机和目标机之间都通过串口建立连接,BootLoader程序在执行时通常会通过串口来进行I/O,比如:输出打印信息到串口,从串口读取用户控制字符等。当然如果认为串口通信速度不够,也可以采用网络或者USB通信,那么相应的在BootLoader中就需要编写各自的驱动。
(4)BootLoader的启动过程。
多阶段的BootLoader能提供更为复杂的功能,以及更好的可移植性。从固态存储设备上启动的BootLoader大多都是2阶段的启动过程,即启动过程可以分为stage1和stage2两部分,具体功能将在下一节介绍。
(5)BootLoader的操作模式。
大多数BootLoader都包含两种不同的操作模式:启动加载模式和下载模式,这种区别仅对于开发人员才有意义。但从最终用户的角度看,BootLoader的作用就是用来加载操作系统,而并不存在所谓的启动加载模式与下载工作模式的区别。
启动加载模式:这种模式也称为"自主"模式,即BootLoader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。这种模式是BootLoader的正常工作模式,因此在嵌入式产品发布的时候,BootLoader显然必须工作在这种模式下。
(6)BootLoader与主机之间进行文件传输所用的通信设备及协议。
最常见的情况就是,目标机上的BootLoader通过串口与主机之间进行文件传输,传输可以简单的采用直接数据收发,当然在串口上也可以采用xmodem/ymodem/zmodem协议以及在以太网上采用TFTP协议。
(7)通常一个嵌入式BootLoader提供以下特征:
①初始化硬件,尤其是内存控制器。
②提供Linux内核的启动参数。
③启动Linux内核。
此外,大多数BootLoader也提供简化开发过程的特征,具体如下:
①读写存储器。
②通过串口或者以太网口上载新的二进制映像文件到目标板的RAM。
③从RAM中拷贝二进制映像文件到FLASH存储器中。
2)U-Boot简介
U-Boot,全称UniversalBootLoader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。U-Boot是开放源码的,支持多种嵌入式操作系统内核,如Linux、NetBSD、VxWorks、QNX、RTEMS、ARTOS、LynxOS;支持多个处理器系列,如PowerPC、ARM、x86、MIPS、XScale;具有较高的可靠性和稳定性,高度灵活的功能设置,适合U-Boot调试、操作系统不同引导要求、产品发布;具有丰富的设备驱动源码,如串口、以太网、SDRAM、Flash、LCD、NVRAM、E2PROM、RTC、键盘等;具有较为丰富的开发调试文档与强大的网络技术支持。
U-Boot的源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,U-Boot源码的注释中能体现这一点。U-Boot的用户接口类似于Linux的shell界面,通过串口连接以后,用户可以交互式输入命令和看到结果。U-Boot的启动界面如图5-45所示。图5-45UBoot的启动界面
3)U-Boot环境变量
U-Boot环境被保存于非易失性存储器(如Flash)的一段区域,当U-Boot启动的时候被拷贝到RAM。它用于保存配置系统的环境变量。U-boot环境采用CRC32校验和保护。本节列举了大多数重要的环境变量。
用户可以使用以下这些变量配置U-Boot:
(1)baudrate:控制台波特率的十进制数值。当使用“setenvbaudrate...”命令改变波特率时,U-Boot将切换控制台终端的波特率并在进入新的速度设置后等待一个换行符。如果失败,将不得不复位目标板(由于没有保存新的设置,因此系统将保持老的波特率),如果没有“baudrate”变量被定义,缺省的波特率是115200。
(2)bootcmd:改变量定义一个命令字符串,当初始化倒数计时没有被中断时,该字符串将被自动执行。该命令仅仅在bootdelay也被定义时被执行。
(3)bootdelay:系统复位后,在执行bootcmd变量的内容前,UBoot将等待bootdelay秒。在这段时间,将显示倒计时,可以通过按下任意键中断bootcmd的运行。如果希望不作任何延时请设置该变量为0。
(4)ethaddr:第一个以太网接口的以太网MAC地址(Linux中的eth0)。该变量只能被
设置一次,U-Boot拒绝在设置后输出或者覆盖该变量。
(5)ipaddr:本机IP地址,tftp命令使用。
(6)serverip:TFTP服务器IP地址,tftp命令需要。
(7)bootlinux:从flash引导Linux系统启动。
(8)bootandroid:从flash引导Android系统启动。
(9)loadlinuxramdisk:从网络TFTP服务器下载内核、RamDisk文件系统到内存中,并且运行下载的Linux系统。
(10)burnlinuxzImage:烧写sd卡中的zImge文件到Flash中的Kernel区。
5.实验步骤
(1)把PC电脑的串口连接到实验设备的串口2。
(2)打开超级终端(Windows系统自带的超级终端也行),按照提示选择115200波特率、8位数据位、1位停止位、无奇偶校验。
(3)实验箱通电,可以看到超级终端显示如图5-46所示。图5-46超级终端显示界面
(4)在“Hitanykeytostopautboot:1”倒数到0之前,点击键盘的任意按键,进入UBoot命令行状态。
(5)U-Boot基本命令实验。如图5-47及图5-48所示,分别在U-Boot中输入如下命令,并观察实验结果:图5-47打印目标板配置信息界面图5-48打印目标板环境变量信息界面
(6)tftp程序下载和引导操作实验。
首先打开tftp服务器,指定下载文件的目录。
tftp服务器准备完成后,用网线连接PC与实验箱的网口,在超级终端中输入命令:
(7)U-Boot
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027届辽阳市辽阳县三上数学期末考试模拟试题含解析
- 2027届浙江省杭州市多县区三年级数学第一学期期末教学质量检测模拟试题含解析
- 2026年1月产房助产士理论考核测试卷及答案
- 三台县2027届四上数学期末调研模拟试题含解析
- 2027届邢台市临城县数学四上期末统考试题含解析
- DB32∕T 1649-2010 公路养护工程预算编制办法及定额
- 榆林市2026年高三下第一次测试生物试题含解析
- 2026中国手持式气体检测仪行业市场现状及行业分析研究报告
- 2026能源领域行业现状分析调研发展投资研究评估分析报告
- 2026瑞士钟表行业市场现状分析及高端投资规划优化研究分析报告
- 耕地保护三级责任书
- 福建福州市鼓楼城投招聘笔试题库2026
- 院前急救诊疗常规和技术操作规范(2025 年版)
- 26年三升四语文阅读理解暑假每日一练(参考答案)
- 微众银行:AI金融创新
- 《行为安全观察手册》
- 小儿孤独症谱系障碍诊疗指南(2025年版)
- 对外投资合作国别(地区)指南-蒙古国(2025年版)
- 2026年GCP复习提分资料附完整答案详解(名校卷)
- 2026年水利机械运行维护工试卷【考点梳理】附答案详解
- 石油化工工程建设费用定额(2025版)
评论
0/150
提交评论