《嵌入式系统》实验报告指导书(含答案)
嵌入式系统实习报告

嵌入式系统实习报告一、嵌入式系统实习报告1、实习项目简介(1)在实习期间,我参与了一项嵌入式系统开发项目。
该项目的目标是设计和开发一个嵌入式系统,用于控制并监测一个温室的环境参数,如温度、湿度和光照强度等。
为了实现这个目标,我需要进行硬件设计、嵌入式编程和外设控制等方面的实践。
2、硬件设计经验和成果展示(1)在硬件设计方面,我负责选择和设计相应的传感器和执行器,并与其他团队成员进行紧密合作,确保系统的整体性能和稳定性。
我了解了传感器的工作原理和选择方法,并根据项目的需求选择了适合的温度、湿度和光照传感器。
在执行器方面,我选择了合适的风扇和灯光控制器,以便对温室内的环境进行调控。
(2)在设计过程中,我还学习了相关的电路原理和布局设计。
我根据传感器和执行器的要求,设计了相应的电路,并进行了仿真和测试。
通过这个过程,我熟悉了硬件设计的流程和方法,并深入了解了嵌入式系统的硬件架构。
3、嵌入式编程经验和成果展示(1)在嵌入式编程方面,我使用C语言进行了嵌入式系统的软件开发。
我根据项目的需求,编写了相应的程序,实现了对传感器和执行器的数据读取和控制。
我学习了嵌入式系统的基本编程思想和方法,如中断处理、定时器和IO口控制等。
(2)在编程过程中,我遇到了一些困难,如如何优化程序的运行效率和内存开销,以及如何处理实时数据的采集和处理等。
为了解决这些困难,我查阅了相关的资料并与导师和同事进行了讨论和交流。
最终,我通过对程序的优化和对数据采集时间的控制,成功解决了这些问题,并达到了预期的效果。
4、外设控制经验和成果展示(1)为了实现对温室环境的控制,我学习并实践了外设控制的方法。
我使用了GPIO接口来控制风扇和灯光的开关,通过PWM信号来控制风扇和灯光的转速和亮度。
我还学习了串口通信和I2C总线通信等方法,以实现与其他设备的数据交换和控制。
(2)在外设控制过程中,我也遇到了一些问题,如如何正确配置和使用外设引脚、如何处理外设的中断和异常等。
嵌入式系统实验报告

嵌入式系统实验报告引言嵌入式系统作为一种广泛应用于各行各业的计算机系统,其本身具有一定的难度与挑战。
本实验报告将围绕嵌入式系统的设计、开发以及应用展开讨论,旨在总结并分享在实验中所获得的经验与知识。
一. 实验背景嵌入式系统是指以特定功能为目标的计算机系统,其设计与开发过程相较于传统的计算机系统更为复杂和精细。
本次实验的主要目标是通过设计一个基于嵌入式系统的智能家居控制器,来探索嵌入式系统的应用与实践。
二. 实验内容2.1 硬件设计嵌入式系统的硬件设计是整个实验的基础,其合理性与稳定性直接影响系统的性能和可靠性。
在本次实验中,我们选择了一块主频为xx的处理器作为核心,配备了丰富的外设接口,如GPIO、串口等。
我们还为系统增加了一块液晶显示屏和一组按键,以实现简单的用户交互。
2.2 软件开发在硬件设计完成后,我们开始进行软件开发。
首先,我们需要选择一个合适的操作系统作为嵌入式系统的基础。
针对本次实验,我们选择了xx操作系统,其具备较强的实时性和稳定性,能够满足我们对系统性能的要求。
接着,我们进行了嵌入式系统的驱动程序开发。
通过编写各个外设的驱动程序,我们实现了与液晶显示屏和按键的交互,并将其与处理器进行了适当的接口配置。
另外,我们还开发了嵌入式系统的应用程序。
通过编写智能家居控制器的代码,我们成功实现了对家居设备的远程控制和监测。
用户可以通过液晶显示屏和按键进行交互,实现对家居设备的开关、调节和状态查看等操作。
三. 实验结果与分析经过实验测试,我们发现嵌入式系统在智能家居领域的应用具有较高的可行性与实用性。
通过嵌入式系统的控制,用户可以方便地实现对家居设备的远程操控,提升了家居智能化的程度。
同时,嵌入式系统的实时性和稳定性使得智能家居控制器具备了较高的安全性和可靠性。
然而,在实验过程中我们也遇到了一些挑战。
其中,系统的驱动程序开发是较为复杂的一环,需要仔细理解硬件接口和协议,并进行合理的配置。
此外,系统的稳定性和功耗管理也是需要重点关注的问题。
实验指导书基于STM32的嵌入式系统原理与设计.docx

实验指导书(实验)课程名称:基于STM32的嵌入式系统设计实验实验一电路板焊接与调试-•实验简介完成实验板上部分兀件的焊接,焊接完成后进行基本测试。
实验目的及原理掌握STM32F103实验板的基本原理,掌握焊接电路板的基本技能,掌握下载测试程序的基本方法。
原理:详细内容参考教材《基于STM32的嵌入式系统原理与设计》MCU和周边电路如图为MCU及其周边电路。
图1 MCU及其周边电路1. 唤醒电路,高有效,不按时接220K 电阻下拉。
2. 复位电路,低有效。
带RC 启动复位。
3. 配置启动,用跳线选择B00T1和BOOTO 接高电平或低电平。
4. 高速晶振电路,采用8M 晶振,在STM32内部倍频为72M 。
5. AD 参考电路,采用LC 滤波,可跳线选择直接接VCC 或通过TL431稳压电路产生的参考电压。
6. 后备电池。
可通过跳线选择直接接VCC 或电池。
7. AD 输入,可选择使用RC 滤波,共8路。
&低速晶振电路,选用32. 768kHz 晶振,为产生准确的串口波特率。
USB 转串口电路USB 转串口电路可以方便没有串口的笔记本电脑用户通过USB 接口下载代码到FLASH 中,及进行RS232串行通信。
USB 转串口芯片是CP2102,该芯片稳定性较好。
当其正常工作的时候,灯LED6亮。
该 芯片DP/D+引脚连MINI USB 接口的脚3, DM/D-引脚连MINI USB 接口的脚2,为一对USB 输入输出线。
TXD 与 RXD 引脚接 MCU 的 PA10 (USART1_RX)和 PA9 (USART1_TX)。
I2C 接口电路Jusbm USB图2 USB 转串口接口电路14NCNCNCNCNCNCNCONS.LO(一XE- (一ON 二 N (INHdsfls 二N 二一二乂ON本书选择的EEPROM 是AT24C02是256字节的电可擦出PROM,通过I2C 协议与STM32 进行通信,连接十分简单。
嵌入式系统实验报告

实验一系统认识实验一、实验目的学习Dais软件的操作,熟悉程序编写的操作步骤及调试方法。
二、实验设备PC计算机一台,Dais-52PRO+或Dais-PRO163C实验系统一套。
三、实验内容编写程序,将80h~8Fh共16 个数写入单片机内部RAM 的30h~3Fh空间。
四、实验步骤1.运行Dais软件,进入集成开发环境,软件弹出设置通信端口对话框(如图2-1-1),请确保实验装置与PC正确连接,并已打开实验装置电源,使其进入在待命状态。
这里选择与实验装置实际相连的通信端口,并单击“确定”。
如通信正确则进入Dais软件主界面,否则弹出“通信出错”的信息框(如图2-1-2),请检查后重试。
图2-1-1设置通信端口对话框图2-1-2通信错误信息框2.通信成功后,单击菜单栏“设置”→“仿真模式”项打开对话框,选择需要设置型号、程序/数据空间。
这里我们将型号设置为“MCS-51实验系统”,外部数据区设置为“系统RAM”,用户程序区设置为“片外(EA=0)”,如图2-1-3所示,最后单击“确定”按钮保存设置。
图2-1-3设置工作方式对话框3.工作方式设置完毕后,单击菜单栏“文件”→“新建”项或按Ctrl+N组合键(建议单击工具栏“”按钮)来新建一个文件,软件会出现一个空白的文件编辑窗口。
4.在新窗口中输入程序代码(A51\2_1.ASM):ORG 0000HLJMP MAINORG 0100HMAIN: MOV R1,#30H ;片内RAM首地址MOV A,#80H ;写入数据初值MOV R7,#16 ;循环变量LOOP1: MOV @R1,A ;写数据到片内RAMINC R1 ;地址增量INC A ;数据+1DJNZ R7,LOOP1 ;循环变量-1,不为0继续SJMP $ ;结束END5.单击菜单栏“文件”→“保存”项(建议单击工具栏“”按钮)保存文件。
若是新建的文件尚未命名,系统会弹出文件保存对话框(如图2-1-4),提示用户选择文件保存的路径和文件名,再单击“保存”按钮。
嵌入式实验报告,各实验答案

boot实验报告本次实验由于时间限制,共完成了三种不同的变化方式,但是课后又设计了一些其他的变化方式。
1、从左到右,再从右到左亮灯,不断循环#define LED_CS4 (*((volatile unsigned char *)(0x10500000)))#define LED_VALUE (0xff)int i;void Delay(unsigned int x){unsigned int i, j, k;for (i =0; i <=x; i++)for (j = 0; j <0xff; j++)for (k = 0; k <0xff; k++);}void dummyOs(void){while (1){LED_CS4 = 0xff;for (i = 1; i < =8; i++){LED_CS4 = (LED_VALUE << i) -1;Delay(200);}for (i = 7; i > 1; i--){LED_CS4 = (LED_VALUE << i) -1;Delay(200);}}}2、先从左到中,后从右到中,不断循环#define LED_CS4 (*((volatile unsigned char *)(0x10500000))) #define LED_VALUE (0xff)int i;void Delay(unsigned int x){unsigned int i, j, k;for (i =0; i <=x; i++)for (j = 0; j <0xff; j++)for (k = 0; k <0xff; k++);}void dummyOs(void){while (1){LED_CS4 = 0xff;for (i = 0; i <4; i++){LED_CS4 = (LED_VALUE << i) -1;Delay(200);}for (i = 7; i >= 4; i--){LED_CS4 = (LED_VALUE << i) -1;Delay(200);}}}3、从左到右,从右到左,隔一个跳#define LED_CS4 (*((volatile unsigned char *)(0x10500000))) #define LED_VALUE (0xff)int i;void Delay(unsigned int x){unsigned int i, j, k;for (i =0; i <=x; i++)for (j = 0; j <0xff; j++)for (k = 0; k <0xff; k++);}void dummyOs(void){while (1){LED_CS4 = 0xff;for (i = 1; i <8; i=i+2){LED_CS4 = (LED_VALUE << i) -1;Delay(200);}for (i = 7; i > 1; i=i-2){LED_CS4 = (LED_VALUE << i) -1;Delay(200);}}}课后补做:1、从左到右灯灭#define LED_CS4 (*((volatile unsigned char *)(0x10500000))) #define LED_VALUE (0xff)int i;void Delay(unsigned int x){unsigned int i, j, k;for (i =0; i <=x; i++)for (j = 0; j <0xff; j++)for (k = 0; k <0xff; k++);}void dummyOs(void){while (1){LED_CS4 = 0x00;for (i = 8; i > =1; i--){LED_CS4 = (LED_VALUE >> i) +1;Delay(200);}}}2、从左到右,再从右到左灯灭,不断循环#define LED_CS4 (*((volatile unsigned char *)(0x10500000))) #define LED_VALUE (0xff)int i;void Delay(unsigned int x){unsigned int i, j, k;for (i =0; i <=x; i++)for (j = 0; j <0xff; j++)for (k = 0; k <0xff; k++);}void dummyOs(void){while (1){LED_CS4 = 0x00;for (i = 8; i >= 1; i--){LED_CS4 = (LED_VALUE >> i) +1;Delay(200);}for (i = 1; i <7; i++){LED_CS4 = (LED_VALUE >> i) +1;Delay(200);}}}实验总结:数码管显示实验报告实验目的1.在实验一引导程序的基础上进一步了解ARM体系结构和编程方法;2.掌握外设访问的方法;3.理解8段数码管的显示原理实验内容1 显示同组的两位同学的四位学号2032 2033;2 显示一组大于九的四位十六进制数字,如abcd。
嵌入式系统试验报告

嵌入式系统实验报告学院:计算机科学与工程姓名:___________学号:_______________专业:_______________指导老师:______________完成日期:______________实验一:流水灯案例、8位数码管动态扫描案例一、实验目的1.1 进一步熟悉Keil C51集成开发环境调试功能的使用;1.2 学会自己编写程序,进行编译和仿真测试;1.3 利用开发板下载hex 文件后验证功能。
二、实验原理2.1 :实验原理图030B 〜I ।卜RSI I ™Hi 」 口 UICDR Hr hJJK RR 18q U I. 海水灯电浒周LhE U_EEM^Li > > 第 X > k >n - » =白 L a £0EBS2.2:工作原理2.2.1:流水灯电路中有LO,1,L2,L3,4,L5,L6,L7共八个发光二极管,当引脚LED_ SEL输入为1,对于A、B、C、D、E、F、G、H引脚,只要输入为1,则点亮相连接的发光二极管。
A〜H引脚连接STM32F108VB芯片的PE8〜PE15,程序初始化时,对其进行初始设置。
引脚LED_SEL为1时,发光二极管才工作,否则右边的数码管工作。
注意,LED SEL 连接于PB3,该引脚具有复用功能,在默认状态下,该引脚的I0不可用,需对AFIO_ MAPR寄存器进行设置,设置其为10可用。
2.2.2: 8位数码管数码管中的A~G、DP段分别连接到电路图中的A~G、H线上,当某段上有一-定的电压差值时,便会点亮该段。
当£3输入为1,也就是LED_ 5£1输入为0时,根据SELO〜SEL2的值确定选中的数码管,即位选,再根据A~H引脚的高低电平,点亮对应段,即段选。
三、实验结果3.1:流水灯对于给出的流水灯案例,下载HEX文件后,在开发板上可观察到L0-L7从左至右依次点亮,间隔300ms。
《嵌入式系统》实验报告指导书(含答案).

实验一熟悉嵌入式LINUX开发环境1、实验目的熟悉UP-TECHPXA270-S的开发环境。
学会WINDOWS环境与嵌入式Linu环境共享资源的基本方法。
2、实验内容学习UP-TECHPXA270-S系统的使用、XP和虚拟机之间传送文件方法以及UP-TECHPXA270-S和虚拟机之间共享目录的建立方法。
3、预备知识了解UP-TECHPXA270-S的基本结构和配置,Linux基本知识。
4、实验设备硬件:UP-TECHPXA270-S开发板、PC机(内存500M以上)。
软件:PC机操作系统RADHAND LINUX 9+MIMICOM+RAM LINUX操作系统5、实验步骤(1)、在虚拟机下练习Linux常用命令。
(注意以下操作只能在[root@BC root]#,也就是root文件夹下运行,不然会导致系统不能启动)a. 学习命令通过“man ***”和“*** --help”得到的命令使用方法。
b.学习并掌握如下命令:ls,cd ,pwd,cat,more,less,mkdir, rmdir ,rm,mv,cp,tar,ifconfig(2)、XP与虚拟机之间传送文件(Samba服务器建立、网络设置、文件传送);(3)、了解系统资源和连线;(4)、开发板与虚拟机之间共享目录建立(设置NFS、开发板IP设置、目录挂载),挂载文件;(5)vi(vim)的使用(6)输入qt,启动桌面,按CTRL+C退出6、实验报告要求(1)、XP和虚拟机之间传送文件步骤;虚拟机共享XP文件:选择虚拟机设置,设置要共享的文件启动Linux进入/mnt/hgfs即可看到共享文件夹服务器设置——samba服务器(设置需要共享的目录)XP共享虚拟机文件:服务器设置——samba服务器(设置需要共享的目录)确保网络的PING通(即在同一局域网):1.虚拟机的192.168.1.234(RH9)2.XP的为192.168.1.1253.在XP 下点击开始-》运行(\\192.168.1.234)4.用户名bc密码123456以上实现了Linux虚拟机(RH9)和XP的文件的共享(2)、开发板与虚拟机之间建立共享目录以及文件挂载步骤;1.服务器设置——nfs服务器(设置需要共享的目录)2.设置开发板的ip地址:ifconfig eth0 192.168.1.53.在实验箱终端里输入mount -t nfs -o nolock 192.168.1.234:/up-techpxa270/exp /mnt/nfs4./mnt/nfs即为共享目录(3)、请画出虚拟机、PC机和ARM实验箱之间的硬件连接图;(4)、在Linux中怎样配置网络;系统设置->网络,在新的选项卡中(5)、实验中遇到的问题与解决过程。
嵌入式系统实验报告.doc

嵌入式系统实验报告..嵌入式系统设计实验报告班级:学号:姓名:成绩:指导教师:1. 实验一1.1 实验名称博创UP-学号:姓名:成绩:指导教师:1. 实验一1.1 实验名称博创UP:运行Windows 系统下的超级终端(HyperTerminal)应用程序,新建一个通信终端;在接下来的对话框中选择ARM开发平台实际连接的PC机串口;完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存,将当前设置保存为一个特定超级终端到桌面上,以备后用。
(2)JTAG 驱动程序的安装:执行armJtag目录下armJtagSetup.exe程序,选择安装目录,安装JTAG 软件。
1.6 实验过程与分析(1)了解嵌入式系统开发流程(2)对硬件的安装(3)对软件的安装1.7 实验结果总结通过本次实验对嵌入式系统开发流程进行了了解,并且对硬件环境和软件环境进行了安装配置,通过本次实验对以后的接口实验打了基础。
1.8 心得体会通过本次实验对嵌入式实验有了初步的了解,对基本开发流程也有了初步的了解。
2. 实验二2.1 实验名称ADS1.2软件开发环境使用方法2.2 实验目的熟悉ADS1.2开发环境,学会ARM仿真器的使用。
使用ADS 编译、下载、调试并跟踪一段已有的程序,了解嵌入式开发的基本思想和过程。
2.3 实验环境(1)ADS1.2开发环境(2)博创UP-在接下来的对话框中选择ARM开发平台实际连接的PC机串口;完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存,将当前设置保存为一个特定超级终端到桌面上,以备后用。
(2)JTAG 驱动程序的安装:执行armJtag目录下armJtagSetup.exe程序,选择安装目录,安装JTAG 软件。
1.6 实验过程与分析(1)了解嵌入式系统开发流程(2)对硬件的安装(3)对软件的安装1.7 实验结果总结通过本次实验对嵌入式系统开发流程进行了了解,并且对硬件环境和软件环境进行了安装配置,通过本次实验对以后的接口实验打了基础。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一熟悉嵌入式LINUX开发环境1、实验目的熟悉UP-TECHPXA270-S的开发环境。
学会WINDOWS环境与嵌入式Linu环境共享资源的基本方法。
2、实验内容学习UP-TECHPXA270-S系统的使用、XP和虚拟机之间传送文件方法以及UP-TECHPXA270-S和虚拟机之间共享目录的建立方法。
3、预备知识了解UP-TECHPXA270-S的基本结构和配置,Linux基本知识。
4、实验设备硬件:UP-TECHPXA270-S开发板、PC机(内存500M以上)。
软件:PC机操作系统RADHAND LINUX 9+MIMICOM+RAM LINUX操作系统5、实验步骤(1)、在虚拟机下练习Linux常用命令。
(注意以下操作只能在[root@BC root]#,也就是root文件夹下运行,不然会导致系统不能启动)a. 学习命令通过“man ***”和“*** --help”得到的命令使用方法。
b.学习并掌握如下命令:ls,cd ,pwd,cat,more,less,mkdir, rmdir ,rm,mv,cp,tar,ifconfig(2)、XP与虚拟机之间传送文件(Samba服务器建立、网络设置、文件传送);(3)、了解系统资源和连线;(4)、开发板与虚拟机之间共享目录建立(设置NFS、开发板IP设置、目录挂载),挂载文件;(5)vi(vim)的使用(6)输入qt,启动桌面,按CTRL+C退出6、实验报告要求(1)、XP和虚拟机之间传送文件步骤;虚拟机共享XP文件:选择虚拟机设置,设置要共享的文件启动Linux进入/mnt/hgfs即可看到共享文件夹服务器设置——samba服务器(设置需要共享的目录)XP共享虚拟机文件:服务器设置——samba服务器(设置需要共享的目录)确保网络的PING通(即在同一局域网):1.虚拟机的192.168.1.234(RH9)2.XP的为192.168.1.1253.在XP 下点击开始-》运行(\\192.168.1.234)4.用户名bc密码123456以上实现了Linux虚拟机(RH9)和XP的文件的共享(2)、开发板与虚拟机之间建立共享目录以及文件挂载步骤;1.服务器设置——nfs服务器(设置需要共享的目录)2.设置开发板的ip地址:ifconfig eth0 192.168.1.53.在实验箱终端里输入mount -t nfs -o nolock 192.168.1.234:/up-techpxa270/exp /mnt/nfs4./mnt/nfs即为共享目录(3)、请画出虚拟机、PC机和ARM实验箱之间的硬件连接图;(4)、在Linux中怎样配置网络;系统设置->网络,在新的选项卡中(5)、实验中遇到的问题与解决过程。
第一个实验相对简单些就是熟悉实验环境,然后练习了文件挂载,学会了开发板和虚拟机之间传送文件的方法。
挂载时我觉得难点是容易忽略IP的配置,若两者IP不在同一局域网,则挂载不成功。
最后是练习VI编辑器的使用,VI 编辑器在上学期学过,这次只是重新熟悉下。
实验二嵌入式LINUX系统的编程1、实验目的熟悉UP-TECHPXA270-S下Linux的开发环境,了解GNU/make工具的工作原理。
学会使用makefile管理项目,学会编写一个Makefile文件。
熟悉arm-linux-gcc交叉编译的使用,了解嵌入式开发的基本过程。
2、实验内容新建一个目录,编写几个源文件,使用makefile 管理项目。
学习在linux 下的编程和编译过程,以及UP-TECHPXA270-S 开发板开发环境的设置。
下载已经编译好的文件到UP-TECHPXA270-S 开发板中运行。
3、预备知识C 语言的基础知识、程序调试的基础知识和方法,LINUX 的基本操作。
4、实验设备及工具(包括软件调试工具)硬件:UP-TECHPXA270-S 嵌入式开发板、PC 机Pentumn500 以上, 硬盘10G 以上。
软件:PC 机操作系统REDHAT LINUX 9.0 +MINICOM + ARM-LINUX 开发环境5、实验步骤(1)、建立工作目录(2)、编写程序源代码(3)、编写makefile 文件(4)、编译应用程序(5)、下载调试(6)、写一个简单的工程,并输出自己的姓名和学号,利用Makefile管理工程,并写出Makefile文件,进行调试。
6、实验报告要求(1)、写清每步实验步骤的具体操作内容。
1.建立工作目录:先挂载:服务器设置——nfs服务器(设置需要共享的目录)设置开发板的ip地址:ifconfig eth0 192.168.1.5在实验箱终端里输入mount -t nfs -o nolock 192.168.1. 234:/up-techpxa270/exp /mnt/nfs /mnt/nfs即为共享目录在/mnt/nfs下建立自己的目录:mkdir cz2.编写程序源代码使用VI编辑器在工作目录写入源代码3.编写makefile 文件使用 vi makefile命令来编写makefile文件4.编译应用程序使用编译命令:make –f makefile 来编译程序5.下载调试在宿主PC上启动NFS服务并设置共享目录。
就可进行两者通信了。
6.写一个简单的工程,并输出自己的姓名和学号,利用Makefile管理工程,并写出Makefile文件,进行调试。
(2)、简述Makefile文件的规则。
Makefile文件 Makefile 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。
makefile是一个make的规则描述脚本文件,包括四种类型行:目标行、命令行、宏定义行和make伪指令行(如“include”)。
makefile文件中注释以“#”开头。
当一行写不下时,可以用续行符“\”转入下一行。
(3)、简述调试情况。
先是*.h和*.c文件的编写,最后是makefile文件编写。
写好makefile文件amake 后,用命令:make –f amake进行编译,但是一直提示一个错误,说是amake 文件第6行出错,然后使用vi amake命令进行amake文件修改,但还是出错,花了半个多小时都没成功,后来重新编写amake文件才得以编译成功。
我猜测是第一次写amake文件时,加入了不能识别的字符。
实验三串行端口程序设计1、实验目的了解在Linux 环境下串行程序设计的基本方法;掌握终端的主要属性及设置方法;熟悉终端IO 函数的使用;完成串口的收发处理。
2、实验内容读懂程序源代码,学习终端IO 函数tcgetattr(), tcsetattr(),tcflush()的使用方法,学习将多线程编程应用到串口的接收和发送程序设计中。
3、预备知识有 C 语言基础;掌握 Makefile 的编写和使用;掌握 Linux 下的程序编译与交叉编译过程4、实验设备及工具硬件:UP-TECHPXA270-S 嵌入式开发板、PC 机Pentumn500 以上, 硬盘10G 以上。
软件:PC 机操作系统REDHAT LINUX 9.0 +MINICOM + ARM-LINUX 开发环境5、实验步骤(1)、将E盘下的03_tty复制到D:\PXA270\Share下;将虚拟机的共享打开;(2)、主机A的虚拟机添加串口,主机A的COM1与实验箱ttyS1相连,实验箱ttyS0与另一台PC机B相连;(3)、将每台虚拟机linux的/up-techpxa270/exp/basic/03_tty删除,将两台主机的D:\PXA270\Share\03_tty复制到虚拟机linux下的/up-techpxa270/exp/basic下;(4)、进入/up-techpxa270/exp/basic/03_tty 目录,使用vi 编辑器或其他编辑器阅读理解serial_rcv和serial_send的源代码。
(5)、分别编译serial_rcv和serial_send下的源文件生成可执行文件。
(6)、自主选择作为发送端或接收端,并修改相应的代码。
(7)、挂载PC机B的/up-techpxa270/exp到开发板的/mnt/nfs。
(8)、在开发板和PC机Alinux下运行可执行程序,一个发送数据,一个接收数据。
(9)、修改程序,使发送端发送一个特定字符给接收端,且发送端回显一个字符或一句话。
6、实验报告要求(1)、写清每步实验步骤的具体操作内容。
1.将E盘下的03_tty复制到D:\PXA270\Share下;将虚拟机的共享打开:打开虚拟机,选择red hat 的设置,在“选项”的选项卡下打开虚拟机共享2.主机A的虚拟机添加串口,主机A的COM1与实验箱ttyS1相连,实验箱ttyS0与另一台PC机B相连;3.将每台虚拟机linux的/up-techpxa270/exp/basic/03_tty删除,分别将两台主机的D:\PXA270\Share\03_tty复制到虚拟机linux下的/up-techpxa270/exp/basic下;4.进入/up-techpxa270/exp/basic/03_tty 目录,使用vi 编辑器或其他编辑器阅读理解serial_rcv和serial_send的源代码。
5.分别编译serial_rcv和serial_send下的源文件生成可执行文件。
使用make 命令在linux平台编译6.自主选择作为发送端或接收端,并修改相应的代码。
7.挂载PC机B的/up-techpxa270/exp到开发板的/mnt/nfs。
服务器设置——nfs服务器(设置需要共享的目录),设置开发板的ip地址:ifconfig eth0 192.168.1.5,在实验箱终端里输入mount -t nfs -o nolock 192.168.1. 234:/up-techpxa270/exp /mnt/nfs ,/mnt/nfs即为共享目录8.在开发板和PC机Alinux下运行可执行程序,一个发送数据,一个接收数据。
运行程序:./serial9.修改程序,使发送端发送一个特定字符给接收端,且发送端回显一个字符或一句话。
while(1){*serial_buf = getchar();if(getchar()==’a’){printf(“hello world!\n”);}write(serial_fd, serial_buf, 1);}(2)、232串行通讯的数据格式是什么?(3)、串行通讯最少需要几根线,分别如何连接?最少需要3根线,分别是RXD(接收数据)、TXD(发送数据)、GND(信号地)。