ARM嵌入式实验开发环境熟悉实验 - 图文(7)
在调试状态下,指令的执行是由DCLK驱动的。而对存储空间(内存)的访问需要MCLK的驱动。那在调试状态下,如何实现对存储空间的访问呢?这个时候,边界扫描链1的BREAKPT位就派上用场了。在通过扫描链1插入一条指令的时候,如果将BREAKPT位置1,意味这条指令的下面一条指令将在MCLK的驱动下执行,执行完毕后,自动返回调试状态。这样,通过扫描链1的BREAKPT位,我们就可以实现对系统存储空间的访问。让我们来看看要读取内存地址ADDR上的32位数据的大概步骤。首先,我们将要访问的地址ADDR写到寄存器R0当中去;然后用指令LDR R1, [R0]将地址ADDR处的32位长的数据拷贝到寄存器R1当中去;最后,将寄存器R1的值读出来,就得到了存储空间地址ADDR处的值。修改寄存器R0的值和读取寄存器R1的值的步骤在前面都详细介绍了,在下面,我只介绍结合BREAKPT如何用指令LDR R1, [R0] 来真正的访问系统存储空间,将地址R0处的内容拷贝到寄存器R1当中去。具体过程如下(在下面描述的每一个步骤,TAP状态都是从RUN-TEST/IDLE状态出发,最后回到RUN-TEST/IDLE状态):
? 插入空指令MOV R0, R0 & BREAKPT = 1:
——首先插入一条空指令,该指令的主要目的是将扫描链1的BREAKPT信号置1。这样,这条空指令的下一条指令将在MCLK的驱动下,回到正常状态下运行。
? 插入指令LDR R1, [R0]& BREAKPT = 0:
——因为上一条指令将扫描链1的BREAKPT置1了,所以,这条指令将在MCLK的驱动下,回到正常的系统状态下去执行;
? 将JTAG RESTART指令插入到ARM7TDMI的JTAG指令寄存器当中去:
——将RESTART插入到JTAG指令寄存器当中去有几个作用。一是,使ARM7TDMI重新同步于MCLK信号;二是,使刚才插入的指令LDR R1, [R0]在系统正常状态下,在MCLK的驱动下执行;三是,在系系统正常状态下执行完指令LDR R1, [R0]后,使ARM7TDMI自动返回到调试状态下;
在将RESTART写入到JTAG指令寄存器,并且在TAP Controller回到RUN-TEST/IDLE状态后,ARM7TDMI将会暂时返回到正常的运行状态。在正常的运行状态下,ARM7TDMI将以系统速度(MCLK驱动)完成指令LDR R1, [R0]的执行。执行完毕后,ARM7TDMI将自动返回
到调试状态。这样,寄存器R1中就已经有了地址ADDR处数值的一个拷贝了。最后需要做的就是通过前面介绍的方法,在调试状态下,将R1的值读出来。在需要访问内存的时候,需要注意的就是扫描链1中BREAKPT位的设置,以及JTAG RESTART指令的使用。
(4)写内存:
修改内存的过程和读取内存的过程类似,大概步骤如下:将内存地址ADDR写到寄存器R0当中去,将新的值写到寄存器R1当中去,最后利用指令STR R1 [R0]完成实际的内存访问。在将指令STR R1 [R0] 插入插入到扫描链0之前前,将扫描链1的BREAKPT位置1,以使得关键指令STR R1 [R0] 能在MCLK的驱动下,回到正常的系统状态下去执行,以便能正常访问系统存储。
在这个小节里,我们主要介绍了通过边界扫描链1如何访问ARM7TDMI的通用寄存器和系统存储空间。在我们的讨论当中,为了简单起见,我们使用了最简单的LDR和STR指令。在实际的调试过程中,可以使用LDM和STM指令,这样一次可以读写多个寄存器或者是多个地址上的数据,提高效率。从上面的讨论可以看出,在调试状态下,每次对通用寄存器和系统存储系统进行访问都需用多条指令来实现。每次插入一条指令到扫描链1中去,都需要33个TCK时钟周期。因为并口的速率限制,通过并口进行调试时,速度会比较的慢。如果使用USB接口或者网络接口,调试的速度将能够获得很大的提升。
五 实验过程
1
超级终端的建立
思考:建立超级终端的目的是什么?
(1)、运行Windows 系统下的超级终端(HyperTerminal)应用程序,新建一个通信终端(请见图19)。如图20所示,如果要求输入区号、电话号码等信息请随意输入;出现如图21所示对话框时,为所建超级终端取名为arm(也可以选择其它的名字),可以为其选一个图标,单击“确定”按钮。
请大家注意:在windows xp操作系统下,当初次建立超级终端的时候,会出现如下对话框:
图19 可能的选择
图20 创建超级终端
图21 创建超级终端
(2)、在接下来的对话框中选择ARM 开发平台实际连接的PC 机串口(如COM1)如图22所示,按确定后出现如图23所示的属性对话框,设置通信的格式和协议。这里波特率为115200,数据位8,无奇偶校验,停止位1,无数据流控制。按确定完成设置。
图22 创建超级终端
图23 创建超级终端
(3)、完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存,将当前设置保存为一个特定超级终端到桌面上,以备后用。用串口线将PC 机串口和平台UART0 正确连接后,就可以在超级终端上看到程序输出的信息了
2 JTAG安装过程
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进行烧写,所以必须安装其驱动。
具体步骤如下:
图24 创建超级终端
(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就是在操作系统内核运行前运行地一段小程序。通过这段小程序,我们可以初始化必要的硬件设备,创建内核需要的一些信息并将这些信息通过相关机制传递给内核,从而将系统的软硬件环境带到一个合适的状态,最终调用操作系统内核,真正起到引导和加载内核的作用。在嵌入式系统开发过程中, …… 此处隐藏:2287字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




