当前位置:首页 >> 理化生 >>

实验一


实验一
一、实验目的
1. 2. 3. 4. 5.

熟悉 ADS1.2 开发环境及教学实验箱

熟悉 ADS1.2 开发环境,正确进行编译、下载、调试。 了解 ARM9 的结构特点 了解 VIVI 引导程序常用命令的使用方法 理解 NAND FLASH 的用途与分区方法 掌握用 VIVI 下载 ARM 程序方法

/>
二、实验仪器设备及软件
1. ARM9 教学实验箱,PentiumII 以上的 PC 机 2. PC 操作系统 WINXP,ADS1.2 集成开发环境

三、实验原理
ARM 实验箱基本结构 S3C2410 核心板资源介绍 ? NANDFLASH 32MB K9F5608U,8 位总线 ? 占用地址空间 0x0000 0000 – 0x01ff ffff 将 OM[1:0]设置成 00b(Nand BOOT) ? 同步动态存储器 HY57V561620,8MB 32 位总线,占用地址空间 0x3000 0000 – 0x33ff ffff(BANK6,7) ? 电源转换 5V 转成 3.3V ,5V 转成 1.8V ? 网卡芯片 AX88796LF ? USB(主/从接口) ? 串口芯片 MAX3232(电源电压 3.3V) ? J-TAG 接口 ? LED 灯(两个,接在 GPIOG) 实验箱其它电路 ? SD 卡接口电路 ? 键盘鼠标电路 ? 16 键键盘电路 ? 扩展接口(8 位,32 位) ? 外部温度传感器 ? CPLD 主板各芯片地址译码电路 ? 扩展从 USB 电路 ? LED 指示灯(8 个,低电平亮) ? 信号扩展电路(IDE 接口) 2. VIVI 引导程序 VIVI 是韩国 mizi 公司开发的 bootloader, 适用于 ARM9 处理器。VIVI 有两种 工作模式:启动加载模式和下载模式。启动加载模式可以在一段时间后(这个时间 可更改)自行启动 linux 内核,这时 vivi 的默认模式。在下载模式下,vivi 为用户提 供一个命令行接口,通过接口可以使用 vivi 提供的一些命令。 (1)help 显示 vivi 引导程序的命令信息 (2)Part 操作 MTD 分区信息。显示、增加、删除、复位、保存 MTD 分区 1.

part show 显示分区信息 part add partname part_start_addr part_leng 0 添加分区 part del partname 删除分区 part save 保存 part 分区信息 (3)Load 把二进制文件载入 Flash 或 RAM load flash partname x 使用 xmodom 协议通过串口下载文件并且烧写到 partname 分区 load ram partname or addr x 使用 xmodom 协议通过串口下载文件到内存中 (4)param 操作 vivi 参数命令。显示、增加、删除、复位、保存参数。 param show 显示配置信息 param set paramname value 设置参数值 param set linux_cmd_line “linux boot param” 设置 linux 启动参数 param save 保存参数的设置 (5)bon 操作 NAND FLASH 分区命令 (6)boot 引导 linux 操作系统命令 (7)ucos 引导 ucOS 操作系统或其它应用程序命令 (8)其它命令见附录 3. NAND FLASH 的用途与分区 NAND FLASH 用来存储引导程序,操作系统,应用程序,数据等。通过 ARM9 开发都有一片 NAND FLASH 存储器。本实验箱的 NAND FLASH 存储器容量是 32MB。 首先我们来理解一下三种分区:BON 分区,part 分区,MTD 分区 BON 分区:VIVI 程序基本分区,把 NAND FLASH 在物理上分区多个区域,供 引导程序与操作系统使用。一般来说,每个分区的功能都不同。 part 分区:VIVI 引导程序用的逻辑分区,烧写程序的时候用来确定烧写地址的。 MTD 分区:Linux 操作系统下的 NAND FLASH 分区,是逻辑分区。Linux 操作 系统启动后,part 分区也就没有意义了,操作系统会读取 BON 分区的信息。 嵌入式系统 NAND FLASH 的 BON 分区一般来说明要分为不少于 3 个,第一个 用来存 VIVI 引导程序,第 2 个用于存储 Linux 操作系统内核程序,第 3 个用来存 Linux 操作系统的文件系统。 为了更好的进行 uCOS 实验和 Linux 实验, 应把 NAND FLASH 分为 5 个区。各分区安排如下: VIVI 0---192KB (用于存引导程序 VIVI,VIVI 用到的参数) kernel 192KB----2M+192K (用于存 Linux 内核,2.6 版内核编译后很容易 大于 1M) rootcramfs 2M+192K--20M (用于存文件系统,约 18M,只读) rootyaffs 20M-31M (用于存储 yaffs 文件系统,可读写) ucos2 31M-32M-16K (用于存储 uCOS 程序或无操作系统程序) 分区命令如下: BON PART 0 192K 2240K 20M 31M 分区后应立即下载 VIVI 程序,不能断电。 重新引导 VIVI 后,用 part 进行逻辑分区。 对应的 part 分区命令: 首先删除已有的 part 分区 kernel,root,可以用 part show 命令查看分区。 删除分区命令:part del root 删除 root 分区

建立分区命令: part add rootcramfs 0x230000 0x11d0000 BONFS 这一命令是建立一个名为 rootcramfs 的分区,分区起始地址是 0x230000, 分区 大小是 0x11d0000 ,约 18MB,分区参数 BONFS part add rootyaffs 0x1400000 0x0b00000 BONFS part add ucos2 0x1f00000 0x0fa000 BONFS 四、实验内容 1. 2. 学习使用 ADS1.2 开发环境 ARM9 教学实验箱的基本操作 ①VIVI 命令基本操作 (1)使用 VIVI 命令查看 CPU 的类型,实验箱硬件相关参数。 (2)查看 NAND FLASH 分区信息,并记录各区在 NAND FLASH 的起始地址。 (3)查看 MTD 分区信息,并记录各分区的名称,容量,起始地址等。 (4)通过串口下载程序到 SDRAM 中,并正确运行程序。 LOAD RAM 0X30038000 0X100000 X 说明:从串口中,用 Xmodern 协议下载程序到 SDRAM 中,程序的大小小于 1MB(0x100000) ,程序下载到 SDRAM 的地址是 0x30038000。这个地址应该与 编译软件设置的运行地址相同。 运行程序方法:go 0x30038000 ②NAND FLASH 分区 用 VIVI 引导程序相关命令可以给 NAND FLASH 分区, 并指定每个分区的用途。 ③下载应用程序,并运用 通过串口下载程序到 NAND FLASH 中,并运行程序。 LOAD FLASH ucos2 x 说明: 从串口中, Xmodern 协议下载程序到 NAND FLASH 中的 ucos2 分区, 用 程序的大小不指定,系统自动计算。 运行程序方法:ucos

五、实验步骤
1. ADS1.2 开发环境实验步骤:

(1)ADS1.2 下建立工程 ①运行 ADS1.2 集成开发环境 (CodeWarrior for ARM Developer Suite) 点击 File|New, , 在 New 对话框中,选择 Project 栏,其中共有 7 项,ARM Executable Image 是 ARM 的通用 模板。选中它即可生成 ARM 的执行文件。同时,如图 2-1-1

图 2-1-1 还要在,Project name 栏中输入项目的名称,以及在 Location 中输入其存放的位置。 按确定保存项目。 ②在新建的工程中,选择 Debug 版本,如图 2-1-2,使用 Edit|Debug Settings 菜单对 Debug 版本进行参数设置。

图 2-1-2 ③在如图 2-1-3 中, 点击 Debug Setting 按钮, 弹出 2-1-4 图, 选中 Target Setting

图 2-1-3

图 2-1-4 项,在 Post-linker 栏中选中 ARM fromELF 项。按 OK 确定。这是为生成可执行的代码 的初始开关。 ④在如图 2-1-5 中,点击 ARM Assembler ,在 Architecture or Processer

图 2-1-5 栏中选 ARM920T。这是要编译的 CPU 核。 ⑤在如图 2-1-6 中,点击 ARM ARM920T。这是要编译的 CPU 核。 C Compliler ,在 Architecture or Processer 栏中选

图 2-1-6 ⑥在如图 2-1-7 中,点击 ARM linker ,在 outpur 栏中设定程序的代码段地址,以及

数据使用的地址。图中的 RO Base 栏中填写程序代码存放的起始地址,RW Base 栏中填写程 序数据存放的起始地址。该地址是属于 SDRAM 的地址。

图 2-1-7

图 2-1-8 在 options 栏中,如图 2-1-8,Image entry point 要填写程序代码的入口地址,其他 保持不变, 如果是在 SDRAM 中运行, 则可在 0x30000000—0x33ffffff 中选值, 这是 64M SDRAM 的地址,但是这里用的是起始地址,所以必须把你的程序空间给留出来,并且还要留出足够 的程序使用的数据空间,而且还必须是 4 字节对齐的地址(ARM 状态) 。通常入口点 Image entry point 为 0x30000000,ro_base 也为 0x30000000。 在 Layout 栏中,如图 2-1-9,在 Place at beginning of image 框内,需要填写项目 的入口程 序的目标文件名,如, 整个工程项目的入口程 序是 2410init.s, 那么应在 Object/Symbol 处填写其目标文件名 2410init.o, Section 处填写程序入口的起始段标号。 在 它的作用是通知编译器,整个项目的开始运行,是从该段开始的。

图 2-1-9 ⑦在如图 2-1-10 中,即在 Debug Setting 对话框中点击左栏的 ARM fromELF 项,在 Output file name 栏中设置输出文件名*.bin,前缀名可以自己取,在 Output format 栏中 选择 Plain binary,这是设置要下载到 flash 中的二进制文件。图 2-1-10 中使用的是 test.bin.

图 2-1-10 ⑧到此,在 ADS1.2 中的基本设置已经完成,可以将该新建的空的项目文件作为模板保 存起来。首先,要将该项目工程文件改一个合适的名字,如 S3C2410 ARM.mcp 等,然后,在

ADS1.2 软件安装的目录下的 Stationary 目录下新建一个合适的模板目录名,如,S3C2410 ARM Executable Image,再将刚刚设置完的 S3c2410 ARM.mcp 项目文件存放到该目录下即可。 这样,就能在图 2-1-10 中看到该模板。 ⑨新建项目工程后, 就可以执行菜单 Project|Add Files 把和工程所有相关的文件加入, ADS1.2 不能自动进行文件分类,用户必须通过 Project|Create Group 来创建文件夹,然后 把加入的文件选中,移入文件夹。或者鼠标放在文件填加区,右键点击,即出!如图 2-1-11

图 2-1-11 先选 Add Files,加入文件,再选 Create Group,创建文件夹,然后把文件移入文件夹 内。读者可根据自己习惯,更改 Edit|Preference 窗口内关于文本编辑的颜色、字体大小, 形状,变量、函数的颜色等等设置。如图 2-1-12。

图 2-1-12 (2) ADS1.2 下仿真、调试 在 ADS1.2 下进行仿真调试,首先需要一根仿真调试电缆。其驱动程序的安装和使用在 光盘中的\实验软件\ARM9_RDI 中,里面有相关的文档。在连上调试电缆后,给实验箱上电,

打开调试软件 AXD Debugger。点击 File|load image 加载文件 ADS.axf(\实验程序 \HARDWARE\ADS\实验一\ADS\ADS_data 目录下)。打开超级终端,设置其参数为:波特率为 115200,数据位数 8,奇偶校验无,停止位无 1,数据流控无。点击全速运行,出现图 2-1-13 的界面:

图 2-1-13 在最后介绍调试按钮,

上图,左起第一个是全速运行,第二个是停止运行,第三个跳入函数内部,第四个单步 执行,第五个跳出函数。 2. ARM9 教学实验箱的基本操作实验步骤: ① 连接实验箱与计算机的串口线,打开计算机超级终端,并设定为 com1,115200,8,1,0 N ② 连接仿真调试电缆(并口 JTAG) ③ 实验箱上电,并在 vivi 的指示下,按任意键,进入调试程序状态 ④ 打开超级终端软件,并进行相应的设置。 ⑤ 按内容要求测试 VIVI 程序各命令功能,并记录调试过程和数据。 ⑥ 下载编译好的 ARM 程序例子,并记录实验现象。 ⑦ 调试完毕,整理实验箱,并放回原位。

六、实验思考题

七、实验报告要求
(1)按电子版实验报告格式,写实验报告。 (2)写出程序分析、修改的过程 (3)总结实验过程程序编译、程序下载、调试过程中所遇到的问题和解决方法,写出 实验过程的经验和体会。


相关文章:
实验一
实验一:我设计的同步卫星运动模拟实验 我的假设:地球同步卫星在空中是运动的 我所用的材料: 我用乒乓球来模拟卫星, 用地球仪来模拟地球, 用科学书做参照物。 ...
实验一
实验一_化学_自然科学_专业资料。实验 一 项目名称: 电磁型电流继电器和电压继电器实验 一、实验目的和要求 1.熟悉 DL 型电流继电器和 DY 型电压继电器的实际结构...
实验一 认识实验
实验一 认识实验_电子/电路_工程科技_专业资料。实验一一、实验目的 认识实验 1. 了解实验基本要求和安全操作规程; 2. 了解实验台构造及使用方法; 3. 认识各种...
实验一
实验一_物理_自然科学_专业资料。数据结构数据结构实验指导书 计算机系数据结构实验报告(1)姓名: 叶超 班 学号: 6103113037 专业班级: 计算机科学 131 实验目的:对...
实验一
实验一_学习总结_总结/汇报_实用文档。labview实验虚拟仪器设计 实验一:认识 Labview 一、实验目的 1、掌握 Labview 软件的基本使用方法; 2、了解 Labview 前面板和...
实验一完整版
实验一完整版_高等教育_教育专区。审计实验《审计学课程实验项目 1——计划审计工作》 实验报告 实验项目: 实验地点: 学院: 计划审计工作 商学实验中心 会计学院 ...
实验一
上机实验一 暂无评价 17页 免费 实验项目一 暂无评价 2页 2财富值 实验一 基于k 暂无评价 2页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或...
实验一_图文
实验一_其它课程_小学教育_教育专区。深圳大学、深大、编译原理实验报告1 深圳大学实验报告 课程名称: 编译原理 实验项目名称: 文法分析方法及其应用 学院: 计算机与...
实验一
实验一_教学案例/设计_教学研究_教育专区。实验报告一姓名: 班级: 学号: 成绩: 实验名称 实验目的 实验设备 实验原理: 实验一 薄板拉伸作用下力学性能测试 1.了...
实验一
实验一_其它课程_小学教育_教育专区。实验一、空域图像增强技术一、 实验目的 1 结合实例学习如何在视频显示程序中增加图像处理算法; 2 理解和掌握图像的线性变换和...
更多相关标签:
实验一小 | 实验二 | 实验一 英文 | 实验1 | 北京实验一小马连道 | 六盘水第一实验中学 | 嘉兴一中实验学校 | 嘉兴一中实验 |