嵌入式系统和应用第三四次实验

合集下载

嵌入式系统实验报告

嵌入式系统实验报告

嵌入式系统实验报告在本学期的嵌入式系统课程中,我与我的实验伙伴进行了多次实验。

在这篇报告中,我将分享我们实验的过程和结果。

实验一:GPIO控制LED灯在这个实验中,我们使用了Raspberry Pi 3B+开发板和一根杜邦线。

我们在电路板上将一盏LED灯与GPIO引脚连接起来,并编写了一个程序来控制这个引脚的电平状态。

在这个实验中,我们学习了GPIO的基本概念以及如何使用Python编程语言编写GPIO控制程序。

我们成功地让LED灯在不同的时间间隔内闪烁,并且了解了如何使用GPIO.setup()和GPIO.output()函数来控制GPIO引脚的输入和输出。

实验二:串口通信在第二个实验中,我们使用了两个Raspberry Pi 3B+开发板和两根串口线。

我们连接了两个板子的GPIO引脚,使得它们可以通过串口进行通信。

我们使用Python编写了两个程序来进行通信。

一个程序将发送一条消息,另一个程序将接收这个消息并将其打印出来。

通过使用串口通信,我们学会了如何使用Python编写程序来完成数据交换,并掌握了串口通信的基本概念。

实验三:Pi camera模块在第三个实验中,我们使用了Pi camera模块和一个Raspberry Pi 3B+开发板。

我们将摄像头连接到开发板上,并编写了一个程序来捕捉摄像头图像。

我们学习了如何使用Python编程语言来控制Pi camera模块,包括如何设置摄像头参数并如何捕捉静态图像。

我们还尝试了使用OpenCV库来处理图像。

实验四:蓝牙控制在最后一个实验中,我们使用了一个蓝牙透传模块、Raspberry Pi 3B+开发板和一些电路元件。

我们将蓝牙透传模块连接到GPIO引脚,并编写了一个程序来通过蓝牙信号控制电机。

在这个实验中,我们学习了如何使用蓝牙模块进行无线控制。

我们通过使用Python编写控制程序,成功地将蓝牙信号转换成GPIO引脚的电平信号来控制电机。

总结在这个嵌入式系统的实验中,我们学习了许多关于嵌入式系统的知识和技能。

嵌入式系统原理及应用实验报告

嵌入式系统原理及应用实验报告

嵌⼊式系统原理及应⽤实验报告嵌⼊式系统原理及应⽤1、实验⽬的练习ARM汇编语⾔程序设计。

2、实验环境PC个⼈计算机、Windows XP操作系统、ADS1.2集成开发环境软件。

3、实验要求⽤ARM指令集设计⼀段汇编语⾔程序,完成两个64位⼆进制数的乘法运算,两个乘数分别放在r1、r0和r3、r2中(r1和r3放⾼位字),结果存在r7、r6、r5、r4中。

4实验原理及基本技术线路图ARM的乘法指令把⼀对寄存器的内容相乘,然后根据指令类型把结果累加到其它的寄存器。

长整形的“乘累加”要使⽤代表64位的⼀对寄存器,最终的结果放在⼀个⽬标寄存器或者⼀对寄存器中。

乘法指令的语法:MLA {}{S} Rd,Rm,Rs,RnMUL{}{S} Rd,Rm,RsMLA 乘累加Rd=(Rm×Rs)+RnMUL 乘法Rd=Rm×Rs{}{S} RdLo,RdHi,Rm,RsSMLAL 长整型有符号乘累加[RdHi,RdLo]=[RdHi,RdLo]+(Rm×Rs)SMULL 长整型有符号乘法[RdHi,RdLo]=Rm×RsUMLAL 长整型⽆符号乘累加[RdHi,RdLo]=[RdHi,RdLo]+(Rm×Rs)UMULL 长整型⽆符号乘法[RdHi,RdLo]=Rm×Rs长整型乘法指令产⽣64位的结果。

由于结果太⼤,不能存放在⼀个32位寄存器,所以把结果存放在2个32位的寄存器RdLo和RdHi中。

RdLo存放低32位,RdHi存放⾼32位。

利⽤UMULL和SUMLL指令可以进⾏32位宽度的⽆符号或有符号的整数乘法运算,得到64位的结果。

在实际应⽤中,有许多需要长整型乘法运算的应⽤。

例如,处理C中long long整型算术运算等。

对于64位整数乘法运算可利⽤如下页图所⽰的扩展⽅法来实现。

其中:R0,R1分别存放被乘数的低32位和⾼32位;R2,R3分别存放乘数的低32位和⾼32位;128位结果由低到⾼依次存放在R4,R5,R6,R7中。

嵌入式实验四实验报告

嵌入式实验四实验报告

嵌入式实验四实验报告实验四:嵌入式编程设计
实验设计目的:
1. 学习使用嵌入式开发工具进行编程设计;
2. 学习使用C语言编写嵌入式程序;
3. 学习使用GPIO模块进行输入输出;
4. 学习使用中断处理函数。

实验器材:
1. 嵌入式开发板;
2. USB数据线;
3. 电脑;
4. LED灯;
5. 电阻;
6. 蜂鸣器;
7. 其他必要的电路元件。

实验步骤:
1. 连接开发板和计算机,安装开发板驱动程序;
2. 打开嵌入式开发工具,创建一个新的工程;
3. 在工程中添加一个C文件,编写程序;
4. 编写程序实现以下功能:
- 使用GPIO模块控制LED灯的亮、灭;
- 使用GPIO模块读取按键状态;
- 使用GPIO模块控制蜂鸣器的开、关;
- 使用Timer模块计时;
- 使用中断处理函数处理外部中断;
- 其他必要的功能;
5. 编译程序,下载到开发板;
6. 运行程序,测试功能是否正常。

实验结果与分析:
实验结果应当是LED灯、蜂鸣器、按键正常工作,可以通过按键控制LED灯的亮、灭、蜂鸣器的开、关。

实验总结:
通过本次实验,我学会了使用嵌入式开发工具进行编程设计,掌握了使用C语言编写
嵌入式程序的方法。

通过实验,我深入理解了嵌入式系统的原理和实现方法,对嵌入
式系统的应用有了更加深入的了解。

在今后的学习和工作中,我将能够更好地运用嵌
入式技术解决实际问题。

南昌大学 嵌入式 实验报告 实验三

南昌大学 嵌入式 实验报告  实验三

学生姓名: xx 学号: x3 专业班级:xx班实验类型:□验证 综合□设计□创新实验日期:实验成绩:综合实验三触摸屏控制一、实验项目名称触摸屏控制二、实验目的了解触摸屏的基本工作原理,学会s3c2410ADC的配置三、实验基本原理:通过设置GPIO口及液晶触摸屏控制器等相关寄存器来达触摸相应菜单键来控制直流步进电机的转动,加速减速和改变方向,并同步超级终端。

程序思路和部分代码:1. 本次实验主要是设置触摸屏中断和ADC转换中断来实现将触摸屏触点转换成坐标。

在写下笔中断和抬笔中断时一定要在最开始写rINTSUBMSK |= (BIT_SUB_ADC|BIT_SUB_TC);来禁止ADC中断和触摸屏中断,否则按下一次有可能会多次中断,这是不允许的。

2. 实验通过在中断中处理AD转换后的坐标值,并设置了一个全局变量,通过改变这个全局变量的值达到不同的效果。

通过比较液晶屏上规划好的各个触摸范围,来跳转到相应的功能。

其具体函数如下://左上角按钮表示步进电机加速if(point_adcx>=0&&point_adcx<=500&&point_adcy>=0&&point_a dcy<=300){step_delay=step_delay-1;学生姓名: xx 学号: x3 专业班级:xx班实验类型:□验证 综合□设计□创新实验日期:实验成绩:UART_SendStr("电机加速");sprintf(disp_buf, "delay is %d \n", step_delay);UART_SendStr(disp_buf);if(step_delay<=1)step_delay=1;}//上中角按钮表示步进电机减速if(point_adcx>=0&&point_adcx<=500&&point_adcy>=300&&point _adcy<=600){step_delay=step_delay+1;UART_SendStr("电机减速");sprintf(disp_buf, "delay is %d \n", step_delay);UART_SendStr(disp_buf);if(step_delay>=10)step_delay=10;}//右上角按钮表示步进电机正反转if(point_adcx>=0&&point_adcx<=500&&point_adcy>=600){sprintf(disp_buf, "STEP_Motoflag is %d \n", STEP_Motoflag);UART_SendStr(disp_buf);学生姓名: xx 学号: x3 专业班级:xx班实验类型:□验证 综合□设计□创新实验日期:实验成绩:if(STEP_Motoflag==0)STEP_Motoflag=1;else STEP_Motoflag=0;DelayNS(50); // 停止步进电机,延时UART_SendStr("步进电机正反转\n");sprintf(disp_buf, "STEP_Motoflag is %d \n", STEP_Motoflag);UART_SendStr(disp_buf);//左下角按钮表示直流电机加速if(point_adcx>=500&&point_adcy>=0&&point_adcy<=300){pwm_duty= pwm_duty + 255/6; // 改变当前电机的速度if(pwm_duty>255){pwm_duty = 255/6;}rTCMPB0 = pwm_duty;UART_SendStr("直流电机加速");}//下中角按钮表示直流电机减速if(point_adcx>=500&&point_adcy>=300&&point_adcy<=600)学生姓名: xx 学号: x3 专业班级:xx班实验类型:□验证 综合□设计□创新实验日期:实验成绩:{pwm_duty= pwm_duty - 255/6; // 改变当前电机的速度级别if(pwm_duty<10){ pwm_duty = 255;}rTCMPB0 = pwm_duty;UART_SendStr("直流电机减速");}//右下角按钮表示直流电机正反转if(point_adcx>=500&&point_adcy>=600){if(DC_Motoflag==0)DC_Motoflag=1;else DC_Motoflag=0;UART_SendStr("直流电机正反转");}四、主要仪器设备及耗材实验箱一台,PC机一台,JTAG一个。

嵌入式系统应用实训报告

嵌入式系统应用实训报告

一、引言随着科技的飞速发展,嵌入式系统作为现代信息技术的核心组成部分,已经在各个领域得到了广泛应用。

为了提高我们对嵌入式系统的理解与应用能力,我们进行了为期一个月的嵌入式系统应用实训。

本报告将对实训过程、所学知识、实训成果进行总结。

二、实训目的1. 理解嵌入式系统的基本概念、组成及工作原理;2. 掌握嵌入式系统开发工具的使用方法;3. 学会嵌入式系统编程,实现简单功能;4. 了解嵌入式系统在实际应用中的典型案例。

三、实训内容1. 嵌入式系统基础知识学习(1)嵌入式系统的定义、特点及分类;(2)嵌入式系统的组成及工作原理;(3)嵌入式系统开发工具的使用方法。

2. 嵌入式系统编程实践(1)学习C语言编程,掌握嵌入式系统编程基础;(2)利用开发板实现简单功能,如点亮LED灯、按键控制等;(3)学习嵌入式系统调试方法,提高编程效率。

3. 嵌入式系统实际案例分析(1)了解嵌入式系统在智能家居、工业控制、医疗设备等领域的应用;(2)分析典型嵌入式系统案例,学习设计思路和实现方法。

四、实训过程1. 理论学习(1)阅读嵌入式系统相关教材、资料,掌握基础知识;(2)参加嵌入式系统讲座,了解行业动态和发展趋势。

2. 实践操作(1)使用开发板进行编程实践,掌握编程技巧;(2)在导师的指导下,完成嵌入式系统编程任务;(3)分析实际案例,提高设计能力。

3. 总结与交流(1)对实训过程进行总结,分析不足之处;(2)与同学交流心得体会,共同提高。

五、实训成果1. 掌握了嵌入式系统基础知识,包括组成、工作原理等;2. 熟悉了嵌入式系统开发工具的使用方法,如Keil、IAR等;3. 学会了嵌入式系统编程,实现了简单功能;4. 了解嵌入式系统在实际应用中的典型案例,提高了设计能力。

六、实训心得1. 嵌入式系统是一门综合性很强的学科,需要不断学习和实践;2. 理论与实践相结合,才能更好地掌握嵌入式系统知识;3. 嵌入式系统在各个领域都有广泛应用,具有广阔的发展前景;4. 在实训过程中,要勇于尝试、不断探索,提高自己的综合素质。

嵌入式技术及应用实验报告

嵌入式技术及应用实验报告

嵌入式技术及应用实验报告嵌入式技术及应用实验报告一、实验目的本实验旨在通过学习嵌入式技术及应用,掌握嵌入式系统的基本原理和应用方法,培养学生的嵌入式系统设计和开发能力。

二、实验内容1. 嵌入式系统的概念和特点2. 嵌入式系统的硬件平台和软件开发环境3. 嵌入式系统的应用案例分析4. 嵌入式系统的设计和开发实践三、实验原理1. 嵌入式系统的概念和特点嵌入式系统是一种专门设计用于特定应用领域的计算机系统,它通常由硬件和软件两部分组成。

嵌入式系统的特点包括:实时性要求高、资源受限、功耗低、体积小、成本低等。

2. 嵌入式系统的硬件平台和软件开发环境嵌入式系统的硬件平台通常由处理器、存储器、输入输出设备等组成。

常用的处理器有ARM、MIPS等,存储器包括RAM、ROM、Flash等,输入输出设备有键盘、显示器、传感器等。

嵌入式系统的软件开发环境包括编译器、调试器、仿真器等工具。

3. 嵌入式系统的应用案例分析嵌入式系统广泛应用于各个领域,如智能手机、汽车电子、医疗设备、工业控制等。

以智能手机为例,它是一种集成了通信、计算、娱乐等功能的嵌入式系统,通过操作系统和应用软件实现各种功能。

4. 嵌入式系统的设计和开发实践嵌入式系统的设计和开发包括硬件设计和软件开发两个方面。

硬件设计主要包括电路设计、PCB设计等,软件开发主要包括驱动程序开发、应用程序开发等。

在设计和开发过程中,需要考虑系统的性能、可靠性、安全性等因素。

四、实验步骤1. 学习嵌入式系统的概念和特点,了解嵌入式系统的基本原理。

2. 学习嵌入式系统的硬件平台和软件开发环境,掌握常用的处理器、存储器和输入输出设备。

3. 分析嵌入式系统的应用案例,了解不同领域的嵌入式系统的设计和开发方法。

4. 进行嵌入式系统的设计和开发实践,包括硬件设计和软件开发两个方面。

5. 调试和测试嵌入式系统,验证系统的功能和性能。

6. 总结实验结果,撰写实验报告。

五、实验结果与分析通过本次实验,我对嵌入式系统的概念和特点有了更深入的了解。

《嵌入式系统原理与应用》实验报告04-外部中断实验

《嵌入式系统原理与应用》实验报告04-外部中断实验
EXTINT=0x0F;//中断位清零
VICVectAddr=0x00;
}
void EINT3_init(void)//中断的初始化
{
PINSEL1=(PINSEL1 & 0xFFFFCFF)|0x300;
EXTMODE=EXPOLAR & 0x0E;
IO0CLR=0x01;
IO0DIR=0x01;//p0.1设为输出
while(1);
}
五、分析与讨论
六、教师评语
签名:
日期:
成绩
3. 熟悉LPC2000 系列ARM7 微控制器的GPIO控制。
二、实验设备(环境)及要求
硬件:PC机;
软件:PC机操作系统windows XP,ADS1.2集成开发环境,Proteus软件。
三、实验内容与步骤
实验内容:
设置P0.20脚为EINT3功能,初始化为向量中断,并设置为下降沿触发模式,然后等待外部中断。中断服务程序将LED灯控制输出信号取反,然后清除中断标志并退出中断。
《嵌入式系统原理与应用》实验报告
实验序号:4实验项目名称:外部中断实验
学 号
1207012117
姓 名
黄明
专业、班
1
实验地点
实验楼1#318
指导教师
黄鹏程
实验时间
4-28
一、实验目的
1. 掌握LPC2200 专用工程模板的使用;
2.熟悉LPC2000 系列ARM7 微控制器的VIC和外部中断的使用;
实验步骤:
四、实验结果与数据处理
源程序:
#include "config.h"
int i; /*全局变量*/
void __irq EINT3_ISR(void)//中断服务函数

嵌入式实验报告四

嵌入式实验报告四

昆明理工大学机电工程学院嵌入式系统设计与应用实验报告书实验名称:PWM实验年级专业及班级:2012级123班姓名:段剑华学号:201210301326指导教师:张文斌、高贯斌评定成绩:教师评语:实验时间: 2014 年 12 月 21 日实验四PWM实验一、实验要求本次实验,我们用PWM模块控制LED的明暗程度。

当PWM的占空比为100%时,小灯最亮,当PWM得占空比为0%,小灯变灭,调节PWM模块的占空比,使小灯从最亮到灭成线性变化。

二、实验电路连线XS128单片机具有8个可编程的PWM通道,与单片机的PP0—PP7管脚复用。

每个通道的周期和占空比是可以独立控制的,8个通道都是8位精度的。

通过设置寄存器PWMCTL可以将相邻的两个通道连接成一个16位精度的PWM通道,因此一个XS128单片机可以提供4个16位精度的PWM通道;错误!未找到引用源。

是一个PWM模块的框图。

错误!未找到引用源。

是PWM 工作的时钟框图,里面含有PWM初始化的相关寄存器,对理解初始化程序很有帮助。

三、实验程序(列出用到的主要函数)#include <hidef.h>#include "derivative.h"void PWM_initial(){PWMPOL_PPOL0=1; //设置通道0 起始极性高电平PWMCLK_PCLK0=1; //设置通道0 选择SA 做时钟源PWMPRCLK=0x44; //A、B 时钟为总线时钟16 分频=16MHz/16=1MHz PWMCAE_CAE0=1; //设置通道0 波形中央对齐PWMSCLA=10; //设置SA 时钟分频系数为10,SA=1/(2*10)=50kHz=0.02ms PWMPER0=100; //通道0 PWM 周期=100*0.02ms=2msPWMDTY0=50; //通道0 占空比=PWMDTY0/PWMPER0=50%PWME_PWME0=1; //打开通道0}/*************延时函数**********/void delay(void){unsigned int i,p;for(i=0;i<100;i++)for(p=0;p<500;p++);}void main() {int i=0;PWM_initial();for(;;) {if(i>=100)i=0;PWMDTY0=(char)i;//设置占空比0%—100%i++;delay();四、实验现象以及碰到什么问题?如何解决?首先对PWM很陌生,不知从何下手,然后听老师介绍,自己上网查找资料,对PWM有一点点的了解,然后跟懂的同学一起完成本实验,试验对于自己难度还是比较大,但是自己也从中学到很多知识。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《嵌入式系统及使用》实验第三、四次实验一 Linux映像固化和运行一、实验目的熟悉ARM实验设备和Emlink-W 仿真器掌握使用Emlink-W仿真器固化linux映射程序二、实验内容完成H-JTAG软件配置固化启动映像Bootloader固化内核映像zImage固化根文件系统映像ramdisk三、实验步骤1.准备工作将Mini2410核心板boot跳线帽闭合连接好Emlink-W仿真器、电源线(打开电源开关,给实验箱上电)。

2.固化完整的linux系统参见附录一文档《基于EduKit-IV出厂固化说明》中“5使用Emlink-W仿真器固化Linux映像程序”部分3.启动ramdisk根文件系统最基本的Linux系统就固化成功了,可以修改vivi的启动参数来设置启动方式(出厂默认是采用yaffs根文件系统启动方式):启动ramdisk根文件系统:vivi> param ramdiskvivi> param save启动yaffs根文件系统:vivi> param resetvivi> param save启动nfs根文件系统:vivi> param set linux_cmd_line "root=/dev/nfs nfsroot=192.192.192.190:/home/example/nfsip=192.192.192.200:192.192.192.190:192.192.192.1:255.255.255.0:EDUK4:eth1:offconsole=ttySAC1,115200 mem=64M init=/linuxrc noinitrd"vivi> param save根据不通的vivi启动参数可以引导不同的根文件系统。

4. 根文件系统的更新进行根文件系统的固化和更新。

步骤如下:1)在EduKit-IV实验平台中,Mini2410-IV核心子板中运行的Linux采用了“双根文件系统”的技术,MTD2分区存放ramdisk根文件系统,MTD3分区存放yaffs根文件系统。

对于正常使用的用户而言,可见的文件系统是yaffs根文件系统,只有在该文件系统崩溃的时候,才通过修改vivi参数启动ramdisk根文件系统,来恢复更新yaffs根文件系统。

同时在Linux映像固化的时候,yaffs根文件系统也是通过ramdisk文件系统更新的。

下面的步骤将介绍通过ramdisk根文件系统来固化更新yaffs根文件系统。

2)运行PC机上Windows XP系统自带的超级终端软件,“开始 -> 所有程序 -> 附件 -> 通讯 -> 超级终端”,设置每秒位数115200、数据位8、奇偶校验无、停止位1、数据流控制无。

(确认已经关闭其他超级终端工具)3)将EduKit-IV实验平台的电源的拨动开关拨向向上端的加电状态,重新给实验平台上电,在超级终端的界面将会出现Linux启动映像vivi的启动信息,在vivi启动的同时迅速按下PC 机的空格键进入vivi的命令行界面。

(如果没有及时进入vivi的命令行界面请重新启动实验系统,再进入vivi命令行界面)4)在超级终端界面的vivi命令行输入命令修改传递给内核的启动参数“param ramdisk”,输入完成后按回车键:5)参数修改成功后,在vivi的命令行输入“boot”,启动Linux内核,在超级终端中可以看到Linux的启动信息,同时也可以在LCD屏上看到Linux的启动画面。

6)Linux启动完成后,输入回车即可进入Linux的命令行界面。

7)将拷贝有rootfs-eduk4-tsp-ys.tgz文件(DISK3_S3C2410\02-Images\02-Linux)的U盘插入EduKit-IV实验平台的USB接口的上面U口,在超级终端中可以看到提示U盘插入的信息,如图4-6-15所示:附:出厂的yaffs根文件系统映像为rootfs-eduk4-tsp-ys.tgz,其他的映像见光盘内同级目录下的list.txt文件说明,后面章节所介绍的linux实验使用的yaffs根文件系统映像为rootfs-eduk4-base.tgz。

另外此处也可以不必使用U盘作为传送映像的媒介,也可以使用SD卡或者网络等传送。

8)在超级终端的Linux命令行执行命令:$ mount -t vfat /dev/ub/a/part1 /media将U盘映射到/media目录:9)在超级终端的Linux命令行执行命令:$ tar zxvf /media/rootfs-eduk4-tsp-ys.tgz -C /mnt解压rootfs-eduk4-tsp-ys.tgz文件到MTD3所映射的目录,如图4-6-38所示:10)解压完成后,输入命令:$ umount /mnt$ umount /media卸载U盘及MTD3设备:11)拔出U盘,给EduKit-IV实验平台重新上电,在超级终端的界面将会出现最终的Linux启动信息,同时LCD屏上也会显示Linux的启动画面。

附:Linux操作系统下想更新启动映像、内核映像映像和根文件系统映像可以使用Minicom 软件,由于Linux下没有vivi支持的USB驱动,所以不能使用“load flash vivi u”命令,但是可以使用xmodem方式来下载,命令为“load flash vivi x”5 Linux映像的运行固化好了bootloader、内核、根文件系统后,重启实验平台或者给实验平台重新加电,正确设置好超级终端,将可以看到串口打印的信息实验二 vivi的编译和运行一、实验目的熟悉vivi相关知识及使用;学会使用交叉编译器编译vivi;掌握vivi命令将文件固化到目标板上。

二、实验内容在Ubuntu系统下,使用交叉编译器编译vivi;利用vivi命令固化Linux文件到目标板上。

三、实验原理bootloader( 引导加载程序 ) 是系统加电后运行的第一段代码,一般运行的时间非常短,但是对于嵌入式系统来说,这段代码非常重要。

在我们的台式电脑当中,引导加载程序由 BIOS (固件程序)和位于硬盘MBR中的操作系统引导加载程序(比如NTLOADER,GRUB和LILO)一起组成。

在嵌入式系统当中没有像BIOS这样的固件程序,不过也有一些嵌入式CPU会在芯片内部嵌入一小段程序,一般用来将bootloader装进RAM中,有点类似BIOS,但是功能比BIOS弱很多。

在一般的典型系统中,整个系统的加载启动任务全由bootloader 来完成。

在ARM中,系统上电或复位时通常从地址0x00000000处开始执行,而在这个位置,通常安排的就是系统的BOOTLOADER。

通过这小段程序可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境设置到一个合适的状态,从而最终为调用操作系统内核准备好正确的环境。

vivi是由mizi公司为ARM处理器系列设计的一个bootloader,因为vivi目前只支持使用串口和主机通信,所以您必须使用一条串口电缆来连接目标板和主机。

主要功能为:复制并启动内核,初始化硬件,下载目标板到flash等。

vivi有两种工作模式:启动加载模式和下载模式。

启动加载模式可以在一段时间后(这个时间可更改)自行启动linux内核,这时 vivi 的默认模式。

在下载模式下,vivi为用户提供一个命令行接口,通过接口可以使用vivi提供的一些命令,见下表:表1-1 vivi使用命令表四、实验步骤1.编译vivi1)在Ubuntu中单击菜单使用程序->附件->终端打开终端,在终端中输入命令设置环境变量:2)进入vivi实验工作目录:3)清除早前可能存在的配置信息:4)执行配置命令:图1-1 vivi配置界面选择Load an Alternate Configuration File选项,回车。

在弹出的对话框中输入配置文件,这里我们提供了vivi的配置文件:config-eduk4。

图1-2 选择配置文件选择< Ok >,回车退出。

接下来在选择< Exit >退出配置,然后再在如图1-3中选择< Yes >,保存并退出。

图1-3 vivi配置退出保存界面5)执行make命令生成可执行文件,文件存放在当前目录下:6)拷贝文件:执行完命令后,将自动拷贝vivi到/home/example/目录下。

2.固化vivi在Ubuntu下采用minicom终端更新,下面的步骤将具体介绍:1)正确连接交叉串口于实验平台的COM2和PC端的串口。

2)运行ubuntu终端,在终端中输入命令打开minicom:图1-4 启动minicom终端3)给实验平台上电,启动内置viv并按空格键进入到vivi的命令行界面:图1-5 进入vivi命令行4)输入命令使用xmodem协议来传送新编译好的vivi(/home/example/vivi):图1-6 进入vivi命令行输入完命令后,回车,终端提示等待xmodem协议传送文件,此时按下“Ctrl + a”键,然后再输入“z”键进入到minicom的功能菜单:图1-7 minicom功能菜单从键盘输入“s”,选择发送文件选项,出现协议选择菜单:图1-8 minicom传送协议选择通过键盘的上下方向键选中xmodem协议,回车进入所需传送文件的默认路径界面:图1-9 minicom传送默认文件夹此时通过键盘的左右方向键,选中“[ 转到 ]”选项,回车,在弹出的界面输入新的vivi映像所在目录路径/home/example:图1-10 输入目标传送文件所在目录输入完成后回车,将进入到新vivi所在目录:图1-11 进入到目标传送文件所在目录通过键盘方向键选择“[ OK ]”项,弹出目标传送文件界面,输入目标文件名vivi:图1-12 进入到目标传送文件名输入正确的目标传送文件名后,回车,将开始传送新的vivi映像,并显示传送进度:图1-13 传送中传送完毕将提示传送成功,按任意键退出:图1-14 传送完成在minicom终端将打印出新vivi的固化信息,并提示成功:图1-15 完成vivi的传送注意:等待传送的时间不宜太久,否则就超时,如果出现选中了所需传输的文件,但是传送进度无反应的,即时超时,可按“Ctrl + c”退出,重新传送。

5)可以重启实验系统验证新固化进去的vivi,minicom终端打印如下:实验三内核编译和运行一、实验目的学习和掌握Linux 编译的基本步骤;通过实验掌握Linux 配置、编译过程。

二、实验内容对Linux 的内核及用户程序进行配置;编译生成内核映象文件;把编译的映象文件烧写到FALSH 中,查看运行结果。

相关文档
最新文档