ImageVerifierCode 换一换
格式:DOC , 页数:95 ,大小:3.63MB ,
资源ID:4751770      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4751770.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(嵌入式linux系统设计与开发实验指导书V1.5.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

嵌入式linux系统设计与开发实验指导书V1.5.doc

1、 嵌入式Linux系统设计与开发 实验指导书 计算机学院 2010年4月 95 《嵌入式LINUX系统设计与开发》实验指导书纲要 1.目的 辅助《嵌入式linux系统设计与开发》理论教学,提高学生嵌入式方向的实验、实践操作能力及创新开发能力。 2.内容 章节 主要知识点 实验内容 实训目标及要求 学时 实验性质 实验级别 第一章 嵌入式linux开发基础 1. 开发平台简介 2. 开发流程 3. 构建嵌入式linux系统的环境 1. 熟悉嵌入式科研教学平台UP-Techpx

2、a270s的使用 2. 构建嵌入式linxu系统开发环境 3. 通过minicom或超级终端进行宿主机及开发板的通讯并查看开发板系统目录 1. 掌握嵌入式LINXU系统开发流程 2. 掌握软硬件开发环境的建立及使用 2 验证性 必做 第二章 嵌入式linux系统基础 1. Makefile编写 2. Linux多线程库编程 3. 进程应用程序设计 1. Makefile与Helloworld 2. 生产者——消费者协议 3. 进程管理模拟实验 1. 熟练掌握makefile写法 2. 掌握linux c程序开发,具有使用多线程编程能力 3. 掌握进程应用程序

3、的设计与实现 3 综合性 必做 第三章 嵌入式linux内核 1. Bootloader引导系统 2. Linux内核定制、裁剪及添加 3. 文件系统的构建 1. Blob的重新烧写 2. Linux内核裁剪及编译 3. 文件系统的构建 1. 理解ARM的初始化及引导过程 2. 熟练掌握内核定制、裁剪及添加 3. 掌握busybox构建文件系统 6 设计性 必做 第四章 嵌入式linux接口设计与驱动程序 1. 驱动程序结构 2. Framebuffer机制 3. 触摸屏 4. V4L 5. IDE_CF 6. Usb 1. 虚拟驱动模块实验

4、 2. Lcd控制实验 3. Tslib移植和使用 4. Linux视频V4L驱动实验 5. CF模块、U盘接口实验 1. 熟练掌握驱动程序结构 2. 读懂并理解触摸屏、LCD、等驱动程序与测试程序的设计与编写 6 综合性 选做 第五章 嵌入式linux开源软件移植与应用 1. 嵌入式web服务器goahead 2. 嵌入式数据库SQLite 3. 嵌入式媒体播放器Mplayer 4. Web服务gSOAP 5. Web浏览器Konqueror 6. 开源软件移植的一般过程与注意事项 1. 嵌入式web服务器goahead实验 2. SQLite移植实验

5、 3. Mplayer到ARM平台上的移植 4. Web服务gSOAP实验 5. Web浏览器Konqueror移植 1. 掌握开源软件移植的一般过程 2. 理解相关软件的版本与依赖关系,包括交叉编译器 6 综合性 选做 第六章 嵌入式linux下的通信应用 1. 串口通信 2. 网络通信 3. 蓝牙通信 4. Can总线通信 5. GPRS/GPS通信 1. 串口通信实验 2. socket相关程序设计 3. 蓝牙通信实验 4. Can总线实验 5. GPRS/GPS通信实验 1. 掌握四种常用的通信方式,理解相关的程序设计思路与实现方式 2.

6、透彻理解can总线原理,熟练掌握基于该总线下的程序设计 6 综合性 选做 第七章 嵌入式图形界面用户编程——QT 1. 嵌入式GUI 2. QT/QTE移植与程序设计 3. Qtopia平台的移植和编程操作 1. Qt图形界面相关程序设计 2. 电子点菜系统 1. 理解QT/QTE与Qtopia的移植过程和相应程序设计方法 2. 掌握qt与qtopia的程序设计 3 设计性 选做 第八章 综合项目实例 1. 嵌入式linux系统的一般设计与开发过程 2. 综合项目开发实践 1. 基于嵌入式平台的电梯监控系统 2. 基于蓝牙的无线点菜系统 3. 基于嵌

7、入式与web service的智能家居系统 1. 掌握嵌入式linux系统一般设计与开发过程 2. 掌握按格式要求,撰写高质量的设计与开发报告,体会软件工程过程 3. 培养学生良好的团队协作精神 4. 培养学生对实际嵌入式项目良好的独立思考和解决问题的能力 - 设计性 选做 3.参考教材 l UP-TECHPXA270-S-LINUX实验指导书 博创科技 l 俞辉 嵌入式linux实验实例实例教程 机械工业出版社 目录 第一章 嵌入式LINUX开发基础 5 1. 开发平台简介 5 2. 嵌入式Linux 开发流程 7 实验1.1:建立嵌入式linux系统开

8、发环境 8 第二章 嵌入式LINUX系统基础 19 实验2.1:Makefile和Hello world 19 实验2.2:多线程应用程序设计——生产者-消费者协议 22 第三章 嵌入式LINUX内核 26 实验3.1:引导装载程序(BOOTLOADER)移植实验-BLOB 26 实验3.2:Linux 内核移植与编译实验 33 实验3.3:文件系统实验 36 第四章 嵌入式LINUX接口设计与驱动程序 44 实验4.1:虚拟驱动模块实验 44 实验4.2:LCD控制实验 50 实验4.3:触摸屏驱动实验 58 实验4.4:IDE_CF卡模块读写实验 63 实验4.5

9、U盘接口实验 66 第五章 嵌入式LINUX开源软件移植与应用 70 实验5.1:嵌入式web服务器goahead实验 70 实验5.2: SQLite移植实验 71 实验5.3: Mplayer到ARM平台上的移植 72 实验5.4: Web服务gSOAP实验 72 实验5.5: Web浏览器Konqueror移植 73 第六章 嵌入式LINUX下的通信应用 75 实验6.1:串行端口程序设计 75 实验6.2:网络传输实验 77 实验6.3:蓝牙无线通讯实验 79 实验6.4:CAN总线实验 86 第七章 嵌入式图形界面用户编程——QT 88 实验7.1:Qt图

10、形界面相关实验 88 实验7.2: 89 实验7.3: 91 第八章 综合项目实例 93 实验8.1: 93 实验8.2: 94 实验8.3: 94 第一章 嵌入式linux开发基础 1. 开发平台简介 嵌入式linux系统的实验实践教学中,使用的是pxa270平台。如图,图1-1为up-techpxa270s实验箱正视图。 基于Intel XSCALE 架构最新的PXA270 嵌入式微处理器最高主频可达624MHz,加入了Wireless MMX 技术,大大提升了多媒体处理能力;同时PXA270 还加入了Intel SpeedStep动态电源管理技术,在保证CP

11、U 性能的情况下,最大限度地降低移动设备功耗。PXA270可以广泛应用于PDA、智能手机、PMP 产品中。 图1-1:Up-techpxa270-S实验箱正视图 博创科技的UP-TECHPXA270 教学科研平台主要是面向计算机、软件专业的高端平台,微处理器主频稳定运行在520MHz,可运行WinCE5.0 和Linux 2.6.x 操作系统,支持QT/E、miniGUI 等嵌入式图形界面,提供完整的驱动和应用程序。 UP-TECHPXA270 教学科研平台由处理器核心板、主板及LCD 三部份组成。 UP-TECHPXA270 核心模块资源: 􀂾

12、 基于Intel XScale 架构内核的嵌入式处理器PXA270,内部集成iwmmx 指令,加速处理 器对多媒体数据的 处理速度。 n 系统稳定工作在520MHZ 主频 n 64MB SDRAM、16MB Nor Flash、64MB Nand Flash 库 n UP-TECHPXA270 主板资源: n 10M/100M 以太网 n AC97 音频接口 n 8”TFT LCD,分辩率为640x480 n VGA 接口 n USB 主(host)接口4 个,从(device)接口1 个 n CF 卡接口 n IDE 接口 n SD 卡接口 n PCMCIA 接

13、口(可以扩展有线/无线网路接口等) n PS2 鼠标键盘接口 n CMOS 摄像头接口 n 触摸屏(四线电阻式) n 2 个RS232 标准串口 n JTAG 接口(包括14Pin 和20Pin 标准) n 32 位扩展总线接口,和UP-NetARM2410、UP-NetARM2410-S 平台兼容。 n irDA 接口 n 实时时钟 n IIC、SPI 接口 开箱指南 博创科技UP-TECHPXA270 教学科研平台包含以下部分:开发板、电源、网线、串口线、并口线、并口JTAG 转换线、随机附带光盘。 UP-TECHPXA270 软件资源: n bootlo

14、ader:blob n 操作系统:linux 2.4.x 和linux 2.6.x 内核 UP-TECHPXA270 应用软件: n mplayer 媒体播放器,实现MPEG4、AVI、WMV 等多种媒体解码。 n GUI:QT/E、miniGUI n 摄像头视频采集 硬件连接 1.UP-TECHPXA270 外围端口说明 n 电源:电源输入插座,直流电9V-12V 输入。 n 串口1,对应了PXA270 处理器的Bluetooth 功能的串口,三线串口标准。 n 串口0,对应了PXA270 处理器的全功能串口,九线串口标准。 n VGA 接口,可以直接和显示器,投影

15、仪等连接。DB19 阴性插座标准。 n USB 主控(host)端口4 个,包括过流保护和ESD 保护,支持热插拔。 n 主板上FPGA,使用Altera 公司的cyclone 系列EP1C3T144。 n USB 设备(device)端口 n 8、10/100M 自适应以太网接口 n 主板上FPGA 的编程接口 n pxa270 的JTAG 接口,包括14Pin 和20Pin 两种标准 n LCD 背光逆变器模块,注意高压! n 12、168Pin 扩展总线插座 n 13、6x6 键盘扫描接口 n 14、PS/2 鼠标键盘接口 n 15、触摸屏接口, n 16、CF

16、卡接口,此CF 卡工作在IDE 模式。和背面的IDE 硬盘接口公用一个IDE 通道。默认情况下CF 为主IDE 设备,IDE 硬盘为从IDE 设备。 n 17、扩展LCD 接口,支持TFT 、CSTN 等LCD 模式 n 18、MMC 卡接口。 n 19、板载MIC 接口。当音频插座连接以后,MIC 输入自动切换到音频插座。 n 20、音频输入输出插座。 n 21、音量调节电位器旋钮。 n 22、PCMCIA 接口,通过转接器可以支持CF 卡。 n 23、复位按钮。 n 24、电源按钮。其工作模式类似于ATX 电源。系统插上电源,按一下此轻触开关,系统上电。再按一下此轻触开关,

17、系统电源关闭。当系统起来以后,可以通过控制FPGA 寄存器,死锁电源按钮(即,单击轻触开关,对系统没有影响)。但是,可以通过长按此开关3 秒钟,使系统电源关闭。 2.系统硬件资源分配 外设 说明 bank 物理地址范围 总线 中断数 Nor flash 系统启动,存储操做系统内核、参数等信息 0 0x0—0x1000000 16 位 0 Nand Flash 系统的海量存储 1 0x04000000-0x04000008 16 位 0 FPGA 管理系统中断等外设 2 0x08000000-0x08000400 32 位

18、注1 IDE 系统IDE 和CF 接口 2 0x08800000-0x08800040 32 位 1 PCMCIA 16 位PCMCIA 接口 (3) 0x20000000—0x30000000 16 位 2 网卡 SMC91c111,10/100M 网卡芯片 4 0x10000000—0x10010000 32 位 1 连接系统 首先,连接电源,将随机附带的一根电源线的一头插入到UP-TECHPXA270-S 的电源接口,将电源线的另外一端插入到电源插座中;然后连接串口线,一端连接PC 的串口,另一端连接到如图1所示的串口;最后连

19、接网线,将随即附带的灰色的网线一端连接到UP-TECHPXA270 的网口(靠近电源的),另一端连接到本地的局域网中。 提示:a. UP-TECHPXA270-S 具有两个串口,分别为UART0 和UART1,在本手册中使用UART0,即 下方的串口。 b.随机附带的的网线用作直接连接UP-TECHPXA270-S 和PC c.FPGA 通过PAX270-S 处理器的GPIO0 扩展中断 2. 嵌入式Linux 开发流程 在一个嵌入式系统中使用linux 开发,根据应用需求的不同有不同的配置开发方法,但是一般都要经过如下的过程: ① 建立开

20、发环境,操作系统一般使用REDHAT-LINUX,版本7 到9 都可以,选择定制安装或全部安装,通过网络下载相应的GCC 交叉编译器进行安装(比如arm-linux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的交叉编译器。 ② 配置开发主机,配置MINICOM,一般的参数为波特率115200,数据位8 位,停止位1,无奇偶校验,软件硬件流控设为无。在WINDOWS 下的超级终端的配置也是这样。MINICOM 软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。配置网络,主要是配置NFS 网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。 ③ 建

21、立引导装载程序BOOTLOADER,从网络上下载一些公开源代码的BOOTLOADER,如U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT 等,根据自己具体芯片进行移植修改。有些芯片没有内置引导装载程序,比如三星的ARM7、ARM9 系列芯片,这样就需要编写烧写开发板上FLASH 的烧写程序,网络上有免费下载的WINDOWS 下通过JTAG 并口简易仿真器烧写ARM 外围FLASH 芯片的烧写程序。也有LINUX 下的公开源代码的J-FLASH 程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是让系统可以正常运行的第一步。如果你购买了厂家的

22、仿真器当然比较容易烧写FLASH 了,这对于需要迅速开发自己的应用的人来说可以极大提高开发速度,但是其中的核心技术是无法了解的。 ④ 下载别人已经移植好的LINUX 操作系统,如UCLINUX、ARM-LINUX、PPC-LINUX 等,如果有专门针对你所使用的CPU 移植好的LINUX 操作系统那是再好不过,下载后再添加自己的特定硬件的驱动程序,进行调试修改,对于带MMU 的CPU 可以使用模块方式调试驱动,对于UCLINUX 这样的系统好像只能编译进内核进行调试。 ⑤ 建立根文件系统,从 下载使用BUSYBOX 软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他

23、的程序。默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc 目录下,包括: /etc/init.d/rc.S 、/etc/profile 、/etc/.profile 等, 自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs genromfs 等工具产生烧写映象文件。 ⑥ 建立应用程序的FLASH 磁盘分区,一般使用JFFS2 或YAFFS 文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性FLASH(NOR 型)512K-32M,有的系

24、统使用非线性FLASH(NAND 型)8-512M,有的两个同时使用,需要根据应用规划FLASH 的分区方案。 ⑦ 开发应用程序,可以放入根文件系统中,也可以放入YAFFS、JFFS2 文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于UCOS-II 的方式。 ⑧ 烧写内核、根文件系统、应用程序。 ⑨ 发布产品。 实验1.1:建立嵌入式linux系统开发环境 一、实验目标: 1.熟悉linux操作系统的使用。 2.掌握嵌入式系统开发环境的建立。 二、预备知识: 掌握linux的基本操作。 三、实验环境: 1.硬件:UP-TECHPXA270

25、S 嵌入式开发板、PC 机Pentumn500 以上, 硬盘10G 以上。 2.软件:PC 机操作系统REDHAT LINUX federal 8.0(或 REDHAT LINUX 9.0) +MINICOM + ARM-LINUX 开发环境 四、情景描述: 配置网络,配置FTP,配置NFS及使用超级终端。 五、实验步骤: 1. 配置网络 配置网络,包括配置IP 地址、NFS 服务、防火墙。网络配置主要是要安装好以太网卡,对于一般常见的RTL8139 网卡,REDHAT9.0 可以自动识别并自动安装好,完全不要用户参与,因此建议使用该网卡。然后配置宿主机IP 为192.168.

26、0.121。如果是在有多台计算机使用的局域网环境使用此开发设备,IP 地址可以根据具体情况设置。如图1.4-1 所示: 图1.4-1 网络配置 双击设备eth0 的蓝色区域,进入以太网设置界面,如图1.4-2,1.4-3 所示: 图1.4-2 以太网常规设置界面 图1.4-3 以太网路由设置界面 对于REDHAT9.0,它默认的是打开了防火墙,因此对于外来的IP 访问它全部拒绝,这样其它网络设备根本无法访问它,即无法用NFS mount 它,许多网络功能都将无法使用。因此网络安装完毕后,应立即关闭防火墙。操作如下:点击红帽子开始菜单,选择安全级别设置,选中无防火墙。如图1

27、4-4 所示: 图1.4-4 安全级别设置 在系统设置菜单中选择服务器设置菜单,再选中服务菜单,将iptables 服务的勾去掉,并确保nfs 选项选中。 2. 配置NFS: 点击主菜单运行系统设置->服务器设置->NFS 服务器(英文为:SETUP->SYSTEM SERVICE->NFS),点击增加出现如下在界面,在目录(Drictory):中填入需要共享的路径,在主机(Hosts):中填入允许进行连接的主机IP 地址。并选择允许客户对共享目录的操作为只读(Read-only)或读写(Read/write)。如图1.4-5 所示: 图1.4-5 NFS 基本设置

28、下图1.4-6 是一些常规选项设置,可以作如下设置。 图1.4-6NFS 常规设置 下图1.4-7 是对客户端存取服务器的一些其他设置,按下图设置。 图1.4-7 NFS 用户访问设置 当将远程根用户当作本地根用户时, 对于操作比较方便,但是安全性较差。最后点确定退出时则完成NFS 配置。配置好后,界面应显示如下图1.4-8 所示: 图1.4-8 配置好的NFS 我们也可以手工编写/etc/exports 文件,其格式如下:共享目录 可以连接的主机(读写权限,其他参数)例如:/up-techpxa270 192.168.0.*(rw,sync)表示将本机的/up-tec

29、hpxa270 目录共享给ip 地址为192.168.0.1-192.168.0.254 的所有计算机,可以读取和写入。修改好后保存,可以用以下命令开启nfs 服务:/etc/rc.d/init.d/nfs restart配置完成后,可用如下办法简单测试一下NFS 是否配置好了:在宿主机上自己mount 自己,看是否成功就可以判断NFS 是否配好了。例如在宿主机/目录下执行:mount 192.168.0.121:/ up-techpxa270 /mnt/nfs其中192.168.0.121 应修改为您自己主机的IP 地址。然后到/mnt/目录下看是否可以列出/up-techpxa270 目录

30、下的所有文件和目录,可以则说明mount 成功,NFS 配置成功。 3. 配置主机的TFTP 服务 方法(一):用vi 打开“/etc/xinetd.d/tftp”,做相应的修改。 vi /etc/xinetd.d/tftp 如下图示: 图 1.4-9 方法(二) :键入setup ;选择“System services”; 启用相应的服务。 图 1.4-10 图 1.4-11 重启xinetd 服务: /etc/rc.d/init.d/xinetd restart Pxa270 板的配置: 4.设置PC 机minicom 1) 在linux 平台的

31、X window 界面下建立一个终端(右键点击屏幕——>新建终端),在终端的命令行提示符后键入minicom,回车,您就会看到minicom 的启动画面(见图1.4-12)。若没有启动X window 则在命令行提示符后直接键入minicom。 图1.4-12 minicom 启动画面 2) minicom 启动后,先按Ctrl+A 键,再按Z 键(注意不是连续按,Ctrl+A 松开后才按Z),进入 主配置界面(见图1.4-13)。按”O”进入配置界面(见图1-17),按上下键选择Serial port setup, 进入端口设置界面,这里有几个重要选项改为如下值(见图1.4-14)

32、 (在Change which setting 后按哪个字母就进入哪项的配置,如按A 进行端口号配置。) A————Serial Device :/dev/ttyS0 (端口号使用串口1) E————BPS/par/bits :/115200 8N1 (波特率) F,E 硬件流,软件流都改为NO,若要使用PC 机的串口2 来接板子的串口1 做监控,改为: /dev/ttyS1 即可。 3) 选好后按ESC 键退出到图1.4-14 所示画面,选择Save setup as df1 保存退出,以后只要启动minicom 就是该配置,无需再做改动。 图1.4-13 主配置界面

33、图1.4-14 配置界面 图1.4-15 端口设置界面 2.通过minicom 终端对pxa270 板进行网络设置。 连接好开发板连线,上电,通过PC 机minicom 口,以root 身份登陆。 用ifconfig 命令查看当前开发板IP 的设置。修改/etc/rc.sysinit 文件中ifconfig eth0 192.168.0.102 为您自己想要的IP 地址。这里按照缺省的IP 设置值:192.168.0.102。 3.重启开发板,通过终端从PC 机ping 目标板的IP,确保网络连线通畅。 4.将主机中/up-techpxa270 挂载到开发板的/mnt/nfs

34、 mount -o nolock 192.168.0.121:/ up-techpxa270 /mnt/nfs (其中的IP 是主机的, 依个人设置填写) n Windows平台下设置调试串口 首先需要连接PC 串口,进行PC串口设置。连接串口至PC 相应接口,另一端连接在硬件平台的Uart0 上。确认连接无误。打开超级终端软件,进入如下图1-13 所示界面: 图1-13 填入连接名,选择图标,点击“确定”,如下图1-14 所示。 图1-14 连接时选择通讯使用串口,有的PC 可能有两个串口,使用时请确认选择已连接到平台的串口。点击“确定”。

35、 修改波特率为115200bps,数据流控制为“无”,结果如下图1-15 所示: 图1-15 之后点击“确定”。开启PXA270-S 硬件平台电源,监视超级终端输出,等待系统启动,表示配置完毕。如下图1-16 所示。 图1-16 ➔ 挂载RAMFS 分区 RamDisk 是把内存的一部分分配作为一个分区使用。换句话说,把用户的一部分内存,作为一 个硬盘驱动器使用,用户可以格式化,挂载,保存文件等等。RAMFS 就是用于RamDisk 的文件系统。 系统按照默认方式启动的时候,会挂载一个ramfs的文件系统:/tmp。使用者可以按照些下面的

36、 做法,在其它的挂载点上挂载其它的ramfs文件系统: % mkdir -p /ram1 % mount -t ramfs none /ram1 文件传输命令ftp: 5.配置主机的ftp: 􀁶 1.键入setup,选择system services 选项,启用vsftpd 功能。 图 1.4-16 2.启用vsftpd 功能:/etc/rc.d/init.d/vsftpd restart 􀁶 重启机器。 􀁶 使用ftp 服务:(用命令行方式) 1. 用ftp 命令登陆开发板。(开发板的IP:192.168.0.102)

37、 首先启动开发板的网络服务,启动后输入:inetd 然后宿主机端输入: ftp 192.168.0.102 2.以root 用户登陆,无密码. 3.常用命令: 􀁼 cd : 切换ftp 服务器的目录; 􀁼 bye :结束ftp 传输模式; 􀁼 dir (或ls): 显示目录中的文件及子目录列表; 􀁼 get : 下载单一文件; 􀁼 mget:下载多个文件; 􀁼 put: 上传单一文件; 􀁼 mput:上传多个文件; 􀁼 pwd:

38、显示当前目录; 􀁼 mkdir:添加子目录; 􀁼 rmdir:删除子目录; 􀁼 ! :表示执行本机命令;(例如:!mkdir:表示在本机上建目录) 六、思考题: 第二章 嵌入式linux系统基础 实验2.1:Makefile和Hello world 一、实验目标: 1.学会使用makefile 管理项目 2.熟悉arm-linux-gcc交叉编译的使用 二、预备知识: C 语言的基础知识、程序调试的基础知识和方法,LINUX 的基本操作。 三、实验环境: 1.硬件:UP-TECHPXA270-S 嵌入式

39、开发板、PC 机Pentumn500 以上, 硬盘10G 以上。 2.软件:PC 机操作系统REDHAT LINUX federal 8.0(或 REDHAT LINUX 9.0) +MINICOM + ARM-LINUX 开发环境 四、情景描述: 创建一个新目录,并且编写hello.c,start.c和Makefile等文件。之后将已经编写好的文件下载到开发板上运行。 五、实验步骤: 1. 建立工作目录 mkdir 01_hello cd 01_hello 2. 编写程序源代码 在LINUX 下的文本编辑器有许多,常用的是vim, Xwindow 界面下的gedit 等,我

40、们在开发过程中推荐使用vim,用户需要学习vim 的操作方法,请参考相关书籍中的关于vim 的操作指南。 本实验是在终端上打印出一个菱形.一个三角形(由*号构成)及打印一行字符hello,my friends。 主函数文件为start.c: #include "starfun.h" #include "hello.h" #include int main() { star1(); star2(); showhello(); return 0; } 其中所包含的头文件为:hello.h,starfun.h,stdio.h 在starfun.h 中定

41、义了两个函数star1(),star2()打印两个三角形: #ifndef STARFUN_H #define STARFUN_H #define NUM 4 #define NUMBER 3 int star1() { int i,j,k; for(k=1;k<=NUM;++k) { for(i=1;i<=(NUM-k);++i) printf(" "); for(j=1;j<=(2*k-1);++j) printf("*"); printf("\n"); } return 0; } int star2() { int i,j,k; for(k=NUMBE

42、R;k>=0;--k) { for(i=1;i<=(NUMBER-k+1);++i) printf(" "); for(j=1;j<=(2*k-1);++j) printf("*"); printf("\n"); } return 0; } #endif 在hello.h 中定义了一个函数hello(),此函数中又调用了starfun()中的star1()函数用来打印一 个三角形. #ifndef HELLO_H #define HELLO_H void hello() { star1(); printf("hello,my friends\n"); } #

43、endif 在hello.c 中对hello 函数进行了调用. void showhello() { hello(); } 3. 编写makefile 文件 由于交叉引用函数很复杂,因此编写了一个简单的makefile 来组合这些头文件及主程序,将此 makefile 命名为:amake。因为所编写的程序要在pxa270 板上运行,因此指定了交叉编译器。 具体的编写如下: #amake file CC= arm-linux-gcc #指定编译器 EXEC=myprog #定义目标文件名 OBJS=star.o hello.o #为生成目标所使用的.o 文件 $(EXE

44、C):$(OBJS) #目标与.o 文件的依赖关系 $(CC) -o $(EXEC) $(OBJS) #生成可执行文件 star.o:starfun.h star.c #star.o 依赖starfun.h,star.c $(CC) -c star.c #生成star.o hello.o:starfun.h hello.h hello.c #hello.o 依赖starfun.h,hello.h,hello.c $(CC) -c hello.c #生成hello.o clean: #clean 伪目标 rm -f *.o $(EXEC) #执行make -f amake clea

45、n 时删除所有的.o 文件 4.编译应用程序 在终端上使用make -f amake 命令即可生成名为star 的可执行文件. 如果进行了修改,重新编译则运行: make clean –f amake make -f amake 注意编译、修改程序都是在开发计算机上进行,不要在MINICOM 的终端方式下进行。 5.下载调试 在宿主PC 计算机上启动NFS 服务,并设置好共享的目录,之后在开发板上运行: mount -o nolock 192.168.0.121:/ up-techpxa270 /mnt/nfs (实际IP 地址要根据实际情况修改,确保宿主机和开发板在同一网段

46、挂接宿主机的根目录。成功之后在开发板上进入/mnt 目录,便相应进入宿主机的/up-techpxa270 目录,再进入开发程序目录运行刚刚编译好的hello 程序,查看运行结果。 开发板挂接宿主计算机目录只需要挂接一次便可,只要开发板没有重启,就可以一直保持连接。这样可以反复修改、编译、调试,不需要下载到开发板的过程,当然当调试好程序后,你也可以下载到开发板运行。 六、思考题: 分析01_hello 目录下的Makefile_rule 文件和上一级目录下的Rules.mak 文件,并查阅相关参考书,学习makefile 文件的编写,并尝试用make –f Makefile_rule

47、 命令编译。查阅相关参考书,分析01_hello 目录下的makefile_03 文件的语法,尝试用make –f makefile_03 命令编译,并运行生成的myprog 应用程序,看是否和上边的运行结果一致,体会makefile 项目管理方式的优点。 实验2.2:多线程应用程序设计——生产者-消费者协议 一、实验目标: 1.了解多线程程序设计的基本原理。 2.学习pthread 库函数的使用。 二、预备知识: 1. 有C 语言基础。 2. 掌握在Linux 下常用编辑器的使用。 3. 掌握Makefile 的编写和使用。 4. 掌握Linux 下的程序编译与交叉编译过程

48、 三、实验环境: 1.硬件:UP-TECHPXA270-S 嵌入式开发板、PC 机Pentumn500 以上, 硬盘10G 以上。 2.软件:PC 机操作系统REDHAT LINUX federal 8.0(或 REDHAT LINUX 9.0) +MINICOM + ARM-LINUX 开发环境 四、情景描述: 读懂pthread.c 的源代码,熟悉几个重要的PTHREAD 库函数的使用。掌握共享锁和信号量的使用方法。 五、实验步骤: 1.进入exp/basic/02_pthread 目录,使用vi 编辑器或其他编辑器阅读理解源代码。 2.运行make 产生pthread 可

49、执行文件。 3.切换到minicom 终端窗口,使用NFS mount 开发主机的/up-techpxa270 到/mnt 目录。 4.进入/mnt/exp/basic/pthread 目录,运行./pthread,观察运行结果的正确性,若显示结果太快,可以用以下命令输出显示结果到pthread.txt 文件./pthread >pthread.txt,然后再用cat pthread.txt 察看文件内容,结合程序分析结果。 5.修改一些参数,再次运行调试,加深对多线程的理解。 6.参考源代码: #include #include #in

50、clude #include "pthread.h" #define BUFFER_SIZE 16 /* Circular buffer of integers. */ struct prodcons { int buffer[BUFFER_SIZE]; /* the actual data */ pthread_mutex_t lock; /* mutex ensuring exclusive access to buffer */ int readpos, writepos; /* positions for reading and writing */ pthread_cond_t notempty; /* signaled when buffer is not empty */ pthread_cond_t notfull; /* signaled whe

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服