当前位置:文档之家› 嵌入式实验开发环境熟悉实验

嵌入式实验开发环境熟悉实验

嵌入式实验开发环境熟悉实验
嵌入式实验开发环境熟悉实验

实验一:嵌入式实验开发环境熟悉实验

一实验目的

●了解本课程使用的嵌入式开发平台UP-NetARM2410-S的基本组成、配置

●熟悉ADS1.2 开发环境

●学会ARM 仿真器的使用

●使用ADS 编译、下载、调试并跟踪一段已有的程序

●了解嵌入式开发的基本思想和过程。

二实验内容

本次实验要求自己配置好实验环境;然后使用ADS 集成开发环境,新建一个简单的工程文件,并编译这个工程文件。学习ARM 仿真器的使用和开发环境的设置。下载已经编译好的文件到嵌入式控制器中运行。学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。

三实验设备及工具

●硬件:ARM 嵌入式开发平台、PC 机Pentium100 以上、用于ARM920T 的JTAG 仿

真器、串口线。

●软件:PC 机操作系统Win2000 或WinXP、ARM ADS1.2 集成开发环境、仿真器驱动

程序、超级终端通讯程序。

四基础知识

1嵌入式开发平台

硬件平台是基于ARM体系结构,由北京博创兴业科技有限公司开发的UP-NetARM3000和UP-NetARM2410-S实验仪器。UP-NetARM3000的CPU为ARM7TDMI内核的三星S3C44B0X01芯片,由于没有MMU(内存管理单元)只能运行uClinux,UP-NetARM2410-S的CPU为ARM920T 内核的三星S3c2410芯片,由于有MMU可以运行标准的ARM-LINUX内核,本实验室配备的实验开发平台就是UP-NetARM2410-S。现对实验平台做个简要介绍,其硬件配置资源如表1所示:

表1 UP-NetARM2410-S的硬件配置

UP-NetARM2410-S实验开发平台的外观图如图1所示:

该实验平台的各模块功能如图2所示:

与微机连接示意图:

图3 UP-NetARM2410-S的连接示意图该硬件平台的基本架构如图4所示:

图4 UP-NetARM2410-S的架构示意图

(1)核心板

●CPU: ARM920T结构芯片,工作频率202MHz ,SAMSUNG公司的S3c2410X

●FLASH:64M NAND型,SAMSUNG的K9F1208

●RAM:64MB SDRAM,HY57V561620AT-H

200管脚精密插座

图5 UP-NetARM2410-S的核心板

S3c2410芯片介绍:

S3c2410X芯片集成了大量的功能单元,包括:

1).内部1.8V,存储器3.3V,外部IO3.3V,16KB数据CACH,16KB指令CACH,MMU;

2).内置外部存储器控制器(SDRAM 控制和芯片选择逻辑);

3). LCD控制器(最高4K色 STN和256K彩色TFT),一个LCD专用DMA;

4). 4路带外部请求线的DMA;

5).三个通用异步串行端口(IrDA1.0, 16-Byte Tx FIFO, and 16-Byte Rx FIFO),2通道SPI;

6).一个多主IIC总线,一个IIS总线控制器;

7). SD主接口版本1.0和多媒体卡协议版本2.11兼容;

8). 2个USB HOST ,一个USB DEVICE(VER1.1);

9). 4个PWM定时器和一个内部定时器;

10).看门狗定时器;

11).117个通用IO;

12).24个外部中断;

13).电源控制模式:标准、慢速、休眠、掉电;

14).8通道10位ADC和触摸屏接口;

15).带日历功能的实时时钟;

16).芯片内置PLL;

17).设计用于手持设备和通用嵌入式系统;

18).16/32位RISC体系结构,使用ARM920T CPU核的强大指令集;

19).ARM带MMU的先进的体系结构支持WINCE、EPOC32、LINUX;

20).指令缓存(cache)、数据缓存、写缓冲和物理地址TAG RAM,减小了对主存储器带宽和性能的影响;

21).ARM920T CPU 核支持 ARM 调试的体系结构;

22).内部先进的位控制器总线(AMBA2.0, AHB/APB) .

图6 S3c2410X芯片

芯片封装如下图所示:

图7 FBGA封装

(2)主板

●USB口:包括一个USB Device接口和4个USB Host接口。前者直接来自处理器,

后者是处理器的Host接口经过由AT43301构成的USB HUB电路扩展出来的4个Host

接口;

●jtag调试口:20针标准口,14针简易口;

●AUDIO:44.1KHz音频, 采用UDA1341芯片构成,可放音和录音,通过IIS总线连接

到处理器,具有功放电路驱动喇叭,板载MIC和音频IO插座;

●2410-S平台上通过一片ATMEGA8单片机作为控制器,驱动PS2接口、IC卡接口和

板载KEYPAD。 ATMEGA8单片机通过IIC总线和ARM处理器连接;

●LED:四个共阴极LED ,由通过IIC总线扩展连接的ZLG7290控制;

●AD :3个电位器控制输入,8个通道经过跳线设置可全部作为外部模拟电压输入,

由S3C2410芯片管脚引出;

●DC/STEP电机:直流电机信号来自PWM输出,步进电机信号来自EXIO扩展, EXIO

扩展电路由74HC573构成,分配专用地址段,和IDE接口在同一BANK;

●IDE/CF卡插座:类似于计算机主板上一个IDE接口上的主从两个IDE设备一样,

IDE接口直接出自扩展总线,由软件完成驱动控制;

●SD卡插座:直接来自s3c2410的SD控制器;

●CAN总线:由控制器MCP2510和驱动器TJA1050构成,SPI总线接口;

●DA电路:由两片MAX504组成,提供两路10bit数模转换输出,也是SPI总线接

口;

●串口:包括两个RS232接口,处理器的UART0和UART1经过MAX3232芯片电压转换

后用DB9插座输出;

●168Pin的扩展插座:该插座和计算机的内存条插座规格一致,用户可以据此设计

合适的扩展板。扩展槽上包含扩展总线的所有信号,可复用的系统资源以及开发平

台尚未使用的空置资源。

●以太网卡:包括两个相同的网卡电路,芯片型号AX88796,10M/100M自适应。

●LCD:8寸16bitTFT,640X480分辨率,型号是LQ080V3DG01.S3C2410处理器内含

LCD控制器,这使得LCD部分的电路非常简单,LCD控制器的信号线经过驱动电路

后即可连接LCD模块;

●触摸屏:采用ADS7843完成AD转换,通过SPI总线和处理器接口。同样为了兼容

性,平台上设计了多个触摸屏接插位置,并保留了依靠2410 CPU AD单元的另一套

触摸屏接口方案。

(3)显示装置

●LCD:8寸16bitTFT,640X480分辨率,型号是LQ080V3DG01.S3C2410处理器内含

LCD控制器,这使得LCD部分的电路非常简单,LCD控制器的信号线经过驱动电路

后即可连接LCD模块;

●触摸屏:采用ADS7843完成AD转换,通过SPI总线和处理器接口。同样为了兼容

性,平台上设计了多个触摸屏接插位置,并保留了依靠2410 CPU AD单元的另一套

触摸屏接口方案。

2嵌入式系统开发流程

图8 嵌入式系统开发框架

五实验过程

1超级终端的建立

思考:建立超级终端的目的是什么?

(1)、运行Windows 系统下的超级终端(HyperTerminal)应用程序,新建一个通信终

端(请见图9)。如图10所示,如果要求输入区号、电话号码等信息请随意输入;出现如图11所示对话框时,为所建超级终端取名为arm(也可以选择其它的名字),可以为其选一个图标,单击“确定”按钮。

请大家注意:在windows xp操作系统下,当初次建立超级终端的时候,会出现如下对话框:

图9 可能的选择

图10 创建超级终端

图11 创建超级终端

(2)、在接下来的对话框中选择ARM 开发平台实际连接的PC 机串口(如COM1)如图12所示,按确定后出现如图13所示的属性对话框,设置通信的格式和协议。这里波特率为115200,数据位8,无奇偶校验,停止位1,无数据流控制。按确定完成设置。

图12 创建超级终端

图13 创建超级终端

(3)、完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存,将当前设置保存为一个特定超级终端到桌面上,以备后用。用串口线将PC 机串口和平台UART0 正确连接后,就可以在超级终端上看到程序输出的信息了

2JTAG安装过程

JTAG(Joint Test Action Group;联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA 器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。

JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(Test Access Port;测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现在,JTAG接口还常用于实现ISP(In-System Programmable;在线编程),对FLASH等器件进行编程。

JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程实现再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。JTAG接口可对PSD芯片内部的所有部件进行编程. 在本实验将要利用JTAG多加载引导程序vivi进行烧写,所以必须安装其驱动。

具体步骤如下:

图14 创建超级终端

(1)连接电源,将5V电源线的连到UP-NETARM2410-S的电源接口;连接串口线,一端连接PC的串口,另一端连接到UP-NETARM2410-S的串口(上面的);

(2)把并口线插到pc机的并口,并把并口与JTAG相连,JTAG与开发板的14针JTAG 口相连,打开2410-S电源.

(3)把整个GIVEIO目录拷贝到C:\WINDOWS下,并把该目录下的giveio.sys文件拷贝到c:/windows/system32/drivers下。

(4)在控制面板里,选添加硬件>下一步>选-是我已经连接了此硬件>下一步>选中-添加新的硬件设备>下一步>选中安装我手动从列表选择的硬件>下一步>选择-显示所有设备>选择-从磁盘安装-浏览,指定驱动为C:\WINDOWS\GIVEIO\giveio.inf文件,点击确定,安装好驱动。

3利用JTAG烧写vivi

Bootloader (引导装载器)是用于初始化目标板硬件,给嵌入式操作系统提供板上硬件资源信息,并进一步装载、引导嵌入式操作系统运行的固件。简单地说,bootloader就是在操作系统内核运行前运行地一段小程序。通过这段小程序,我们可以初始化必要的硬件设备,创建内核需要的一些信息并将这些信息通过相关机制传递给内核,从而将系统的软硬件环境带到一个合适的状态,最终调用操作系统内核,真正起到引导和加载内核的作用。在嵌入式系统开发过程中, Bootloader的编写往往是设计的主要难点。目前,Bootloader的开发通常都是基于一些开源的Bootloader(如vivi、U- Boot、Blob、ARMBoot、RedBoot等)而设计,它们在设计思路上有许多相通之处。

vivi是当前比较流行的,专门针对ARM9处理器而设计的一款Bootloader,它操作简便,同时提供了完备的命令体系。vivi是由韩国Mizi公司开发的一种Bootloader,适合于ARM9处理器,支持S3C2410x处理器,其源代码可以在https://www.doczj.com/doc/6714173824.html,网站下载。和所有的Bootloader一样,vivi有两种工作模式,即启动加载模式和下载模式。当vivi处于下载模式时,它为用户提供一个命令行接口,通过该接口能使用vivi提供的一些命令集。

下面利用JTAG烧写vivi的具体步骤(同时见图13-图:

在d盘新建一目录bootloader,把sjf2410-s和要烧写的vivi拷贝到该目录下,在程序-附件-msdos下,进入该目录,运行sjf2410-s命令如下:sjf2410-s /f:vivi。在此后出现的三次要求输入参数,第一次是让选择Flash,选0;第二次是选择jtag对flash 的两种功能,也选0;第三次是让选择起始地址,选0;此后就等待大约3-5分钟的烧写时间,当VIVI 烧写完毕后选择参数2,退出烧写。

图15 烧写vivi

图16 烧写vivi

图17 烧写vivi

4映象文件(image)下载

(1)关闭2410-S电源,拔出JTAG;打开超级终端,先按住PC机“Space”键,然后启动2410-S电源,进入vivi>

图18 image下载

(2)按照以下命令重新分区:

vivi>bon part 0 128k 192k 1216k 4288k:m 64704k(64M flash1208)

图19 image下载

回车后,超级终端会出现如下分区信息,并检查是否有坏的块。

图20 image下载

(3)耐心等待片刻,等检查完flash内是否有坏块后,会在超级终端出现提示符,如下图所示。

图21 image下载

(4)在提示符号下输入:part save,回车保存好分区.

图22 image下载

(5)在vivi>后键入load flash vivi x 回车,点击超级终端“传送”下拉菜单,选择”发送文件”,把引导程序vivi下载到vivi分区,保证系统掉电后还能再引导。

图23 image下载

图24 image下载

图25 image下载(6)在vivi>后键入load flash ucos x 然后回车。

图26 image下载

(7)然后打开超级终端上方的“传送”菜单并选择发送文件,如图27 所示,点击浏览按键,查找并进入到编译生成的映象文件夹下,打开system.bin.然后在发送文件对话框中的协议栏选择Xmodem,最后选择发送。

图27 image下载

(8)发送结束后,映象文件即下载到flash 中,然后,如图28 键入bootucos 命令再回车即可运行该镜像image程序。(请大家观察LCD或者听歌)

图28 image下载

(9)摁键盘“Space”键,然后摁一下2410-s上的复位按钮,重新启动,按照(6)、(7)的方法下载另外一个image文件执行。

(10)关掉2410-s的电源,摁键盘“Space”键,然后开2410-s的电源,看vivi能否启动?

问题思考:

①、重作3和4(4中略去(5)步),看会出现什么情况?这是为什么呢?

②、作3和4中的(1),然后键入:help,并回车,了解bootloader程序vivi的命令。

以理解本实验操作意义。

③、本实验用的image文件是什么呢?它是怎么产生的呢?

5额外实验

(1)把实验用的ARM程序“Exp11 绘图的API函数”放在D盘,打开该目录,观察其有哪些文件夹和文件。其中, Exp11 为工程文件。

图29 image生成

(2)如果PC机安装了ARM集成开发环境ADS1.2,那么双击工程文Exp11就会打开

嵌入式实验报告

课题:按键控制流水灯 专业:物联网工程 班级:01 学号:14154951 姓名:李政 指导教师:何建军 设计日期:2016.12.21—2016.12.30 成绩: 重庆大学城市科技学院电气学院

嵌入式设计报告 一、设计目的作用 通过编程实现对LED灯项目的改变,加深对stm32芯片的理解,对keil软件的熟悉掌握,工程的搭建以及头文件的使用。掌握外部设备的接入以及外部中断的实现。 二、设计要求 用四个按键控制8个流水灯的流水显示 (1).按键A按下时候流水灯按从左往右的流水显示。 (2).按键B按下时候流水灯按从右往左的流水显示。 (3).按键C按下时候流水灯按中心开花的方式流水显示:从中间向两边流水显示 (4).按键D按下时候流水灯按从两边到中心移动的方式流水显示。(5).(选做)引入时针中断: 默认的流水方式: (1)对时钟中断的次数进行计数 (2)当时钟中断的次数除以4的余数为0时:按从左到右的顺序流水显示(3)当时钟中断的次数除以4的余数为1时:按从右到左的顺序流水显示(4)当时钟中断的次数除以4的余数为2时:按中心开花的方式流水显示(5)当时钟中断的次数除以4的余数为3时:从两边到中心移动的方式流水显示。 系统启动时按默认的流水方式显示,当按下A、B、C、D四个按键时,按指定的方式流水显示,当按下按键E时恢复按默认的流水方式。 三、设计的具体实现 1、设计原理 这次使用的是stm32f103系列芯片,芯片引脚如下图

Stm32内部资源

GPIO原理及应用: 有7个16位并行I/O口:PA、PB、PC、PD、 PE、PF、PG 都是复用的,最少有2种 功能,最多有6种功能

嵌入式实验报告二

实习二建立交叉编译环境 实习内容: 本次实验主要包括二部分内容:开发环境配置,主要有配置NFS,Samba和超级终端;编写编译程序。 1、配置NFS(实现宿主机和目标机的信息共享) 打开Linux虚拟机,点击主菜单运行系统设置->服务器设置->NFS 服务器,点击增加,在出现的界面中的目录中填入需要共享的路径,在主机中填入允许进行连接的主机的IP地址(注意:这里主机IP指的是开发板的IP)。并选择允许客户对共享目录的操作为只读或读写(注意:实验中选的是读写,一定不能忽略),如下图: 对客户端存取服务器的一些其他设置,一般不需要设置,取默认值。然后退出,完成了NFS配置。 2、配置Samba(实现Windows和Linux系统的文件共享) ①关闭防火墙,这个地方和上面的NFS的配置是一样的。 ②配置Samba服务器 选择“系统设置”—>“服务器配置”—>“Samba服务”,进行Samba 服务器配置。首先创建Samba共享,选择“基本”选项卡,在“目录”

的文本框中输入要共享的文件,基本权限设为读/写。在“访问”选项卡中选择“允许所有用户访问”选项,通过“首选项”进行服务器配置。在“基本”选项卡中设置工作组和描述,在“安全性”选项卡中设置“验证模式”为共享,“加密口令”为否,“来宾账号”为无来宾账号。 ③设置Samba服务器IP地址(与前面的NFS的设置相同) ④启动Samba服务器 在命令行中输入service smb start,即可启动Samba服务器。 ⑤配置Windows下的IP地址 将Windows下的IP地址和Samba服务器IP地址设置在同一网段中即可(注意:这里设置IP时一定要注意在同一网段) ⑥在Windows下访问共享 在Windows中的“运行”窗口中输入Samba服务器的IP地址,就可以看见在虚拟机中共享的文件。 3、配置超级终端 ①在linux操作系统Xwindow界面下建立终端,在终端的命令行提示符后输入minicom,回车,然后就会看见minicom的启动画面,若没有启动Xwindow则在命令行提示符后直接输入minicom即可。 ② minicom启动后,先按Ctrl+A键,然后按Z键进入主配置界面,按“O”进入配置界面,按上下键选择Serial port setup,进入端口设置界面,然后按照指导书中的指示修改几个重要选项。 ③选好后按ESC键退出端口设计界面,选择Save setup as df1保存

嵌入式实验报告

嵌入式技术 实验报告 系别:计算机与科学技术系 班级:计12-1班 姓名:刘杰 学号:12101020128 总成绩: 评语: 日期:

2.在弹出的对话框中依次选择“cedevice emulator emulator kdstub”。 3.选择“Build OS”菜单的“sysgen”开始构建平台。 1.1.4连接,下载和运行平台 1.选择“Target”菜单下的“Connection option”菜单项。 2.在新的对话框中,配置连接关系 3.选择“Target”菜单下的“attach”菜单项,开始下载。 ?实验结果 操作系统定制成功,能正常运行。 ?结果截图 ?问题总结 由于对实验平台了解不够,致使操作过程中添加和删除组件时不知道该如何下手,影响整个实验进度。 实验1.2: 1.打开Platform Builder,并且打开实验1的工程,在实验1的工程基础上做本实验。

进程显示 IE信息查看

报文监测 实验1.3使用Platform Builder开发应用程序 简单实验步骤 1.打开Platform Builder。 2.选择“File”菜单下的“Open Workspace…”,然后打开实验1中创建的平台,本实验要基于 上面的实验的基础上做。 3.选择“File”菜单下的“New Project or File…”,打开“New Project or File”对话框。 4.在“Projects”选项页中选择“WCE Application”;在“Project Name”中输入项目的名字,例 如“MyApp”。 5.在“New Project Wizard – step 1 of 1”中选择“A typical Hello World Application”,点击“Finish” 按钮。 6.选择“Build”菜单中的“Build MyApp.exe”来编译应用程序。

ARMlinux嵌入式开发环境安装参考手册

基础是你已经安装了Ubuntu,以及相关软件:超级终端minicom 及C/C++ compiler environment。在Ubuntu上可使用下面终端命令安装 minicoom和编译环境。 #sudo apt-get install minicom #sudo apt-get install build-essential Step 1: 将光盘Linux 目录中的arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz 复制到Lubuntu的当前目录下,执行解压命令: #sudo tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz –C / 注意:C 后面有个空格,并且 C 是大写的,它是英文单词“Change”的第一个字母,在此是改变目录的意思。 这样 arm-linux-gcc 的相关文件就Copy到root用户的Opt目录中 Step 2: 把编译器路径加入系统环境变量,运行命令 #sudo gedit ~/.bashrc 编辑~/.bashrc 文件, 注意“ bashrc ” 前面有一个“ . ” ,修改最后一行为 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin 注意路径一定要写对,否则将不会有效。 如图,保存退出。

入arm-linux-gcc –v,会出现如下信息,这说明交叉编译环境已经成功安装。

编译链接 arm-qte-4.7.0 1) 解压包到自己制定的目录,例如 arm-qte-4.7.0 2) 终端中运行 ./build-all (首先,注意不能双击运行,必须在终端中运行;其次,不使用 sudo) 大约要安装2个小时 当运行到出现如下提示后: cd src/tools/bootstrap/ && make -f Makefile install make[1]: 正在进入目录`/home/administrator/arm-qte-4.7.0/qt-everywhere-opensource-src-4.7.0/src/tools/bootstrap' make[1]: 没有什么可以做的为 `install'。 make[1]:正在离开目录`/home/administrator/arm-qte-4.7.0/qt-everywhere-opensource-src-4.7.0/src/tools/bootstrap' cd src/tools/moc/ && make -f Makefile install make[1]: 正在进入目录`/home/administrator/arm-qte-4.7.0/qt-everywhere-opensource-src-4.7.0/src/tools/moc' mkdir: 无法创建目录“/usr/local/Trolltech”: 权限不够 make[1]: *** [install_target] 错误 1 make[1]:正在离开目录`/home/administrator/arm-qte-4.7.0/qt-everywhere-opensource-src-4.7.0/src/tools/moc' make: *** [sub-moc-install_subtargets-ordered] 错误 2 ./build-all: 第 12 行: cd: /usr/local/Trolltech/QtEmbedded-4.7.0-arm: 没有那个文件或目录 在终端中运行: cd qt-everywhere-opensource-src-4.7.0 sudo make install 加入环境变量(步骤类似Step2,在最后一行再加入) #sudo gedit ~/.bashrc export PATH=$PATH: /usr/local/Trolltech/QtEmbedded-4.7.0-arm/bin

嵌入式实验报告

嵌入式实验报告 学院:信息工程学院 专业:计算机科学与技术班级:计算机班 姓名: 学号: 指导老师:

实验目录 实验一嵌入式系统开发环境实验 (2) 实验二系统节拍定时器实验 (12) 实验三 GPIO控制实验 (16) 实验四外部中断实验 (19) 实验五串口通讯实验 (23)

实验一嵌入式系统开发环境实验 【实验目的】 1.熟悉RealView MDK集成开发环境以及使用方法。 2.熟悉嵌入式系统软件设计方法和流程。 【实验内容】 1. 通过例程熟悉、掌握嵌入式系统的编辑、编译、调试、下载及运行过程。 2. 建立自己的工程文件,在开发板板上调试程序。 【实验步骤】 (一)程序安装 1. 建议在安装之前关闭所有的应用程序,双击安装文件,弹出如图对话框,Next 2.默认选择C盘文件下安装。

3.这样就在c盘底下出现keil文件夹。 4.单击选择菜单“File”-->"License Management" 将弹出下面一张图的界面:复制其中CID号,以便在粘贴到下一步中的破解软件。 5.复制CID

6.运行破解软件,将出现下面一张图的界面,把上步复制的CID号粘贴到相应位置,其他选项如图,然后点击“Generate”按钮,然后复制产生的序列号,粘贴到上一步的下面一张图的LIC输入框中,然后点击右侧的Add LIC,即可完成破解。 7.安装文件夹中的jlink驱动。 (二)工程创建、编译 使用Realview MDK创建、完成一个新的工程只需要以下几个环节: →创建工程并选择处理器→选择工具集→创建源文件→配置硬件选项→配置对应启动代码→编译链接→下载→调试。 1.创建工程并选择处理器 选择Project→New Project…,输入创建的新工程的文件名,即可创建一个新的工程。 2.创建一个新工程时,需要为工程选择一款对应处理器,在NXP 列表下选择LPC1768 芯片。然后点击OK。接下来出现的对话框选择“是或者也可以通过单击Project→Select Device for Target…在本次课程中,我们选择

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科0901 学号: 0909090310

指导老师:宋虹

目录 课程设计内容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------6 文件系统的层次结构和功能模块 ---------------------6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录-------------------------------------------------- 12

课程设计内容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在内存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全 可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

嵌入式系统实验报告

实验报告 课程名称:嵌入式系统 学院:信息工程 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 开课时间:学年第一学期

实验名称:IO接口(跑马灯) 实验时间:11.16 实验成绩: 一、实验目的 1.掌握 STM32F4 基本IO口的使用。 2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。 3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。 二、实验原理 本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。 三、实验资源 实验器材: 探索者STM32F4开发板 硬件资源: 1.DS0(连接在PF9) 2.DS1(连接在PF10) 四、实验内容及步骤 1.硬件设计 2.软件设计 (1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。 (2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。

(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。 (4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。 3.下载验证 使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示: 图1.2 运行结果如图1.3所示:

Fedora10下搭建ARM开发环境QTE及移植过程

Fedora10下搭建ARM开发环境QTE及移植过程 QT 2010-09-09 17:40:48 阅读311 评论0 字号:大中小订阅 说明:之前也做过QTE的安装及移植,参考网上很多例子,大部分采用的是友善之臂开发板提供的 arm-linux-g++ 4.3.2编译器,这样在运行Qt可执行程序的时候经常会遇到一个致命问题就是:Segmentation Fault(段错误)而采用arm920t-eabi.tgz可以解决段错误问题,本次移植主要采用arm920t-eabi.tgz编译器。 一、安装环境: 系统平台:Fedora 10,内核2.6,图形界面 二、软件需求及下地地址: Qt版本qt-everywhere-opensource-src-4.6.2.tar.gz 下载地址:https://www.doczj.com/doc/6714173824.html,/downloads-cn 编译器:arm920t-eabi.tgz(即arm-linux-gcc-4.1.2) 下载地址: https://www.doczj.com/doc/6714173824.html,/downloads/toolchains/arm920t-eabi.tgz 触摸屏软件:tslib1.4 下载地址:略 三、环境安装过程: 1、安装arm920t-eabi.tgz

然后直接将arm920t-eabi.tgz解压缩到根目录,把编译器路径加入系统环境变量,以便编译时找到相关的库,运行命令: #gedit /root/.bashrc 编辑/root/.bashrc文件,在最后一行加上 # export CPLUS_INCLUDE_PATH=/opt/toolchains/ arm920t-eabi/arm-angstrom-linux-gnueabi/include/c++:/opt/toolchain s/arm920t-eabi/arm-angstrom-linux-gnueabi/include/c++/arm-none-li nux-gnueabi #export PATH=/opt/toolchains/arm920t-eabi/bin:$PATH 2、编译tslib对触摸屏支持下载,tslib1.4.tar.gz,解压到根目录后,运行autogen.sh后生成configure文件。 # ./configure --prefix=/usr/local/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes # make # make install 3、qt-everywhere-opensource-src-4.6.2安装及配置 将qt-everywhere-opensource-src-4.6.2.tar.gz解压到/opt/目录下得到文件qt-everywhere-opensource-src-4.6.修改 qt-everywhere-opensource-src-4.6.2/mkspecs/qws/linux-arm-g++/qm ake.conf 文件(添加lts参数): QMAKE_CC = arm-linux-gcc -lts QMAKE_CXX = arm-linux-g++ -lts

嵌入式实验报告

目录 实验一跑马灯实验 (1) 实验二按键输入实验 (3) 实验三串口实验 (5) 实验四外部中断实验 (8) 实验五独立看门狗实验 (11) 实验七定时器中断实验 (13) 实验十三ADC实验 (15) 实验十五DMA实验 (17) 实验十六I2C实验 (21) 实验十七SPI实验 (24) 实验二十一红外遥控实验 (27) 实验二十二DS18B20实验 (30)

实验一跑马灯实验 一.实验简介 我的第一个实验,跑马灯实验。 二.实验目的 掌握STM32开发环境,掌握从无到有的构建工程。 三.实验内容 熟悉MDK KEIL开发环境,构建基于固件库的工程,编写代码实现跑马灯工程。通过ISP 下载代码到实验板,查看运行结果。使用JLINK下载代码到目标板,查看运行结果,使用JLINK在线调试。 四.实验设备 硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。 软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。 五.实验步骤 1.熟悉MDK KEIL开发环境 2.熟悉串口编程软件ISP 3.查看固件库结构和文件 4.建立工程目录,复制库文件 5.建立和配置工程

6.编写代码 7.编译代码 8.使用ISP下载到实验板 9.测试运行结果 10.使用JLINK下载到实验板 11.单步调试 12.记录实验过程,撰写实验报告 六.实验结果及测试 源代码: 两个灯LED0与LED1实现交替闪烁的类跑马灯效果,每300ms闪烁一次。七.实验总结 通过本次次实验我了解了STM32开发板的基本使用,初次接触这个开发板和MDK KEILC 软件,对软件操作不太了解,通过这次实验了解并熟练地使用MDK KEIL软件,用这个软件来编程和完成一些功能的实现。作为STM32 的入门第一个例子,详细介绍了STM32 的IO口操作,同时巩固了前面的学习,并进一步介绍了MDK的软件仿真功能。

嵌入式实验报告二work2.

实验报告 课程名称嵌入式系统编程实践 实验仪器清华同方辰源嵌入式系统实验箱 实验名称实验二:利用中断实现OLED动态显示实验 系别__计算机学院_ 专业___ __ 班级/学号_ 学生姓名___ __ ___ _ _ 实验日期_ 2013年9月22日 成绩___________________ 指导教师_ _ 朱敏玲 ___

实验二:利用中断实现OLED动态显示实验 一、实验问题回答 (1)ISR是什么?简述一下中断的作用和使用方法 答:ISR是中断服务程序。作用是通过处理器执行事先编好的某个特定的程序。使用方法就是在main中写一个中断程序,然后在startup.s中进行注册。 (2)嵌入式系统中有哪些应用有定时性循环处理的要求?举几个例子答:在各种网络的应用中,设计的一些部件,如计数器,时钟等。 (3)定时时间间隔如何修改? 答:通过改变SysTickPeriodSet(SysCtlClockGet()/100)后面的100这个参数。(4)选作内容5-8的编程思路是什么?若做的话应该怎样实现? 答:编程思路:先画直线和竖线,组成一个正方形,将各个参数填写到函数RIT128x96x4ImageDraw(buf,,,,);第6个选作:判断画的原点x,原点y,和画原点x+的长,画原点y+画宽的值要在0-128和0-96。第7个选作:把RIT128x96x4StringDraw("hello",,,);就是把画的灰度定义为一个变量x。最后就会出现由不同的亮度而形成的波浪。第8个就是利用随机函数产生画的原点,随机的在屏幕上进行显示。 (5)拖影现象如何解决?计数值显示为什么没有拖影? 答:在程序结束后执行清屏语句:计数显示是每次重新赋值,所以不会出现拖影。 二、实验目的和效果(效果即是否达到实验目的,达到的程度如何) (1)深入学习、理解、掌握OLED字符显示方法 (2)深入学习、理解、掌握OLED图形显示方法 (3)学习、理解、掌握中断使用方法 实验效果图: 三、实验内容和步骤(重点阐述自己的思路及遇到的问题)

嵌入式实验报告心得

嵌入式实验报告心得 篇一:嵌入式系统原理实验总结报告 嵌入式系统原理实验总结报告 车辆座椅控制系统实验 XX/5/23 嵌入式系统原理实验总结报告 一、技术性总结报告 (一)题目:车辆座椅控制系统实验(二)项目概述: 1.为了实现车辆座椅控制的自动化与智能化。 2.方便用户通过智能手机与车载传感器之间的联动。 3.使车辆作为当今物联网中重要的一个节点发挥作用。 4.通过车辆座椅控制系统实验实现对嵌入式系统原理课程的熟练掌握与对嵌入式系统原理知识的深化记忆。 5. 加强本组学生对嵌入式系统原理的更深层次的理解与运用。 (三)技术方案及原理 本次试验分为软件、硬件两个部分。 1.软件部分。 A.智能手机部分,包括通过智能手机对座椅的控制部分、手机所携带的身份信息部分。 本部分软件使用Java编写,其程序部分为:主程序:package ;

import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ;import ; import ; import ; public class MainActivity extends ActionBarActivity { private Button Up = null; private Button Left = null; private Button Dowm = null; private Button Right = null; private Socket socket = null; private static final String HOST = "";private static final int PORT = 10007; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(; initControl();} private void initControl() {

ARM开发环境搭建 eclipse for arm实验报告

实验报告 实验题目 ARM开发环境搭建 eclipse for arm 姓名: 学号: 课程名称: 所在学院: 专业班级: 任课教师:

一、实验目的与要求: 1、掌握 ARM 汇编语言的基本使用和一些伪指令的使用; 2、熟悉 eclipse 开发工具建立汇编工程和仿真;

四、实验过程、步骤及内容 1、win7环境安装FS_JTAG工具 (1)安装GCC 编译工具 双击安装“华清远见-CORTEXA9 资料\工具软件\Windows\FS-JTAG\Yagarto 工具包”目录下的文件:yagarto-bu-2.21_gcc-4.6.2-c-c++_nl-1.190_gdb-7.3.1_eabi_20111119.exe (2)装Yagarto 工具包 双击安装“华清远见-CORTEXA9 资料\工具软件\Windows\FS-JTAG\Yagarto 工具包”目录下的文件:yagarto-tools-20100703-setup.exe (3)安装FS_JTAG调试软件 双击“x包”下的setup.exe安装 FS_JTAG工具 (4)安装FS_JTAG驱动

将FS_JTAG通过USB线与PC连接,右键点击“我的电脑”选择“管理”,在左侧栏里选择“设备管理”选择“其他设备”右键点击选择“更新驱动” 选择“浏览计算机以查询驱动程序软件(R)”; 点击浏览选择“FS-JTAG 调试工具(安装包)\DRIVER”目录主要“包括子文件夹”必须选择,点击“下一步”。 安装过程出现上图提示,点击“始终安装此驱动程序软件(I)“继续安装

点击“关闭“完成安装 注意:此安装过程需要进行 3 次,直到设备管理器中没有叹号标记或未知设备。这是设备管理器中会出现如下选项:如果下面选项没有全部出现,右键点击有黄色叹号的选项更新驱动,过程同上。 (5)安装JRE 双击安装“华清远见-CORTEXA9 资料\ 工具软件\Windows\FS-JTAG\JRE ”目录下的文件: jre-6u7-windows-i586-p-s.exe

嵌入式综合实验报告

《嵌入式系统综合实验》报告 学号: 姓名: Shanghai University of Engineering Science School of Electronic and Electrical Engineering

基于STM32的GPS信息显示系统 ——嵌入式系统综合实验报告 班级:0211112 姓名:褚建勤学号:021111228 班级:0211112 姓名:于心忆学号:021111216 班级:0211112 姓名:乐浩奎学号:021111232 一、产品设计要求(产品规格描述) 1 、嵌入式产品名称 GPS信息显示系统 2 、嵌入式产品目的 在学校的生活中,你经常可能需要联系不是同一间宿舍的同学,但是你不能确定他现在在什么地方,这时候全球定位系统(GPS)就可以发挥作用了,但是传统的GPS系统只能提供经纬度信息,不能直观的显示你想要找到人在何处,我们的系统就在传统的GPS的基础上添加了对应位置显示的功能,方便你更方便更快捷的找到你想找的同学 3 、嵌入式产品功能 使用GPS输入用户位置信息 GPS将相关经纬度信息反馈给主处理器 主处理器处理相关位置信息并将信息转换为对应位置在LCD上显示出来 在LCD上输出用户状态信息 4 、嵌入式产品的输入和输出 输入设备:GPS系统 输出设备:LCD 二、产品方案设计(产品设计方案) 1 2 1 )处理器选择 本系统选用基于ARMCortex-M3内核的STM32F103RB嵌入式微控制器作为处理器。 ①选用原因 A 技术因素 工作频率: 最高72MHz。 内部和外部存储器: 128K字节的闪存程序存储器,用于存放程序及数据;多达20K字节的内置SRAM,CPU能以0等待周期访问(读/写)。

嵌入式程序设计实验报告

实验一开发环境的搭建与配置 【实验目的】 1)熟悉嵌入式Linux开发平台。 2)掌握嵌入式Linux开发平台的开发环境搭建与配置。 3)了解minicom配置串口通信参数的过程。 4)了解嵌入式Linux的启动过程。 5)掌握程序交叉编译运行及调试的一般方法。 【实验内容】 1)连接实验开发板与宿主机。 2)在虚拟机中的CentOS(宿主机)搭建开发环境。 3)在宿主机中配置minicom。 4)分析嵌入式Linux的启动过程。 5)在宿主机上编写简单的C语言程序并用交叉编译工具进行编译,然后传输到目标机上运行。 6)在宿主机上编写简单的C语言程序并用交叉编译工具进行编译,用gdbserver进行远程调试。 【实验步骤】 连接实验开发板,对虚拟机进行设置 1)首先把实验开发板打开,用网线和串口线连接宿主机,并连接电源(注意这时不要拨动实验 开发板的开关按钮)。 2)在桌面上点击打开vmware 软件,选择“编辑虚拟机设置”,如下图所示:

图1 3)进入虚拟机配置界面后把网络连接方式设置为“桥接方式”,如图2所示: 图2

4)添加串口,如下图所示: 图3 5)完成串口的添加后,选择“OK”,完成对虚拟机的设置。如下图所示:

图4 6)选择虚拟机的“Edit”、“Virtual Network Editor...”,如下图所示:

图5 7)进入虚拟机网络参数设置界面后对VMnet0进行设置(注意这里桥接的网卡应选择与实验开 发板相连接的那块儿网卡),然后点击“Apply”、“OK”如下图所示:

图6 8)上述设置完成后启动CentOS(CentOS的用户名为“root”,密码为“xidianembed”)。 工具链的配置 1)在CentOS的根目录下创建一个名为“EELiod”的目录,把实验中要用到的文件(主要是一 些rpm包)拷贝到该目录下。(可以用U盘、WinSCP等工具进行,此处不再做详细说明)。 2)交叉编译工具链位于/opt/buildroot-2011.02/output/host/usr目录下,进入工具链的bin目录下, 可以看到一些编译工具,这些工具将会在之后的交叉编译过程中使用到。

(完整版)2014完整ARM嵌入式系统实验报告

郑州航空工业管理学院 嵌入式系统实验报告 (修订版) 20 – 20第学期 赵成,张克新编著

院系: 姓名: 专业: 学号: 电子通信工程系 2014年3月制

实验一ARM体系结构与编程方法 一、实验目的 了解ARM9 S3C2410A嵌入式微处理器芯片的体系结构,熟悉ARM微处理器的工作模式、指令状态、寄存器组及异常中断的概念,掌握ARM指令系统,能在ADS1.2 IDE中进行ARM汇编语言程序设计。 二、实验内容 1.ADS1.2 IDE的安装、环境配置及工程项目的建立; 2.ARM汇编语言程序设计(参考附录A): (1)两个寄存器值相加; (2)LDR、STR指令操作; (3)使用多寄存器传送指令进行数据复制; (4)使用查表法实现程序跳转; (5)使用BX指令切换处理器状态; (6)微处理器工作模式切换; 三、预备知识 了解ARM嵌入式微处理器芯片的体系结构及指令体系;熟悉汇编语言及可编程微处理器的程序设计方法。 四、实验设备 1. 硬件环境配置 计算机:Intel(R) Pentium(R) 及以上; 内存:1GB及以上; 实验设备:UP-NETARM2410-S嵌入式开发平台,J-Link V8仿真器; 2. 软件环境配置

操作系统:Microsoft Windows XP Professional Service Pack 2; 集成开发环境:ARM Developer Suite (ADS) 1.2。 五、实验分析 1.安装的ADS1.2 IDE中包括和两个软件组件。在ADS1.2中建立类型的工程,工程目标配置为;接着,还需要对工程进行、及链接器设置;最后,配置仿真环境为仿真方式。 2.写出ARM汇编语言的最简程序结构,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。 ; 文件名:

嵌入式系统实验实验报告

嵌入式系统实验实验报告 一、实验目的 1.基本实验

. Word 资料搭建PXA270嵌入式LINUX开发软硬件环境;安装LINUX操 作系统;安装与配置建立宿主机端交叉编译调试开发环境;配置宿主机 PC 机端的minicom(或超级终端)、TFTP服务、NFS服务,使宿主PC机与PXA270开发板可以通过串口通讯,并开通TFTP 和NFS服务。 2.人机接口 键盘驱动;LCD控制;触摸屏数据采集与控制实验; 3.应用实验 完成VGA显示;Web服务器实验;网络文件传输实验;多线程应用实验。 4.扩展应用实验 完成USB摄像头驱动与视频采集;GPS实验;GSM/GPRS通讯;视频播放移植;USB蓝牙设备无线通讯;NFS文件服务器;蓝牙视频文件服务器。 5.QT实验 完成基本嵌入式图形开发环境搭建;“Hello world!”QT初探;创建一个窗口并添加按钮;对象通信:Signal和Slot;菜单和快捷键;工具条和状态栏;鼠标和键盘事件;对话框;QT的绘图;俄罗斯方块;基于QT的GSM手机在嵌入式LINUX下的设计与实现。 二、实验内容 1.人机接口实验 实验十九键盘驱动实验 ?实验目的:矩阵键盘驱动的编写

?实验内容:矩阵键盘驱动的编写 ?作业要求:完成键盘加减乘除运算 ?实验作业源码及注释: #INCLUDE #INCLUDE #INCLUDE #INCLUDE #INCLUDE #INCLUDE #DEFINE DEVICE_NAME “/DEV/KEYBOARD” INT MAIN(VOID){ INT FD; INT RET; UNSIGNED CHAR BUF[1]; INT I,F,J; DOUBLE X; INT A[2]={0}; CHAR PRE_SCANCODE=0XFF; FD=OPEN(DEVICE_NAME,O_RDWR); IF(FD==-1)PRINTF(“OPEN DEVICE %S ERROR\N”,DEVICE_NAME); ELSE{ BUF[0]=0XFF; I=0;F=0; WHILE(1){ READ(FD,BUF,1);

ARM ads1.2开发环境的搭建&使用

ARM开发环境的搭建 安装平台(ads_1.2(arm 开发工具).iso,目前存放在D:\汇文\arm\工具及软件),在windows下安装。 步骤1:双击打开:ads_1.2(arm 开发工具).iso-》双击setup.exe,此软件安装完成后需要注册,注册文件在ads_1.2(arm 开发工具).iso中的crack文件夹的license.dat中,将此文件导入完成后即安装完毕。步骤2:打开AXD进行配置 (1): 点击进入(2):

(3) (4):ADD 完成后点击进入 configure

(5)先选择TCP/IP,然后填入127.0.0.1的本地回环,过后还要修改回来。进入JTAG,修改JTAG为4800KHZ;

(6)完后后会提示出错,

(7)完成以上步骤后保存设置:file-》save session (保存地址最好在根目录下,最好不要有中文(目前我的安装版本保存在:D:\AXD_session 下;)) (8)以上完成后开始OXD-》option-》configure interface ,导入完成

后从新保存并覆盖上一步的保存信息。下次使用的时候需要将这些保存信息导入才能使用。以上过程可打开jlink的GDB工具,用于监视单板的连接情况。(打开SEGGER->jlink GDB) (9)完成以上步骤后,开始进入《metroworks codewarrior for ARM Developer suite v1.2》进行设置 1.首先在file 内open一个已经ok的程序(在D:\AXD_session\YC2440_LED中的YC2440_LED.mcp),进入以下界面: 备注:metroworks codewarrior for ARM Developer suite v1.2同AXD 的关系,metroworks codewarrior for ARM Developer suite v1.2用于编 辑,AXD用于调试

嵌入式实验报告

《嵌入式系统导论》实验报告学院: 学号: 姓名: 上海工程技术大学 电子电气工程学院

实验一 GPIO(按键和LED)实验 一、实验要求 1 、掌握基于STM32F103微控制器的嵌入式系统、仿真器和开发用PC机之间的连接方法,能够搭建基于STM32F103微控制器的嵌入式系统交叉开发环境。 2 、熟悉常用的嵌入式开发工具KEIL MDK或IAR EWARM的操作环境和基本功能(包括编辑、编译、链接、调试和下载等),学会创建、配置和管理STM32工程,掌握嵌入式程序的基本调试方法,学会使用逻辑分析仪窗口和外设窗口等信息窗口调试嵌入式程序。 3 、理解LED和按键的构件原理,学会设计它们与微控制器间的接口电路 4 、掌握STM32F103微控制器GPIO的工作原理,熟悉STM32的GPIO库函数 5 、学会使用STM32的GPIO库函数在KEIL MDK或IAR EWARM下开发基于LED和按键的简单嵌入式应用程序 二、实验环境 1 、硬件: ALIENTEK STM32F103嵌入式开发板 2 、软件: KEIL MDK或IAR EWARM 三、实验内容 1 、流水灯实验一: 在KEIL MDK或IAR EWARM 中建立STM32工程,并使用GPIO库函数和延时循环设计基于无限循环架构的嵌入式应用程序,使开发板上的红色LED以一定周期闪烁。 采用软件仿真的方式调试程序,通过“Logic Analyzer”,观察程序模拟运行时连接红色LED的引脚PA8上的输出波形。 采用硬件下载的方式调试程序,观察程序下载硬件运行时红色LED的闪烁情况。 2 、按键控制LED实验:

《嵌入式操作系统》实验报告

《嵌入式操作系统》实验报告 班级计算机 学号 姓名 指导教师庄旭菲

内蒙古工业大学信息工程学院计算机系 2018年6月 实验一Linux内核移植与编译实验 1. 实验目的 了解Linux 内核相关知识与内核结构 了解Linux 内核在ARM 设备上移植的基本步骤和方法 掌握Linux 内核裁剪与定制的基本方法 2. 实验内容 分析Linux 内核的基本结构,了解Linux 内核在ARM 设备上移植的一些基本步骤及常识。 学习Linux 内核裁剪定制的基本配置方法,利用UP-Magic210 型设备配套Linux 内核进行自定义功能(如helloworld 显示)的添加,并重新编译内核源码,生成内核压缩文件zImage,下载到UP-Magic210 型设备中测试。 3. 实验步骤 实验目录:/UP-Magic210/SRC/kernel/编译内核:在宿主机端为UP-Magic210 设备的Linux 内核编写简单的测试驱动(内核)程序并修改内核目录中相关文件,添加对测试驱动程序的支持。 (1)、使用vim 编辑器手动编写实验代码

内如如下: #include #include MODULE_LICENSE("Dual BSD/GPL"); (3)、进入实验内核源码目录修改driver/char/目录下的Makefile 文件,按照内核中Makefile 语法添加helloworld程序的编译支持 [root@localhost vi drivers/char/Makefile 在Makefile 中(大约在91 行)添加如下一行 obj-$(CONFIG_TOSHIBA) += obj-$(CONFIG_I8K) += obj-$(CONFIG_DS1620) += obj-$(CONFIG_HW_RANDOM) += hw_random/ obj-$(CONFIG_HELLO_MODULE) += obj-$(CONFIG_PPDEV) += (4)、运行make menuconfig 配置内核对helloworld 程序的支持: [root@localhost make distclean [root@localhost make menuconfig 先加载内核配置单,如图:

相关主题
相关文档 最新文档