IT职业英语教程.docx
- 文档编号:24630439
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:48
- 大小:3.69MB
IT职业英语教程.docx
《IT职业英语教程.docx》由会员分享,可在线阅读,更多相关《IT职业英语教程.docx(48页珍藏版)》请在冰豆网上搜索。
IT职业英语教程
嵌
入
式
实
验
学
习
总
结
姓名:
王晓博
学号:
08060101003
院系:
计算机信息工程学院
嵌入式实验学习总结
目录
1、前言….................................................................................................................
1.1嵌入式系统简介............................................................................................
1.2Linux内核…….............................................................................................
1.3ArmLinux系统分析.......................................................................................
1.4引导BootLoader............................................................................................
2、PXA270-RP实验平台...........................................................................................
3、LINUX环境下的实验.........................................................................................
在windowsserver2003操作系统中装CentOS操作系统………………....略
实验一连接宿主PC机与PXA270-RP目标.......................................................
实验二建立主机开发环境...............................................................................略
实验三配置MINICOM....................................................................................
实验四配置TFTP...............................................................................................
实验五配置NFS服............................................................................................
实验六HELLOWORLD...................................................................................
实验七编译BOOTLOADER............................................................................
实验八制作文件系统........................................................................................
实验九烧写各部分到目标板.......................................................................
4、linux启动过程分析.............................................................................................
嵌入式实验学习总结
1.1嵌入式系统的概念
首先,本实验是基于linux的嵌入式系统开发。
根据IEEE的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”。
这主要是从应用上加以定义的,从中可以看出嵌入式系统是软件和硬件的综合体。
在明确了嵌入式系统定义基础上:
1.嵌入式系统是面向用户、面向产品、面向应用的,嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。
嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物。
这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
3.嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。
为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。
4.嵌入式系统本身不具备自主开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。
实际上,凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式系统。
现在人们讲嵌入式系统时,某种程度上指近些年比较热的具有操作系统的嵌入式系统。
1.2Linux内核
Linux内核是整个Linux系统的灵魂,Linux内核负责整个系统的内存管理,进程调度和文件管理。
Linux内核的容量并不大,并且大小可以裁减,这个特性对于嵌入式是非常有好处的。
一般一个功能比较全面的内核也不会超过1M。
合理的配置Linux内核是嵌入式开发中很重要的一步,对内核的充分了解是嵌入式Linux开发的基本功。
简单介绍一下内核功能的划分,Linux内核的功能大致分成如下几个部分:
1.进程管理:
进程管理功能负责创建和撤销进程以及处理他们和外部世界的连接。
不同进程之间的通信是整个系统的基本功能,因此也由内核处理。
除此之外,控制进程如何共享CPU资源的调度程序也是进程管理的一部分。
概括的说,内核的进程管理活动就是在单个或多个CPU上实现多进程的抽象。
2.内存管理:
内存是计算机的主要资源之一,用来管理内存的策略是决定系统性能的一个关键因素。
内核在有限的可用资源上为每个进程都创建了一个虚拟寻址空间。
内核的不同部分在和内存管理子系统交互时使用一套相同的系统调用,包括从简单的malloc/free到其他一些不常用的系统调用。
3.文件系统:
Linux在很大程度上依赖于文件系统的概念,Linux中的每个对象几乎都是可以被视为文件的。
内核在没有结构硬件上构造结构化的文件系统。
所构造的文件系统筹向在整个系统中广泛使用。
另外,Linux支持多种文件系统类型,即在物理介质上组织的结构不同。
4.设备控制:
几乎每个系统操作最终都会映射到物理设备上。
除了处理器,内存以及其他很有限的的几个实体外,所有的设备控制操作都由与被控制设备相关的代码完成。
这段代码叫做设备驱动程序,内核必须为系统中的每件外设嵌入相应的驱动程序。
5.网络功能:
网络功能也必须有操作系统来管理,因为大部分网络操作都和具体的进程无关。
在每个进程处理这些数据之前,数据报必须已经被收集、标识、和分发。
系统负责在应用程序和网络之间传递数据。
另外,所有的路由和地址解析问题都由内核处理。
1.3ArmLinux系统分析
ArmLinux是常见的一种嵌入式操作系统,主要运行在以ARM为核心的处理器上。
根据运
行的层次,可以划分为三大部分:
启动引导(BOOTLOADER),操作系统内核(LINUXKERNEL),文件系统(FILESYSTEM)。
启动引导程序非常像PC机中的BIOS程序,主要负责初始化系统的最基本设备,通常主要包括CPU,网络,串行接口。
当基本部分初始化成功后,会把操作系统的镜像文件装载到内存中,最后把CPU的控制权交给内核程序。
内核接管系统后,会重新检查外部器件的运行状态,初始化所有外部硬件设备,加载驱动程序,检查系统参数表,装载文件系统,运行SHELL程序,等待用户输入命令,或直接运行设
定好的应用程序。
内核在运行的过程中,会把基本的初始化信息打印到终端(通常是串口0或LCD),并且通过终端接收用户命令,它负责控制应用程序的运行状态,实现对整个系统地控制。
LINUX内核是LINUX的最核心部分,内核的优劣决定了整个系统是否稳定与高效。
文件系统是一种数据结构,使操作系统明确存储介质(FLASH或硬盘等)上的文件;即在存储介质上组织文件的方法。
文件系统通常占用大部分的存储空间,主要负责保存应用程序和数据,由LINUX内核管理。
BOOT,KERNEL,FS(FILESYSTEM)都存储在FLASH中,运行时,根据需要被加载到内存里。
下面给出板上的地址空间分布:
MEMORYMAP
1.4启动引导BootLoader
简单地说,BootLoader就是在操作系统内核运行之前运行的一段小程序。
通过这段小程序,我们可以初始化硬件设备、建立系统参数表,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
通常,BootLoader是严重地依赖于硬件的。
特别是在嵌入式系统中,建立一个通用的BootLoader几乎是不可能的,这也使得常见的BootLoader有很多种。
比如BLOB,PPCBOOT,VIVI,
REDBOO,U-BOOT,E-BOOT等等。
BLOBBOOT
BLOBBoot源文件保存在/pxa270_linux/blob_ours中,其中比较重要的文件有:
../src/blob/trampoline.S
../src/blob/main.c
../src/blob/xlli/mainstone/start.s
../src/blob/xlli/mainstone/xlli_LowLev_Init.s
1../src/blob/start.S
系统的启动从这里开始。
当系统上电后,CPU程序指针会指在地址0x00000000(FLASH)上,这里存储的软件就是指向这个文件,从_start:
开始运行。
2../src/blob/xlli/mainstone/start.s&xlli_LowLev_Init.s
这两个汇编程序主要实现了硬件的基本初始化,start.s是主要程序的流程与框架,xlli_LowLev_Init.s是具体的函数的实现。
他们全部由汇编代码组成,是系统启动的最核心部分。
建议在研究此部分时,从start.s入手,首先搞清楚程序的流程是什么,如果有必要知道具体的实现方法,再去看xlli_LowLev_Init.s文件。
3../src/blob/trampoline.S
这部分程序是汇编代码与C代码的结合点,通过这个程序,把需要运行的C码装在到内存里。
设置堆栈,并把程序指针指向C代码实现的程序。
4../src/blob/main.c
从这个文件开始,绝大部分调用的文件都以C文件格式出现。
主要功能包括初始化串口和网络,加载内核镜像文件,在BLOB命令行模式下实现用户交互。
具体包括:
初始化FLASH
设置网络IP
初始化串口
初始化icache
初始化LED
初始化网络设备
准备BLOB命令
初始化FLASHBLOCKSTABLE
初始化FLASHPARTITIONTABLE
装载内核镜像文件
打印基本的欢迎信息,等待用户中断,进入BLOB命令行,或者直接启动LINUX
KERNEL
PXA270-RP实验平台
PXA270-RP(ExperimentPlatform)是一款基于INTELXSCALEPXA270处理器,针对高校嵌入式系统教学和实验科研的平台。
这款设备主要包括核心板与底板两个部分,核心板主要集成了高速的PXA270CPU,配套的存储器,网卡等设备;底板主要是各种类型的接口与扩展口。
框架如下图:
核心板(8层PCB电路)系统包括:
CPU:
MARVELLPXA270(520M),支持GDB调试(使用BDI2000)
SDRAM:
64M工作在104M外频上
FLASH:
32MINTELNorFALSH
Net:
100MEthernetcontroller(LAN91C111)
EEPROM:
AT24C16
RTC:
DS1337
CPLD:
XILINX95144(117USERIO)
BUFFER:
LVC245A
总线驱动器:
若干
接口:
160PIN接口
底板(4层PCB电路)包括:
FLASH:
1GbyteNANDFLASHK9K8G08U0A
SDcard:
SD卡槽一个
IDE:
笔记本式IDE硬盘接口一个
以太网接口:
100M以太网接口1个
USBHOST:
1个,可支持USB鼠标、键盘、蓝牙、U盘、USB摄像头和802.11b/g
无线上网
USBCLIENT:
1个,可以支持设备与PC同步
嵌入式系统教学平台实验教材
33
RS232接口:
3路RS232,DB9接口
RS485接口:
2路RS485,凤凰端子接口或以太网接口
并口:
1路DB25
CPLD:
Xilinx95144
视频:
7寸TFTLCD(包含触摸屏和有机玻璃外壳)16:
9显示,分辨率:
800×480
VGA:
标准VGA接口,分辨率:
640×480
音频:
UCB1400,AC97标准音频。
2路小三心音频接口。
触摸屏:
UCB1400,4线电阻式触摸屏
AD:
5路AD16bitsAD:
1路(ADS1110)8bitsAD:
4路(PCF8591)
DA:
1路DA输出(PCF8591)
温度传感器:
LM75
电位器:
1个
LED数码显示:
6个LED指示CPU串口工作状态
6个LED指示扩展口串口工作状态
4个LED指示RS485串口工作状态
2个LED指示继电器工作状态
1个七段数码管
1个8×8LED点阵
键盘:
4×5键盘矩阵
按键:
1个独立用户功能按键,1个复位键,1个双启动按键
蜂鸣器:
1个
继电器:
1个
光电传感器:
1个,用作双启动选择。
拨码开关:
1组(8位)
电源:
外接5V/3A直流电源,内部带LDO稳压
总线扩展接口:
192pin的欧式座扩展
SENSORMODULE扩展接口:
兼容OURS-VI智能传感器扩展
主板框图如下:
在整个系统中,CPU访问速度最高的外部设备就是SDRAM。
他的控制信号线并不太多。
从原理上讲,RDRAM(Rambus)、DDRSDRAM甚至是EDORAM它们在本质上讲是一样的。
RDRAM、DDRRAM、SDRAM、EDORAM都属于DRAM(DynamicRAM),即动态内存。
内存最基本的单位是内存“细胞”,也就是我们前面展示给大家DRAM基本单元示意图所示的部分,下面我们对这个部分通称为DRAM基本单元。
每个DRAM基本单元代表一个“位”——Bit(也就是一个比特),并且有一个由列地址和行地址定义的唯一地址。
8个比特组成一个字节,它可代表256种组合(即2的八次幂),字节是内存中最小的可寻址单元。
DRAM基本单元不能被单独寻址——否则现在的内存将会更加复杂,而且也没有必要。
很多DRAM基本单元连接到同一个列线(Rowline)和同一个行线(Columnline),组成了一个矩阵结构,这个矩阵结构就是一个Bank。
大部分的SDRAM芯片由4个Bank组成,芯片上的BA0与BA1信号,就是用来区分这4个Bank的。
LINUX环境下的实验总结
在windowsserver2003操作系统下安装centOS
示例:
1、从Linux安装光盘启动电脑,出现boot字眼的时候输入:
linuxrescue
2、#grub
grub>root(hd0,8)//意思是Linux安装在第一个硬盘的第8个逻辑分区
grub>setup(hd0)
grub>quit
#
其间,如果不知道Linux系统安装在哪个分区上,可以只写hd0,按Tab键来补齐后面的字符。
然后热启动电脑就可以了
实验一连接宿主PC机与PXA270-RP目标板
1.1实验目的:
正确连接宿主PC机与PXA270-RP目标板。
1.2实验内容:
参照本实验指导书所列的步骤,一步一步地完成宿主PC机与PXA270-RP目标板的连接。
1.3实验设备:
1、一套PXA270RP嵌入式实验箱。
2、安装Redhat9的宿主PC机,并且配置好ARMLinux的开发环境。
1.4预备知识:
串口(COM1)、并口(LTP1)、网口(Ethernet)的基本知识。
1.5实验步骤:
1、将电源线分别连接PXA270-RP目标板与电源插座。
2、用一根串口线将宿主PC机的串口与PX270目标板的串口0(UART0)相连。
3、用一根交叉对接网线将宿主PC机的网口与PX270目标板的网口(NET)相连。
4、用JTAG-XSCALE分别连接并口线和JTAG下载线,然后将它们分别插到宿主PC机的
并口LPT1口和PXA270-RP目标板的CPUJTAG插槽中(在音频接口的左侧)。
在连接JTAG
下载线时,PXA270-RP目标板必须是断电状态。
1.6实验注意事项:
1、当您不用JTAG烧写BLOB即BOOTLOADER到PXA270-RP目标板上时,就不需要做第4步的连接步骤。
前面的1、2、3步操作是在每次做实验之前必须连接好的。
注意串口不要连错,是(UART0)。
请您看清目标板上的标注信息。
2、请您不要热拔插JTAG接口。
一定在PXA270-RP目标板断电状态进行拔插JTAG。
1.7实验总结:
通过本实验的操作,您可以将宿主PC端与PXA270-RP目标板正确的连接起来。
希望您能做到快速并熟练的进行连接,只有这样才能顺利地进行后续实验。
实验二(略)……
实验三配置minicom
4.1实验目的:
配置宿主PC机端的minicom,使宿主PC机与PXA270-RP目标板可以通过串口通讯。
4.2实验内容:
参照本教程给出的步骤,一步一步地完成minicom的配置。
4.3实验设备:
1、一套PXA270RP嵌入式实验箱。
2、安装Redhat9的宿主PC机,并且配置好ARMLinux的开发环境。
4.4预备知识:
Linux基本命令。
4.6实验步骤:
1、硬件连接:
按照实验一的步骤,连接宿主PC机和一台PXA270-RP目标板。
2、minicom很像Windows下面的超级终端,我们利用minicom作为PXA270目标板的终端显示窗口,所以在我们开始实验前,先需要正确的配置minicom,打开宿主机端一个终端窗口(Terminal),点击【红帽SystemToolsTerminal】启动终端窗口,输入下列1条命令:
1minicom–s
对于minicom进行设置,如图,
实验四配置TFTP
4.1实验目的:
配置宿主PC机端的TFTP服务,并开通此服务。
4.2实验内容:
参照本教程给出的步骤,一步一步地完成TFTP服务的配置。
4.3实验设备:
1、一套PXA270RP嵌入式实验箱。
2、安装Redhat9的宿主PC机,并且配置好ARMLinux的开发环境。
4.4预备知识:
Linux基本命令。
4.5实验步骤:
TFTP的全称是TrivialFileTransferProtocol,即简单文件传输协议。
使用此服务传送文件时没有数据校验、密码验证,非常适合小型文件的传输。
在通过TFTP传送文件时,需要服务端和客户端,对于我们嵌入式系统来讲,服务端就是我们的宿主机,下面我们来对他进行配置:
1、对于REDHAT7.2以上的版本(例如经典的REDHAT9.0)。
在宿主PC机端,打开一个终端窗口(Terminal),点击【红帽SystemToolsTerminal】启动终端窗口,输入下列1条命令执行,如图5-1:
1setup
进入设置界面后,通过键盘上下键选择Systemservices,如图5-2,回车后,使用空格键将tftp一项选中(出现[*]表示选中),并使用空格键去掉ipchains和iptables两项服务(即去掉它们前面的*号),如图4-3。
然后单击键盘Tab键选中Ok退出到设置主界面。
然后通过键盘上下键选择Firewallconfiguration,如图4-4,使用键盘Tab键移到Nofirewall,并用空格键将其选中,如图4-5。
然后单击键盘Tab键选中Ok退出到设置主界面。
最后,再次单击键盘Tab键选中Quit退出整个设置界面,退出setup。
2、在上面同一个终端窗口中输入下列1条命令以启动TFTP服务:
①servicexinetdrestart
上述1条命令执行完之后,会出现如下信息,如图5-6:
Stoppingxinetd:
[OK]
Startingxinetd:
[OK]
配置完成后,建议简单测试一下TFTP服务器是否可用,即自己tftp自己,在上面同一个终端窗口中,请您输入下列5条命令,如图5-7:
①ifconfigeth0192.168.0.100up/*设置宿主PC机的IP地址*/
②cp/pxa270_linux/IMAGE/zImage/tftpboot/-arf/*在本地准备一个文件*/
③tftp192.168.0.100/*用tftp服务登陆本机*/
④tftp>getzImage/*使用tftp服务得到文件zImage*/
⑤tftp>q/*退出tftp服务*/
4.6实验注意事项:
1、当您每次重新启动宿主PC机的Linux操作系统时,务必请您通过ifconfig命令查看该
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IT 职业 英语 教程