基于ARM9的嵌入式linux移植Word文档下载推荐.docx
- 文档编号:5755436
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:59
- 大小:564.43KB
基于ARM9的嵌入式linux移植Word文档下载推荐.docx
《基于ARM9的嵌入式linux移植Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于ARM9的嵌入式linux移植Word文档下载推荐.docx(59页珍藏版)》请在冰点文库上搜索。
3.2.4系统时钟的设计19
3.3显示与报警的设计20
3.3.1显示电路20
3.3.2报警电路20
3.3.3键盘设计21
3.3.4看门狗电路设计21
3.4软件设计22
3.4.1主程序设计22
3.4.2各子模块程序设计24
3.4.3温湿度控制软件设计27
第4章结果分析31
4.1单元测试31
4.1.1LCD显示模块测试31
4.1.2采样模块测试32
4.2集成测试32
结论33
致谢34
参考文献35
附录A36
附录B40
摘要
操作系统的移植是嵌入式系统开发的重要环节。
笔者给出了在基于ARM9内核的硬件平台上构建一个基本的带有根文件系统的嵌入式Linux系统的过程与方法。
首先介绍了基于S3C2410系统硬件结构和Linux内核结构,然后分析了如何将Linux移植到目标板上的方法与步骤,最后建立根文件系统。
通过串口、网口或者JTAG口烧至目标板,该系统成本低、工作稳定、通用性强,可用在多种工业场合。
设计与实现了Bootloader和Linux在硬件平台上的移植。
主要完成的工作包括在开发机上完成创建交叉编译环境和NFS,TFTP服务以及串口通信程序UUCP的配置。
同时完成了对Linux2.4.18内核的板级修改移植和文件系统的创建。
通过以上步骤,成功实现了Linux在硬件平台S3C2410上的运行。
关键词:
ARM9嵌入式linux移植操作系统移植
BasedonARM9embeddedLinuxtransplantation
Abstract
TheportingofoperatingsystemisthesignificantsegmentofEmbeddedSystemdevelopment.ThewritergivesoutprocessandmeanstotransformtheembeddedlinuxoswithrootfilesystemintothehardwareplatformbasedonARM9core.FirstofallintroducedbasedsonS3C2410'
ssystemhardwarecompositionandLinux'
scruxofamattercomposition,afterwardshowanalysedtransplantingLinuxupthetargetplankmeanstogetherwithmove,andfinallyestablishsadocumentsystem.BymeansofthestringtrainrimNetrimorJTAG'
srimbakestillthetargetplank,andthatsystemcostisleteddropWorkissteadydThecommonalityispowerful,usablemuchkindsofindustrysituationsbeingliving.
WedesignandachievetheportingofBootloaderandLinuxonembeddedsystem.Theprimaryjobincludebuildingthecrosscompileenvironment,configNFS,TFTPserverandUUCPwhichisaseriesprogram.Afterthat,finishedporingLinuxkernel2.4.18intheboardandcreatethefilesystem.Afterall,wesuccessesrunningLinuxintheS3C2410chip.
Keywords:
ARM9theembeddedsystemlinuxportingOSporting
前言
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
1.在智能仪器仪表上的应用
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
例如精密的测量设备(功率计,示波器,各种分析仪)。
2.在工业控制中的应用
用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
3.在家用电器中的应用
可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
4.在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
5.单片机在医用设备领域中的应用
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
6.在各种大型电器中的模块化应用
某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。
如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。
如:
音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。
在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。
此外,单片机在工商,金融,科研、教育,国防航空航天等领域有十分广泛用途。
第1章绪论
1.1课题背景
在嵌入式开发中,把操作系统移植到开发板是进行嵌入式应用开发的前提和基础。
因此有必要针对特定的硬件平台和实际的应用移植操作系统进行研究。
笔者选用Linux操作系统,可剪裁性是Linux与嵌入式系统紧密联系的纽带,同时嵌入式系统对成本的严格限制也使得具备开放特征的Linux超越其他诸如Vxwork、pSOS、Neculeus和WindowsCE等强劲竞争对手而成为市场占有率第一的嵌入式操作系统。
ARM平台是目前Linux内核移植的一个重点。
对于初学者三星的S3C2410是个很好的选择。
1.2目的和意义
本设计的主要目的在于:
培养学生阅读、利用英文文献资料,阅读并翻译外文资料独立完成课题的工作能力、分析问题和解决问题的能力,从文献检索和调查研究中获得知识的能力,以及对书面和口头表达能力进行全面的考核。
其次,本设计还将培养开发应用硬件的能力,锻炼结构化、模块化的编程能力,培养设计报告和论文的能力。
最终,使综合素质有更深层次的提高,为自己能顺利与社会环境接轨做准备。
运用嵌入式系统设计的相关知识完成本课题的设计与实现。
本设计注重考查对知识的实践动手能力,以S3C2410为平台,实现Linux2.4.18在其上的成功运行。
完成本次设计将有利于提高单独分析问题、解决问题的能力。
1.3解决问题
本设计是基于S3C2410的嵌入式Linux移植,主要包括开发环境的建立、Bootloader的移植、Linux内核的移植、根文件的创建。
1.3.1Bootloader的移植
Bootloader是在操作系统内核运行之前的一段程序,通过这段小程序初始化硬件设备,建立内存空间的映射表,从而建立适当的系统软硬件环境,为调用操作系统内核做好准备。
在项目中采用的Bootloader是开放源代码的U-boot,U-boot支持ARM9系列处理器,支持NANDFlash和NORFlash。
1.3.2Linux内核移植
Linux内核主要由5个子系统组成:
进程调度,内存管理,虚拟文件系统,网络接口,进程间通信,支持X86,ARM等多种体系结构。
要让Linux可以在不同的硬件平台运行只需修改与体系结构平台相关的代码即可。
内核源码一般在/usr/src/Linux-*目录下。
内核源码arch子目录包括了所有和平台体系结构相关的核心代码,它的每一个子目录都代表所支持的一种体系结构。
本项目移植内核版本是Linux-2.4.18。
1.3.3根文件的创建
文件系统是LINUX操作系统的重要组成部分,LINUX文件具有强大的功能。
文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有LINUX用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。
1.4技术要求
实现嵌入式Linux在S3C2410平台上的移植,必须熟悉三星的S3C2410的硬件、嵌入式Linux操作系统、嵌入式Linux在S3C2410移植的相关知识。
第2章方法论证
当将单片机用作测控系统时,系统总要有被测信号的输入通道,由计算机拾取必要的输入信息。
对于测量系统而言,如何准确获得被测信号是其核心任务;
而对测控系统来讲,对被控对象状态的测试和对控制条件的监察也是不可缺少的环节。
传感器是实现测量与控制的首要环节,是测控系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,一切准确的测量和控制都将无法实现。
工业生产过程的自动化测量和控制,几乎主要依靠各种传感器来检测和控制生产过程中的各种参量,使设备和系统正常运行在最佳状态,从而保证生产的高效率和高质量。
2.1可行性分析
本设计实现了大小信号都存在条件下的低成本、高精度要求,具有一定的实用价值,实践表明,整个输出系统使用方便,工作稳定,具有广阔的应用前景,可以广泛应用在工业自动控制、环境监测、建筑工程、科学试验等很多方面。
系统进行设计中都是性能优越的芯片,而且无论是软件编程还是硬件搭接方面在技术上都是行得通的。
此项目的研发过程无论是从经济角度还是技术可行性上都不存在过多问题,是一个研发价值极高的项目。
本系统使用温湿度传感器、D/A转换器、运算放大器、看门狗电路等实现。
2.2温度传感器的选择
1.方案一
采用热电阻温度传感器。
热电阻是利用导体的电阻随温度变化的特性制成的测温元件。
现应用较多的有铂、铜、镍等热电阻。
其主要的特点为精度高、测量范围大、便于远距离测量。
铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高。
因此,铂电阻用于工业检测中高精密测温和温度标准。
缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。
按IEC标准测温范围-200~650℃,XX电阻比W(100)=1.3850时,R0为100Ω和10Ω,其允许的测量误差A级为±
(0.15℃+0.002|t|),B级为±
(0.3℃+0.005|t|)。
铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;
但其电阻率小,在腐蚀性介质中使用稳定性差。
在工业中用于-50~180℃测温。
2.方案二
采用AD590,它的测温范围在-55℃~+150℃之间。
AS590精度很高,共有I、J、K、L、M五档,其中M档精度最高,M档在测温范围内非线形误差为±
0.3℃。
AD590的电源电压范围为4V~30V。
电源电压可在4V~6V范围变化,电流变化1mA,相当于温度变化1K。
AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏。
使用可靠。
它只需直流电源就能工作,而且,无需进行线性校正,所以使用也非常方便,接口也很简单。
作为电流输出型传感器的一个特点是,和电压输出型相比,它有很强的抗外界干扰能力。
AD590的测量信号可远传百余米。
3.方案选择
综合比较方案一与方案二,方案二中的AD590具有测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等优点,且适合远距离测温、控温,不需要进行非线性校准,外围电路简单。
更为适合于本设计系统对于温度传感器的选择。
2.3湿度传感器的选择
测量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。
电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。
采用HOS-201湿敏传感器。
HOS-201湿敏传感器为高湿度开关传感器,它的工作电压为交流1V以下,频率为50HZ~1KHZ,测量湿度范围为0~100%RH,工作温度范围为0~50℃,阻抗在75%RH(25℃)时为1MΩ。
这种传感器原是用于开关的传感器,不能在宽频带范围内检测湿度,因此,主要用于判断规定值以上或以下的湿度电平。
然而,这种传感器只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。
采用HS1100/HS1101湿度传感器。
HS1100/HS1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。
不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专利设计的固态聚合物结构,由顶端接触(HS1100)和侧面接触(HS1101)两种封装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。
相对湿度在1%---100%RH范围内;
电容量由16pF变到200pF,其误差不大于±
2%RH;
响应时间小于5S;
温度系数为0.04pF/℃。
可见精度是较高的。
综合比较方案一与方案二,方案一虽然满足精度及测量湿度范围的要求,但其只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。
而且还不具备在本设计系统中对温度-30~50℃的要求,而方案二,HS1100/HS1101互换性好,高可靠性,长期稳定性好,响应快。
因此,我们选择方案二来作为本设计的湿度传感器。
2.4信号采集通道的选择
在本设计系统中,温度输入信号为8路的模拟信号,这就需要多通道结构。
方案一是采用多路并行模拟量输入通道。
这种结构的模拟量通道特点为:
(1)可以根据各输入量测量的要求选择不同性能档次的器件。
总体成本可以作得较低。
(2)硬件复杂,故障率高。
(3)软件简单,各通道可以独立编程。
方案二是采用多路分时的模拟量输入通道。
(1)对ADC、S/H要求高。
(2)处理速度慢。
(3)硬件简单,成本低。
(4)软件比较复杂。
综合比较方案一与方案二,方案二更为适合于本设计系统对于模拟量输入的要求,比较其框图,方案二更具备硬件简单的突出优点,所以选择方案二作为信号的输入通道。
图2-1多路并行模拟量输入通道
图2-2多路分时的模拟量输入通道
2.5编程方案语言选择
C51是面向51系列单片机的C语言编译器,采用C51程序设计语言,编程都只需了解变量和常数的存储类型与51系列单片机存储空间的对应关系,而不必深入了解单片机的硬件和接口,C51编译器会自动完成变量的存储单元的分配。
目前,C51语言已成为51系列单片机的主流程序设计语言,所以本设计采用C51编程。
第3章过程论述
本设计是基于单片机对数字信号的高敏感和可控性、温湿度传感器可以产生模拟信号,和A/D模拟数字转换芯片的性能,本设计了以51单片机基本系统为核心的一套检测系统,其中包括A/D转换、单片机、复位电路、温度检测、湿度检测、键盘及显示、报警电路、系统软件等部分的设计。
图3-1系统总体框图
本设计主要有由信号采集、信号分析和信号处理三个部分组成的。
系统总体框图见图3-1。
信号采集由AD590、HS1100及多路开关CD4051组成;
信号分析由A/D转换器MC14433、单片机80C51基本系统组成;
信号处理由串行口LCD显示器和报警系统等组成。
温度检测电路如图3-2所示,湿度检测电路如图3-3所示。
图3-2温度采集、处理模块
图3-3湿度采集、处理模块
3.1信号采集
3.1.1温度传感器
集成温度传感器AD590是美国模拟器件公司生产的集成两端感温电流源。
1.主要特性
AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值,根据特性分档,AD590的后缀以I,J,K,L,M表示,M档为精度最高档,I档为精度最低档。
AD590L,AD590M一般用于精密温度测量电路,其电路外形如图3-4所示,它采用金属壳3脚封装,其中1脚为电源正端V+;
2脚为电流输出端I0;
3脚为管壳,一般不用。
集成温度传感器的电路符号如图3-4所示。
图3-4AD590外形(左)及电路符号(右)
(1)流过器件的电流(μA)等于器件所处环境的热力学温度(开尔文)度数,即:
IT/T=1μA/K(3-1)
见(3-1)式中:
IT——流过器件(AD590)的电流,单位μA。
T——热力学温度,单位K。
(2)AD590的测温范围-55℃~+150℃。
(3)AD590的电源电压范围为4V-30V。
电源电压可在4V-6V范围变化,电流IT变化1μA,相当于温度变化1K。
(4)输出电阻为710MΩ。
(5)精度高。
AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线形误差±
2.AD590的工作原理
在被测温度一定时,AD590相当于一个恒流源,把它和5~30V的直流电源相连,并在输出端串接一个1kΩ的恒值电阻,那么,此电阻上流过的电流将和被测温度成正比,此时电阻两端将会有1mV/K的电压信号。
其核心电路如图3-5所示。
图3-5AD590内部核心电路
如图3-5是利用ΔUBE特性的集成PN结传感器的感温部分核心电路。
其中T1、T2起恒流作用,可用于使左右两支路的集电极电流I1和I2相等;
T3、T4是感温用的晶体管,两个管的材质和工艺完全相同,但T3实质上是由n个晶体管并联而成,因而其结面积是T4的n倍。
T3和T4的发射结电压UBE3和UBE4经反极性串联后加在电阻R上,所以R上端电压为ΔUBE。
因此,电流I1为:
I1=ΔUBE/R=(KT/q)(lnn)/R(3-2)
对于AD590,n=8,这样,电路的总电流将与热力学温度T成正比,将此电流引至负载电阻RL上便可得到与T成正比的输出电压。
由于利用了恒流特性,所以输出信号不受电源电压和导线电阻的影响。
如图3-5中的电阻R是在硅板上形成的薄膜电阻,该电阻已用激光修正了其电阻值,因而在基准温度下可得到1μA/K的I值。
图3-6AD590内部电路
如图3-6所示是AD590的内部电路,图中的T1~T4相当于如图3-5中的T1、T2,而T9,T11相当于如图3-5中的T3、T4。
R5、R6是薄膜工艺制成的低温度系数电阻,供出厂前调整之用。
T7、T8,T10为对称的Wilson电路,用来提高阻抗。
T5、T12和T10为启动电路,其中T5为恒定偏置二极管。
T6可用来防止电源反接时损坏电路,同时也可使左右两支路对称。
R1,R2为发射极反馈电阻,可用于进一步提高阻抗。
T1~T4是为热效应而设计的连接防式。
而C1和R4则可用来防止寄生振荡。
该电路的设计使得T9,T10,T11三者的发射极电流相等,并同为整个电路总电流I的1/3。
T9和T11的发射结面积比为8:
1,T10和T11的发射结面积相等。
T9和T11的发射结电压互相反极性串联后加在电阻R5和R6上,因此可以写出:
ΔUBE=(R6-2R5)I/3(3-3)
R6上只有T9的发射极电流,而R5上除了来自T10的发射极电流外,还有来自T11的发射极电流,所以R5上的压降是R5的2/3。
根据上式不难看出,要想改变ΔUBE,可以在调整R5后再调整R6,而增大R5的效果和减小R6是一样的,其结果都会使ΔUBE减小,不过,改变R5对ΔUBE的影响更为显著,因为它前面的系数较大。
实际上就是利用激光修正R5以进行粗调,修正R6以实现细调,最终使其在250℃之下使总电流I达到1μA/K。
3.基本应用电路
如图3-7是AD590用于测量热力学温度的基本应用电路。
因为流过AD590的电流与热力学温度成正比,当电阻R1和电位器R2的电阻之和为1kΩ时,输出电压V0随温度的变化为1mV/K。
但由于AD590的增益有偏差,电阻也有偏差,因此应对电路进行调整,调整的方法为:
把AD590放于冰水混合物中,调整电位器R2,使V0=273.2+25=298.2(mV)。
但这样调整只保证在0℃或25℃附近有较高的精度。
图3-7AD590应用电路
4.摄氏温度测量电路
如图3-7所示,电位器R2用于调整零点,R4用于调整运放LF355的增益。
调整方法如下:
在0℃时调整R2,使输出V0=0,然后在100℃时调整R4使V0=100mV。
如此反复调整多次,直至0℃时,V0=0mV,100℃时V0=100mV为止。
最后在室温下进行校验。
例如,若室温为25℃,那么V0应为25mV。
冰水混合物是0℃环境,沸水为100℃环境。
5.多路检测信号的实现
本设计系统为八路的温度信号采集,而MC14433仅为一路输入,故采用CD4051组成多路分时的模拟量信号采集电路,其硬件接口电路
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM9 嵌入式 linux 移植