快速业务通道

嵌入式技巧:ARM的三种中断调试方法

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-06
M中完成,但当RAM空间小于FLASH程序空间,程序只能在FLASH运行和调试时,或者用户希望了解程序在FLASH中实际运行情况时,就可以在FLASH中进行程序调试.

进行中断调试时,应注意中断入口位于SDRAM中或FLASH中0x18或0x1c地址,链接脚本文件使整个系统的代码正确定位于0x0起始处,但SDRAM或FLASH对应的链接脚本文件及工程配置注意区别.

Empire CMS,phome.net

(1)程序在SDRAM中运行

在SDRAM中调试,使用SDRAM对应的链接脚本文件.调试过程需要以下几步:编译、链接工程;连接仿真器和电路板;下载程序(在IDE开发环境中使用扩展名*.elf);调试.

下载程序前启动命令脚本文件完成前述的一些特定的操作,命令脚本文件的启动在连接仿真器时自动进行,其中存储区映射应与程序在SDRAM中运行时相同,保证整个系统的代码正确定位于0x0起始处.下载程序的起始地址也为0x0,下载成功后便可进行调试工作.

(2)程序在FLASH中运行

在FLASH中调试,使用FLASH对应的链接脚本文件.调试过程需要以下几步:编译、链接工程;连接仿真器和电路板;程序格式转换(*.elf转换为*.bin);固化*.bin程序;调试.

连接仿真器后不需要下载程序,存储区映射由本身工程中启动文件运行完成,不需要命令脚本文件.在本环境调试过程中,可以设置两个硬件断点.

(3)程序从FLASH中调到SDRAM中运行

在某些应用场合,强调程序运行速度的情况下,希望程序在SDRAM中运行,这样就需要将FLASH中存储的程序,在系统上电后搬运到SDRAM某空间位置,然后自动运行.这种所谓的Bootloader技术,在DSP系统中常被采用.

调试过程分两步:

(a)将用户程序在SDRAM中调试通过,然后将*.bin文件固化到FLASH某一非0扇区地址空间;

(b) 将自己编写的Bootloader搬运程序调试通过并将Bootloader.bin文件固化到FLASH的 0扇区地址空间,搬运程序在系统上电后,将(a)中FLASH某一非0扇区地址空间存储的程序,搬运到在SDRAM调试中同样的空间位置,实现程序在SDRAM中运行的目的.

另外注意,用户实际的程序中断入口位于FLASH的0x18或0x1c地址,Bootloader搬运程序还应具有中断入口的跳转功能,即把PC指针由此转向处于SDRAM空间的中断程序入口表,就是整个用户程序被搬运到SDRAM的那一位置.

如:LDR PC, =HandleIRQ

// HandleIRQ位于SDRAM空间中断程序入口表

Empire CMS,phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号