嵌入式微处理器实验指导(实验一、二、三、四、五)

合集下载

嵌入式系统实验指导指导书完整版

嵌入式系统实验指导指导书完整版

嵌入式系统实验指导王艳春李英一张劲松实验一嵌入式微处理器系统的开发环境一、实验环境PC机一台软件: ADS 1.2集成开发环境一套二、实验目的1.了解嵌入式系统及其特点;2.熟悉嵌入式系统的开发环境和基本配置并能编写简单的汇编程序三、实验内容1.嵌入式系统的开发环境、基本配置2.使用汇编指令完成简单的加法实验四、实验步骤(1)在D:\新建一个目录,目录名为experiment。

(2)点击 WINDOWS 操作系统的“开始|程序|ARM Developer Suite v1.2 |Code Warrior for ARM Developer Suite”启动Metrowerks Code Warrior,或双击“ADS 1.2”快捷方式启动。

启动ADS 1.2 如图1-1所示:图1-1启动ADS1.2(3) 在CodeWarrior 中新建一个工程的方法有两种,可以在工具栏中单击“New”按钮,也可以在“File”菜单中选择“New…”菜单。

这样就会打开一个如图1-2 所示的对话框。

选择【File】->【New…】,使用ARM Executable Image工程模板建立一个工程,名称为ADS,目录为D:\experiment。

图1-2 新建文件在这个对话框中为用户提供了7 种可选择的工程类型:1)ARM Executabl Image:用于由ARM 指令的代码生成一个ELF 格式的可执行映像文件;2)ARM Object Library:用于由ARM 指令的代码生成一个armar 格式的目标文件库;3)Empty Project:用于创建一个不包含任何库或源文件的工程;4)Makefile Importer Wizard:用于将Visual C 的nmake 或GNU make 文件转入到CodeWarrior IDE 工程文件;5)Thumb ARM Executable Image:用于由ARM 指令和Thumb 指令的混和代码生成一个可执行的ELF 格式的映像文件;6)Thumb Executable image:用于由Thumb 指令创建一个可执行的ELF 格式的映像文件;7)Thumb Object Library:用于由Thumb 指令的代码生成一个armar 格式的目标文件库。

嵌入式操作系统实验指导书

嵌入式操作系统实验指导书

《嵌入式操作系统》实验指导书实验1 Linux编程基础实验序号:1 实验名称:Linux编程基础适用专业:计算机科学与技术、通信工程学时数:4学时一、实验目的1、熟悉Vim的工作模式,熟练使用vim中的常见操作。

2、熟练掌握gcc编译命令及gdb的调试命令,通过对有问题程序的跟踪调试,进一步提高发现问题和解决问题的能力。

3、熟悉多文件的makefile的编写,熟悉各种形式的makefile,并且进一步加深对makefile中用户自定义变量、自动变量的理解。

4、使用autotools生成多文件的makefile,进一步掌握autotools的使用方法。

二、实验内容1、vim使用练习(1)在“/root”目录下建一个名为“vim”的目录。

(2)进入“vim”目录。

(3)将文件“/etc/inittab”复制到“vim”目录下。

(4)使用vim打开“vim”目录下的inittab.(5)设定行号,指出设定initdefault(类似于“id:5:initdefault”)的所在行号。

(6)将光标移到该行。

(7)复制该行内容。

(8)将光标移到最后一行行首。

(9)粘贴复制行的内容。

(10)撤销第9步的动作。

(11)将光标移动到最后一行的行尾。

(12)粘贴复制行的内容。

(13)光标移到“si::sysinit:/etc/rc.d/rc.sysinit”。

(14)删除该行。

(15)存盘但不退出。

(16)将光标移到首行。

(17)插入模式下输入“Hello,this is vi world!”.(18)返回命令行模式。

(19)向下查找字符串“0:wait”。

(20)再向上查找字符串“halt”。

(21)强制退出vim,不存盘。

2、用gdb调试程序的bug(1)使用vi编辑器,将以下代码输入到名为greet.c的文件中。

此代码的原意为输出倒序main函数中定义的字符串,但结果显示没有输出,代码如下所示。

#include<stdio.h>int display1(char *string);int display2(char *string);int main(){char string[]=”Embedded Linux”;display1(string);display2(string);}int display1(char *string){printf(“The original string is %s \n”,string);}int display2(char *string1){char *string2;int size,i;size=strlen(string1);string2=(char *)malloc(size+1);for (i=0,i<size;i++){string2[size-i]=string[i];}string2[size+1]=’’;printf(“The string afterward is %s\n”,string2);}(2)使用gcc编译这段代码,注意要加上“-g”选项以方便之后的调试。

嵌入式系统实验指导书

嵌入式系统实验指导书

基于OMAP3530处理器的嵌入式系统实验实验指导书光电信息学院 李绍荣 杨承目录实验一嵌入式Linux实验 (1)实验二 OMAP3530基本接口实验 (2)附录一 Linux系统的安装 (4)附录二 Fedora中高级管理用户root的启用方法 (25)附录三在Fedora系统中安装VMware Tools (30)附录四设置Windows与Fedora之间的文件共享 (33)附录五实验箱主板的外设连接图 (38)附录六实验箱快速操作指导 (40)Linux实验一嵌入式实验一、实验目的掌握嵌入式Linux操作系统的环境搭建方法。

二、实验原理熟悉并掌握嵌入式Linux操作系统的相关知识。

三、实验设备计算机。

四、实验步骤1、安装Vmware Workstation虚拟机工作平台;2、在Vmware Workstation虚拟机工作平台新建一个虚拟机Virtual Machine;3、安装Fedora 11 Linux操作系统;4、安装Vmware Tools;5、设置共享文件夹;五、实验报告要求1、画出实验的工作流程图;2、结合每个实验步骤的关键画面,详细描述Linux操作系统的环境搭建;3、针对实验中遇到的问题,分析原因,并给出解决问题的办法。

六、注意事项实验中禁止带电插拔元器件。

实验二 OMAP3530基本接口实验一、实验目的掌握OMAP3530的IO口、定时器、串口、USB和LCD等外设的使用。

二、实验原理熟读OMAP3530硬件手册的相关内容,掌握相关部件的寄存器使用方法。

三、实验设备1、OMAP3530嵌入式系统实验箱;2、计算机。

四、实验步骤1、LED测试主板上的LEDB、LED1、LED2和LED3为用户LED灯。

在串口助手中输入如下命令点亮LEDB:在串口助手中输入如下命令熄灭LEDB:LEDB会随着用户的操作进行亮灭。

2、触摸屏测试在串口助手中输入以下指令执行触摸屏校准程序:按照屏幕上提示,点击“+”图标5次完成校准。

嵌入式微处理器实验指导(实验一、二、三、四、五)

嵌入式微处理器实验指导(实验一、二、三、四、五)

实验一、Linux常用命令及工具【实验目的】熟悉Linux常用命令及工具的使用,特别是常用命令的关键选项及用法需要熟悉。

【实验内容】1. 在老师讲解下掌握Linux常用命令和工具的用法;2. 打开虚拟机ubuntu的Terminal,进行命令的练习和熟悉;3. 截图保存相关界面;【实验准备】1. 熟悉Ubuntu虚拟机的安装和使用。

2. 熟悉Linux常用命令和工具。

【实验报告要求】1. 分别叙述Linux常用命令、ctags+vim工具的功能和一般用法,包括常用选项。

2. 需要有实验记录。

【实验步骤】一、常用命令用法:1、对于不熟悉的命令请查看网页:/2、ls的功能及常用选项,当以长格式显示目录下的内容列表时,输出的信息从左到右依次包括文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间、文件名等,对于文件类型和权限模式需要熟悉;3、cd的功能及常用选项:-、/、~、.、..各表示什么意思?4、mkdir、cp、mv、rm、pwd的功能及常用选项;5、chmod的功能及常用选项;6、find的功能及常用选项;7、grep的功能及常用选项;8、tar的功能及常用选项。

二、常用工具的安装和熟悉1、下载ctags-5.8.tar.gz和vim-6.4.tar.bz2文件,复制到虚拟机的root目录下,用tar解压缩,然后安装。

安装方法如下:1)进入源代码根目录执行./configure,2)然后执行make,3)编译成功后执行make install。

2、进入/opt/WXL/wxl210/linux2.6.35wxl210exp20131202路径下,运行命令:ctags –R *然后运行:vi –t WXL_hello_init就能定位到WXL_hello_init函数定义的代码处,熟悉此文档中的代码并理解。

注意Ctrl + ]和Ctrl + T的用法。

3、将vimrc文件复制到虚拟机/root目录下,改名为.vimrc。

《微机原理与嵌入式系统基础--实验指导书》

《微机原理与嵌入式系统基础--实验指导书》

微机原理与嵌入式系统基础实验指导嵌入式系统教研室2010年4月7日第1章ADS 1.2 IDE工具简介 (3)1.1 ADS 1.2简介 (3)1.2 ADS 1.2集成开发环境练习 (4)第2章ARM指令系统及运算基础实验 (10)2.1 二进制数加减运算 (10)2.2 带符号数的加减法运算 (13)2.3 简单分支程序设计 (15)2.4 数据块转储实验(循环程序设计) (16)2.5 数值1到数值100的累加程序设计 (17)2.6 搜寻最大数、最小数程序设计 (19)2.7 数据排序实验(申辉补充本部分内容) (21)2.8 子程序实验(申辉补充本部分内容) (21)第3章ARM(LPC2000系列)体系结构实验 (22)3.1 EasyARM2131实验板简介 (22)3.2 JTAG仿真器的启动与设置 (22)3.3 基于嵌入式系统的C语言程序实验 (24)3.4 GPIO输出控制实验1(单点) (25)3.5 GPIO输出控制实验2(多点) (27)3.6 GPIO输入实验 (29)3.7 外中断实验 (30)3.8 定时器基本功能实验1(匹配反转输出功能应用)(马博补充本部分内容) (33)3.9 定时器基本功能实验2(定时器中断) (34)3.10 UART串行数据通信实验1(查询方式) (36)3.11 UART 串行数据通信实验2(中断方式) (40)第1章ADS 1.2 IDE工具简介1.1 ADS 1.2简介ARM ADS全称为ARM Developer Suite,是由ARM公司提供的专门用于ARM 处理器应用开发和调试的综合性工具软件。

目前使用的ADS1.2版本是一款功能强大的开发工具和易于使用的集成开发环境(Integrated Development Environment,IDE)。

它可以安装在Windows NT4,Windows 2000,Windows 98,Windows 95,Windows XP和Windows Me等操作系统。

嵌入式实训课实验报告

嵌入式实训课实验报告

一、实验背景嵌入式系统在现代工业、消费电子、智能家居等领域扮演着越来越重要的角色。

为了让学生深入了解嵌入式系统的设计原理和开发过程,提高学生的实践能力和创新精神,我们开设了嵌入式实训课程。

本次实验报告将针对实训课程中的部分实验进行总结和分析。

二、实验目的1. 掌握嵌入式系统的基本原理和开发流程。

2. 熟悉嵌入式开发工具和环境。

3. 熟练使用C语言进行嵌入式编程。

4. 学会调试和优化嵌入式程序。

三、实验内容本次实训课程共安排了五个实验,以下是每个实验的具体内容和实验步骤:实验一:使用NeoPixel库控制RGB LED灯带1. 实验目的:学习使用NeoPixel库控制RGB LED灯带,实现循环显示不同颜色。

2. 实验步骤:(1)搭建实验平台,连接NeoPixel LED灯带。

(2)编写程序,初始化NeoPixel库,设置LED灯带模式。

(3)通过循环,控制LED灯带显示不同的颜色。

实验二:使用tm1637库控制数码管显示器1. 实验目的:学习使用tm1637库控制数码管显示器,显示数字、十六进制数、温度值以及字符串,并实现字符串滚动显示和倒计时功能。

2. 实验步骤:(1)搭建实验平台,连接tm1637数码管显示器。

(2)编写程序,初始化tm1637库,设置显示模式。

(3)编写函数,实现数字、十六进制数、温度值的显示。

(4)编写函数,实现字符串滚动显示和倒计时功能。

实验三:使用ds18x20库和onewire库读取DS18B20温度传感器的数据1. 实验目的:学习使用ds18x20库和onewire库读取DS18B20温度传感器的数据,并输出温度值。

2. 实验步骤:(1)搭建实验平台,连接DS18B20温度传感器。

(2)编写程序,初始化ds18x20库和onewire库。

(3)编写函数,读取温度传感器的数据,并输出温度值。

实验四:使用ESP32开发板连接手机热点,并实现LED1作为连接指示灯1. 实验目的:学习使用ESP32开发板连接手机热点,并通过LED1指示灯显示连接状态。

嵌入式系统实验内容(全)

嵌入式系统实验内容(全)

实验一熟悉Linux开发环境一、实验目的1.熟悉Linux开发环境,学习Linux开发环境的配置和使用,掌握Minicom串口终端的使用。

2.学习使用Vi编辑器设计C程序,学习Makefile文件的编写和armv4l-unkonown-linux-gcc编译器的使用,以及NFS方式的下载调试方法。

3.了解UP-NETARM2410-S嵌入式实验平台的资源布局与使用方法。

4.初步掌握嵌入式Linux开发的基本过程。

二、实验内容本次实验使用Redhat Linux 9.0操作系统环境,安装ARM-Linux的开发库及编译器。

创建一个新目录,并在其中编写hello.c和Makefile文件。

学习在Linux 下的编程和编译过程,以及ARM开发板的使用和开发环境的设置。

下载已经编译好的文件到目标开发板上运行。

三、预备知识C语言的基础知识、程序调试的基础知识和方法,Linux的基本操作。

四、实验设备及工具(包括软件调试工具)硬件:UP-NETARM2410-S嵌入式实验平台、PC机Pentium 500以上, 硬盘10G以上。

软件:PC机操作系统REDHAT LINUX 9.0+MINICOM+ARM-LINUX开发环境五、实验步骤1、建立工作目录[root@zxt smile]# mkdir hello[root@zxt smile]# cd hello2、编写程序源代码在Linux下的文本编辑器有许多,常用的是vim和Xwindow界面下的gedit等,我们在开发过程中推荐使用vim,用户需要学习vim的操作方法,请参考相关书籍中的关于vim的操作指南。

Kdevelope、anjuta软件的界面与vc6.0 类似,使用它们对于熟悉windows环境下开发的用户更容易上手。

实际的hello.c源代码较简单,如下:#include <stdio.h>main(){printf(“hello world \n”);}我们可以是用下面的命令来编写hello.c的源代码,进入hello目录使用vi命令来编辑代码:[root@zxt hello]# vi hello.c按“i”或者“a”进入编辑模式,将上面的代码录入进去,完成后按Esc键进入命令状态,再用命令“:wq”保存并退出。

嵌入式实验指导使用版

嵌入式实验指导使用版

嵌入式实验指导使用版实验一基本接口实验(一)[实验目的]1.掌握ARM的串行口工作原理2.学习编程实现ARM的UART通讯3.掌握S3C2410寄存器配置方法4.中断的作用5.掌握嵌入式系统中断的处理流程6.掌握ARM中断编程[预备知识]1.了解ADT集成开发环境的基本功能2.学习串口通讯的基本知识3.熟悉S3C2410串口有关的寄存器[试验设备]1.JXARM9-2410教学实验箱2.ADT1000仿真器和ADT IDE集成开发环境3.串口连接线[试验内容一]实现查询方式串口的收发功能。

接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端[基础知识]串行通信接口电路组成1.可编程的串行接口芯片2.波特率发生器3.EIA与TTL电平转换器4.地址译码电路通信协议:1.异步协议2.同步协议异步串行通讯异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。

数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线即可进行。

接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。

为了恢复发送的信息,双方必须协调工作。

在微型计算机中大量使用异步串行I/O 方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。

但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。

异步串行通信中的字符传送格式开始前,线路处于空闲状态,送出连续“1”。

传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。

每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码。

后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。

也可以约定不要奇偶校验,这样就取消奇偶校验位。

最后是表示停止位的“1”信号,这个停止位可以约定持续1 位、1.5 位或2 位的时间宽度。

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

实验一、Linux常用命令及工具【实验目的】熟悉Linux常用命令及工具的使用,特别是常用命令的关键选项及用法需要熟悉。

【实验内容】1. 在老师讲解下掌握Linux常用命令和工具的用法;2. 打开虚拟机ubuntu的Terminal,进行命令的练习和熟悉;3. 截图保存相关界面;【实验准备】1. 熟悉Ubuntu虚拟机的安装和使用。

2. 熟悉Linux常用命令和工具。

【实验报告要求】1. 分别叙述Linux常用命令、ctags+vim工具的功能和一般用法,包括常用选项。

2. 需要有实验记录。

【实验步骤】一、常用命令用法:1、对于不熟悉的命令请查看网页:/2、ls的功能及常用选项,当以长格式显示目录下的内容列表时,输出的信息从左到右依次包括文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间、文件名等,对于文件类型和权限模式需要熟悉;3、cd的功能及常用选项:-、/、~、.、..各表示什么意思?4、mkdir、cp、mv、rm、pwd的功能及常用选项;5、chmod的功能及常用选项;6、find的功能及常用选项;7、grep的功能及常用选项;8、tar的功能及常用选项。

二、常用工具的安装和熟悉1、下载ctags-5.8.tar.gz和vim-6.4.tar.bz2文件,复制到虚拟机的root目录下,用tar解压缩,然后安装。

安装方法如下:1)进入源代码根目录执行./configure,2)然后执行make,3)编译成功后执行make install。

2、进入/opt/WXL/wxl210/linux2.6.35wxl210exp20131202路径下,运行命令:ctags –R *然后运行:vi –t WXL_hello_init就能定位到WXL_hello_init函数定义的代码处,熟悉此文档中的代码并理解。

注意Ctrl + ]和Ctrl + T的用法。

3、将vimrc文件复制到虚拟机/root目录下,改名为.vimrc。

再次进入/opt/WXL/wxl210/linux2.6.35wxl210exp20131202路径下运行:vi –t WXL_hello_init看是不是有什么不一样的地方?【实验总结】实验过程中碰到的具体问题,怎么解决的?学到了什么?实验二、uboot及uboot命令【实验目的】阅读《第六章linux系统组成和构建.ppt》中的bootloader部分,熟悉uboot 的配置和编译,掌握uboot中常用命令的用法。

特别是print、setenv、saveenv、bootm、ping及nand erase、nand read、nand write、tftp等命令;熟悉vim和ctags 的用法。

【实验内容】1. 在老师讲解下掌握uboot的配置和编译方法;2. 将pc机和实验单板连接好,并暂停在uboot状态;3. 用命令查看单板的环境变量,设置好网络相关的数据,ping pc机的ip地址显示alive状态;4. 打开tftp工具找到内核镜像文件并载入,然后在终端输入tftp命令将内核镜像传送到单板的内存;5. 用bootm命令从内存内核镜像起始地址引导内核启动;6. 熟悉nand erase、nand read和nand write命令,掌握利用nand write命令将tftp传送到单板的镜像写入nandflash中,并引导内核启动。

【实验准备】1. 熟悉uboot常用命令,掌握ubuntu虚拟机的用法;2. 熟悉tftp等工具的使用方法。

【实验报告要求】1. 详细描述在uboot下常用命令的演示及结果。

2. 利用tftp工具将内核镜像传送到单板。

3. 将单板上内存中的镜像写入nandflash中。

【实验步骤】1. 连接单板,配置好超级终端,将单板上电,在uboot启动后倒数三秒时按任意键,使单板停在uboot状态,在uboot下熟悉常用命令,并配置好单板的网络参数,使单板能正常连网。

2. 利用tftp工具将内核镜像传送到单板,并通过bootm命令正常引导内核启动。

3. 重启单板,再次用tftp将内核镜像传送至单板,然后利用nand erase和nand write命令将单板上内存中的镜像先擦除再写入nandflash中。

4. 学习uboot源码的编译方法【实验总结】实验过程中碰到的具体问题,怎么解决的?通过这次实验学到了什么?实验三、make及makefile在uboot和linux内核配置、编译中的应用【实验目的】熟悉基本的调试方法,然后熟悉make和makefile的知识,自己能编写简单的makefile文件,并读懂一般的makefile文件,通过make命令实现完成程序的编译。

【实验内容】1. 学习makefile语法规则;2. 为.c文件写它相关的makefile文件,并编译运行;3. 进一步掌握makefile中常用变量的用法。

4. 掌握uboot和linux内核的配置和编译方法。

【实验准备】1. 熟悉Linux常用命令,掌握ubuntu虚拟机的用法;2. 熟悉GCC、GDB等工具的使用方法。

【实验报告要求】1.熟悉make工具及用法;2.从看懂makefile文件开始,掌握简单的makefile写法,能看懂大部分的makefile文件;3.掌握makefile中常用变量的使用。

4.掌握uboot和linux内核的配置与编译方法。

【实验步骤】1.分析makefile(example)文件中的含义,完成src中文件的编译,运行可执行文件,思考运行结果。

(所需内容请自行下载使用)2.回忆上两周课堂内容,完成对uboot和linux内核源码的配置和编译,最后生成uboot.bin和zImage文件。

要求:修改uboot引导内核前倒数3s的时间;修改linux内核源码配置中有关ubs驱动部分,使得usb驱动不编译进内核。

3.现有7个文件分别是m.c、m.h、study.c、listen.c、visit.c、play.c、watch.c,将它们放在/home/lab-3/目录下,要求通过makefile的编写实现所有文件的编译,生成一个名为m的可执行程序。

(7个源文件见下面附录)4.将自己编译出来的uboot.bin和zImage文件烧录进开发板运行。

【实验总结】实验过程中碰到的具体问题,怎么解决的?通过这次实验学到了什么?附录:实验步骤3所需源代码:m.c:#include<sdio.h>main(){int I;printf(“please input the value of I from 1 to 5:\n”);scanf(“%d”,&i);if(i==1)visit();else if(i==2)study();else if(i==3)play();else if(i==4)watch();else if(i==5)listen();elseprintf(“nothing to do\n”);printf(“this is a wonderful day\n”);}m.h:void visit();void listen();void watch();void study();void play();study.c:void study(){printf(“study embedded system today\n”);}listen.c:void listen(){printf(“listen English today\n”);}play.c:#include<stdio.c>void today(){printf(“play football today\n”); }visit.c:#include<stdio.h>void visit(){printf(“visit friend today\n”); }watch.c:include<stdio.h>void watch(){printf(“watch TV today\n”);}实验四、内核模块.ko的实现【实验目的】熟悉vim和ctags的用法;掌握编译成内核模块的两种方法。

【实验内容】1. 将hello.c文件拷贝到内核源码目录的drivers/char/下面,采用内核编译方式,将hello.c编译成hello.ko;2. 连接好并上电启动开发板,在超级终端下,将两个.ko文件发送到开发板上,用insmod命令进行加载,用lsmod命令查看,用rmmod命令进行卸载;【实验准备】1. 熟悉vim的用法;2. 熟悉内核模块的生成及加载和卸载等。

【实验报告要求】1. 详细描述将hello.c编译成内核模块的方法。

2. 内核模块加载和卸载的过程。

【实验步骤】1. 结合实验三以及理论课堂的讲授,将hello.c编译成hello.ko;2. 连接单板,配置好secureCRT超级终端,将单板上电,然后将hello.ko发送到单板上,进行加载和卸载的实验。

附:查看已加载的内核模块、内核模块加载、卸载的方法如下:1)查看已加载的模块#lsmod2)加载模块(注意两个加载命令的区别)#insmod /lib/modules/2.6.**/***.ko#modprobe ***3)卸载模块#rmmod ***实验五、字符设备驱动调试【实验目的】熟悉vim和ctags的用法;掌握简单字符设备驱动结构;掌握在/dev下自动创建设备文件的方法并实现。

【实验内容】1.在memdev.c中加入你认为重要的相关输出信息,比如查看sizeof(struct mem_dev)的大小值,在memdev_init函数中增加相关打印信息,使得程序正常加载后能看到提示信息输出等等;printk(KERN_INFO "Hello, world!/n");system(“ls -al /etc/passwd /etc/shadow”);2. 完成“字符设备驱动实验代码.rar”中设备驱动部分和应用测试部分各自的编译,并发送到开发板上;3.在开发板上加载设备驱动的.ko文件,注意加载后输出的提示信息,成功加载后再运行应用测试程序的可执行文件,查看输出的提示信息和测试结果;(加载memdev.ko需要注意mknssod命令生成设备文件,需要注意memdev.ko的主设备号是否正常。

)4. 自学熟悉memdev.c中这行代码:module_param(mem_major, int, S_IRUGO);的作用,掌握加载的时候给static变量重新赋值的方法;Insmod memdev.ko mem_major=2505. 在memdev.c中将static mem_major = MEMDEV_MAJOR;这行修改成:static mem_major = 0;后重新编译,加载,然后用cat /proc/devices 查看设备名为memdev的字符设备的主设备号是多少;2506.在memdev.c中增加自动创建设备文件的相关代码,并编译成.ko文件,发送到开发板并加载,查看是否在/dev目录下有自动创建两个设备文件。

相关文档
最新文档