2023年LINU嵌入式实验报告.pdf
《2023年LINU嵌入式实验报告.pdf》由会员分享,可在线阅读,更多相关《2023年LINU嵌入式实验报告.pdf(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、L I NUX嵌入式实验报告目录目录.错误!未定义书签。实验一:嵌入式L in u x 开发流程.错误!未定义书签。实验二:嵌入式L in u x开发环境搭建。错误!未定义书签。实验三:串行端口程序设计。错误!未定义书签。实验四:A/D D/A接口实验。错误!未定义书签。实验五:图形界面应用程序设计。错误!未定义书签。实验六:内核与根文献系统实验.错误!未定义书签。实验七:驱动程序设计实验.错误!未定义书签。实验八:无线通信实验。错误!未定义书签。实验一:嵌入式L imix开发流程一.实验目的了解嵌入式L i n u x 的开发流程,会进行简朴的开发。二.实验内容进行Linux的开发流程的简朴
2、介绍。三.实验环节嵌入式Linu x 开发,根据应用需求的不同有不同的配置开发方法,但是一般都要通过以下过程:建立开发环境,操作系统一般使用REDHAT-LINUXM本 7 到 9 都可以,选择定制安装或所有安装,通过网络下载相应的GCC交叉编译器进行安装(比如arm-1 i nux-gc c a rm-uclibc-gc c),或者安装产品厂家提供的交叉编译器。使用Linux的Red L inux 9 的开发界面截图如下:routVM*rr Took倒配置开发主机,配置MINICOM,一般参数为波特率115200,数据位8 位,停止位1,无奇偶校验,软硬件控制流设为无。在 W I N D O
3、 W S 下的超级终端的配置也是这样,MINICOM 软件的作用是作为调试嵌入式开发板信息输出的监视器和键盘输入的工具;配置网络,只要是配置N F S 网络文献系统,需要关闭防火墙,简化嵌入式网络调试环境设立过程。系统配置截图如下:.画M S 厂 。%此建立引导装载程序B OOTLOADE R,从网络上下载一些公开源代码的 BOOTLOADER,如-BOOT、BLOB、VIVI、L I LO、A RM-BOOT、RED-BOOT等,根据自己具体芯片进行移植修改。有些芯片没有内置引导装载程序,比如三星的ARM 7、ARM 9 系列芯片,这样就需要编写烧写开发板上的f l a s h 的烧写程序,
4、网络上有免费下载的WINDOWS下通过JTAG并口简易仿真器烧写ARM外围f las h 芯片程序。V i Vi运营的截图如下:C:DocujBent9 9nd S etti1n t八d。【泉面j f 2 4.日日,SEC JTAG PLASH v 0.?,S3C2410X 4 SMm 410 B/D)S PROVIDED W KENT 208,0628S kent9up-tech.covbIS A9Z:SJP/f!e/d-ERROR:No CPU is dfrtectedrr virtual 2 KBvwwtrt-1 lor47 KBJaaaDn固R*d Ht Linux vdkVHwtrt
5、 virtual d1 KBR-d K“Linux-1003 vndkVWvtrt virtual dR4 KatUnwc-s006 vdkWvtrc virtual 4rtdhal wsdVWtr intpsKot0 KBrdhat.vwxfWw*r b I KBv y 2 log:34 KBusana国囿“4 2-大 小5 1 2字节文件 B562S0 lekRia 市1LinwcsOOl vdkVWirtrt virtual d.R4Linuxs004 vdkW vtrt virtual drdhtt nvrsVlwtrt virtual 9 K Brtdhat vssVM*r susp
6、ended17.570 KBvwtrt-0 locSI KB50 KB安装好的Linux如下;七、sn 09 ft1622.开发工具软件的安装IB与理tti 粒 cfi 拄 磁D俯助包1ro o ljl cd/nnl/cdronycdronil cd 2410“2410“,Is(roolfociIhostrootloeiIhosl(roollocaIhosl24IO-S?2410-S Ltsor,?(roolHoca Ihosl(rootMoca I host,.pdf Linux V7.02410s*cd LinuxX V7.0/(JOB V5.0M4n,与-XM it ZWR 小。WfWi
7、2*Ik伸 出 吆 1帆2”亳 虫&他 吐 花,。拘第X府 内 善 个/1*H,哄叁 ftti k W N 1 3 H 0 M nw 4M咯配就0、5H1 7:w15 h双击设备ethO的蓝色区域,进入以太网设立界面root的主H录从这叭开始河收站VMware ToolsSH 09/I7:I6对于REDHAT9.0,它默认的是打开了防火墙,因此对于外来的IP访问它所有拒绝,这样其它网络设备主线无法访问它,即无法用N F S m ount它,许多网络功能都将无法使用,因此网络安装完毕后,应立即关闭防火墙。ro o t的主H术令从这班开始立个馒别8 5火堵同收站。友 制V Mu arc Tools
8、力火飨现VIS/l 09 h17:17安全国蝴配HM in i com的配置如下:四、实验总结通过本次实验我学会了关于L i n u x 配置的一些基本的应用,感觉收获特别大,这就算入门了。实验三:串行端口程序设计一、实验目的了解在L inux环境下串行程序的基本方法。掌握终端的重要属性及设立方法,熟悉终端I/0函数的使用。学习使用多线程完毕串口的收发解决.二、实验内容读懂程序源代码,学习终端I/0函数的使用方法,学习将多线程编程应用到串口的接受和发送程序设计中。三、预备知识有C语言的基础掌握在L inu x下常用编辑器的使用。掌 握Make fi 1 e的编写和使用。掌 握L i nux下的
9、程序编译与交叉编译过程。四、实验原理异步串行I/O方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据的各不同位可以分时使用同一传输通道,因此串行1/0可以减少信号连接线,最后用一对线即可进行。接受方对于同一根线上一连串的数字信号,一方面要分割成位,再按位组成字符。为了恢复发送的信息,双方必须协调工作。在微型计算机中大量使用异步串行I/O方式,双方使用各自的时钟信号,并且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立拟定起始和结束(即每个字符都要重新同步),字符和字符间还也许有长度不定的空闲时间,因此效率较低。卜-第n个字符-A|_ I:%1%D。_ _1
10、1 0 1/0 I/O 1/0 I/O 1/0 1/0 I/O 1/0 1111 0 1空空起I 奇 件 空闲闲始卜-数 据 便-T 蜴止 闲位位位I I 位位 位上图给出异步串行通信中一个字符的传送格式。开始前,线路处在空闲状态,送出连续“1”。传送开始时一方面发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。每个字符的数据位长可以约定为5 位、6 位、7 位或8 位,一般采用ASCII编码。后面是奇偶校验位,根据约定,用奇偶检查位将所传字符中“1”的位数凑成奇数个数或偶数个数。也可以也可以约定不要奇偶校验位,这样就取消奇偶校验位。最后是表达停止位的“1”信号,这个停止位可
11、以约定连续1 位、1 .5 位或2 位的时间宽度。至此一个字符传送完毕,线路又进入空闲,连续为“1”。通过一段随机的时间后,下一个字符开始传送才有发出起始位。每一个数据位的宽度等于传送波特率的倒数。微机异步串行通信中,常用的波特率为5 0.95,110,150,3 0 0,600,12 0 0,24 0 0,4800,9600 等。接受方按约定的格式接受数据,并进行检查,可以查出以下三种错误:奇偶错:在约定奇偶检查的情况下,接受到的字符奇偶状态和约定不符。帧格式错:一个字符从起始位到停止位的总尾数不对。溢犯错:若先接受的字符尚未被微机读取,后面的字符又传送过来,则产生溢犯错。每一种错误都会给出
12、相应的犯错信息,提醒用户解决。一般串口调试都使用空的MODEM连接电缆,其连接方式如下:图2.3.2实用RS-232C通讯连线(b -t W五、程序分析本实验的代码如下:#i n c lude#include#inclu d e#incl u de#in c lu d e#i n clu d e#define BAUDRATE B 115200#define COM1 /d e v/ttyS0,#de fine C O M 2/dev/ttySl”#d e fine ENDMINITERM 27/*ESC to quit mini term*/#define FAL SE 0#define T
13、RUE 1v o l a t i l e i n t S T O P=F A L S E;v o 1 a t i l e i n t f d;v o i d c h i l d _ h a n d 1 e r (i n t s)Ip r i n t (s t o p!n );S T O P=T R U E;/*/V o i d*k e y b o a r d (v o i d*d a t e )1In t c;Fo r (;)c=g e t c h a r ();i f (c 二 E N D M I N I T E R M)S T O P=T U R E;Br e a k;)R e t u r
14、 n N U L L;)/*/*m o d e m i n p u t h a n d i e*/V o i d*r e c e i v e (v o i d*d a t e)In t c;P r i n t f (r e a d m o d e m n );W h i l e (S T O P=FAL S E)(R e a d (f d,&c ,1);/*c o m p o r t */W r i t e(l,&c,1);/*s t d o u t */)P r i n t f (e x i t f o r m r e a d i n g m o d e m n);R e t u r n N
15、 U L L;)/*./V o i d*s e n d (v o i d*d a t e )!In t =O;P r i n t f (s e n d d a t en );W h i l e(S T O P-FAL S E)/*m o d e r n i n p u t h a n d 1 er*/(C+;C%=255;W r i t e (f d ,&c,1);/*s t d o u t*/U s l e e p (1 0 0 00 0);)R e t u r n N U L L;/*/I n t m a i n (i n t a r g c,c h a r*a r g v )S t r
16、u c t t e r m i o s o 1 d t i o,n e w t i o,o l d s t d i o ,n e w s t d i o ;S t r u c t s i g a c t i o n s a ;I n t o k;P t h r e a d _ t t h _a;t h _ b ,t h _ c;V o i d *r e t v a l大If(a r g c l)Fd=o p e n(C0M 2,O R D W R);El s eFd=o p e n(CO M l,0_ R DW R);/|0_ N 0CT T Y I 0 _ N 0 N B L O C K);
17、I f (f d?A B CDE FGH1GHLMNOPQR S TUVW X由于内核已经将串口 1作为终端控制台,所以可以看到te rm发出的数据,却无法看到开发主机发来的数据,可以使用此外一台主机连接串口 2进行收发测试。Ct r 1+c可使程序强行退出。注意:假如在执行./te r m时出现下面的错误,可以通过我们前文提到的方法建立一个连接来解决。/d e v /ttySO:No s uch f ile or d ir e ctory解决方法:/mn t/y a f f s c d/dev/d e v 1 n-s f/d e v/t t s/0 ttySO(注意首字母是 1,不是数字 1
18、)实验四:A/D D/A接口实验AD部分一实验目的了解在LINUX环境下对S3C24 1 0 芯片的8 通 道 10位 A/D的操作与控制二实验内容学习AD接口远离,了解实现A D 系统对于系统的软件和硬件规定,阅读ARM芯片文献,掌握ARM的 AD相关寄存器的功能,熟悉A RM 系统硬件的AD相关接口 ul i yong外部模拟信号编程实现ARM循环采集所有前4 路通道,并且在超级终端上显示。三 实验环节1.进入/arm 2 4 1 Os/ex p/b a s ic/0 4 _a d 目录,使 用 v i 编辑器或者其他编辑器悦读理解源代码。2 .变异应用程序运营m a k e 产生a d
19、可执行文献 ro o t zxt/#c d/a r m2410s/e x p/b a s ic/0 4_ ad/r o otzxt04_ad#ma k ea rmv41-u nknown-1 inus-g c c c-o main.o main.carmv41-u n kn o w n-linu x-gcc-o./bi n/ad m a in.o-1 p t h readarm v 41-unknown-linux-gc c o ad mai n.o-lpth r eadr o o t z x t 0 4_a d#lsAd h ardwar e.h m a in.o M a k efile.b
20、ak s 3 c 2 410-a d c.hB in mai n.c Ma k efi 1 e readme,e x t sre3 下载调试换到m in i c o m 终端窗口,使用NFSm o un t 开发主机的/arm2 4 1 Os至 U/hos t目录r o otzxtroot#minic o m/mnt/yaf f smou n tt n fs o n ol o c k 192.168.0.5 6:/a r m2 4 lOs/h o st/mn t/yaff s cd/h o st/esp/b a s ic/04_ad/host/e x p/b a sic/04_adJ./adP
21、r e ss Ente r key e x i t!a 0=0.0032a 1=3.2 96 8 a2=3.2968我们可以通过调节开发板上的三个黄色的电位器,来看a0,a 1,a2,的变化DA部分-实验目的学习DA转换原理掌握MAX 5 04DA转换芯片的使用方法掌握不带有D A 的 C P U 扩 展 DA功能的重要方法了解DA驱动程序加入内核的方法二 实验内容学生DA接口原理,了解实现DA系统对于系统的软件和硬件的规定三 实验环节1 阅读理解源码进入/a rm241 0 s/ex p/b as i c/05_da目录,使 用 v i编辑器或者其他编辑器阅读理解源代码2.编译应用程序运营m
22、ake 产生d a 可执行文献d a_ma i nroot z x t/#c d/arm241 0 s/ex p/b as i c/0 5 _ ad/r oo t z x t04_ad#m a kearmv41-un k nown-1 i nus-gc c-c-o main.o mai n.carmv41-unk n ownlin u x-g cc d a _main.oo da_mai nrootzx t 05_ d a#Isda_m a in d a _ma i n.c da_main.o d oc drive r sMakefil e s 3 c44 b O-spi.h3.下载调试切换到
23、minicom终端窗口,使 用 NFS mount开发主机的/arm 2410 s 到/hos t 目录然后进入/h o s t/e x p/05_d a/dr i v e rs 目录,用 i nsmo d e x i o.o 命令插入 DA驱动,并且用 Ism o d 命令查看是否已经插入/mnt/ya f f s c d/host/esp/b a s i c/05_ad/h o s t/e xp/basic/0 5 _ a dc d d river s/h ost/exp/b a s i c/05_a d、driver s Jin s mod exi o,oUsi n g exio.o/h
24、 o st/exp/basic/O 5 _ a d/drivers Ism o dMo d u 1 e S i v e Us e d b u Not t a in t edExio 23840(u n use d)I 2 c-t o p s 2 14104 0(unus e d)进入/ho s t/e xp/basic/0 5 _ d a目录,运 营./d a _m ain观测运营结果的对的性,在输入./d a_m ai n 后会出现下面的提醒信息/host/exp/b a s ic/0 5 _da./d a_ mai nError p a r a mete rInpu t as:./ad_m
25、ai n da_ i d n u md a _id:s e lect b e t we e n 0 and 1n um:ra n geO.0 4.096这是由于我们没有制定参数导致的,他的格式为./da_m a in da的 id 号 数字,我们可以通过选 择 0 或 1 来决定输出到开发板上的哪个D A接口,同时还需要在0.0 4.09 6 V 之间来选择一个输出电压,下面的例子是用了开发板上的DA0且 输 出 IV 的电压,我们可以使用万用表对其进行测量。/host/e xp/b asi c/05_ad./da_m a i nO 1C u r r e ntV o 1 tage is 1.0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 LINU 嵌入式 实验 报告
限制150内