《嵌入式技巧:ARM的三种中断调试方法介绍.docx》由会员分享,可在线阅读,更多相关《嵌入式技巧:ARM的三种中断调试方法介绍.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式技巧:ARM的三种中断调试方法介绍ronggang导语:照嵌入式软件的开发流程。第一步:工程建立和配置。第二步:编辑源文件。第三步:工程编译和链接。第四步:软件的调试。第五步:执行文件的固化1嵌入式软件开发流程照嵌入式软件的开发流程。第一步:工程建立和配置。第二步:编辑源文件。第三步:工程编译和链接。第四步:软件的调试。第五步:执行文件的固化。在整个流程中,用户首先需要建立工程并对工程做初步的配置,包括配置处理器和配置调试设备。编辑工程文件,包括自己编写的汇编和C语言源程序,还有工程编译时需要编写的链接脚本文件,调试经过中需要编写存储区映像文件和命令脚本文件,以及上电复位时的程序运行入口
2、的启动程序文件。对后四种文件的理解很重要,其作用解释如下:1链接脚本文件:在程序编译时起作用。该文件描绘代码链接定位的有关信息,包括代码段,数据段,地址段等,链接器必须使用该文件对整个系统的代码做正确的定位。在SDRAM中调试程序、在FLASH中调试或者固化后运行的链接脚本文件应加以区分。在IDE开发环境中使用扩展名.ld2命令脚本文件:在SDRAM中调试程序时起作用。在集成环境与目的连接时、软件调试经过中以及目的板复位后,有时需要集成环境自动完成一些特定的操纵,比方复位目的板、去除看门狗、屏蔽中断存放器、存储区映射等。些操纵可以通过执行一组命令序列来完成,保存一组命令序列的文本文件称为命令脚
3、本文件在IDE开发环境中使用扩展名.cs。3存储区映像文件:在SDRAM中调试程序时起作用。在软件调试经过中访问非法存储区在局部处理器和目的板上会产生异常,假如异常没有处理,那么会导致软件调试经过无法继续,为了防止以上问题并调整仿真器访问速度以到达最适宜的程度,提供这样一种用于描绘各个存储区性质的文件叫存储区映像文件在IDE开发环境中使用扩展名.map。在程序的调试经过中可以选择使用存储区映像文件.map和命令脚本文件.cs配合程序的调试。4启动文件:它主要完成一些和硬件相关的初始化的工作,为应用程序做预备。一般,启动代码的第一步是设置中断和异常向量;第二步是完成系统启动所必须的存放器配置;第
4、三步设置看门狗及用户设计的局部外围电路;第四步是配置系统所使用的存储区分配地址空间;第五步是变量初始化;第六步是为处理器的每个工作形式设置栈指针;最后一步是进入高级语言入口函数Main函数。2中断程序设计中断调试方面可以采用类似矢量中断动态处理方式,让中断对应确实定地址代码调转到RAM的固定地址处,定义一个函数指针指向该固定地址,就可以随时通过交换RAM固定地址处的代码,实现动态改变中断处理函数。详细方法是:1将中断源函数指针定义在RAM中相对的固定地址,建立中断矢量表;2在程序中,调用详细某中断源的中断处理函数;如:SetInterruptIIC_INT,IICWriteIsr;/声明IIC
5、中断处理函数,其中IIC_INT为IIC中断源序号,IICWriteIsr为IIC的写中断处理函数/3在0x18处的IRQ或者0x1C处的FIQ中断入口函数中,获取中断源、去除中断挂起标志、通过已定义的中断源函数指针进入用户详细某中断处理程序。采用动态的中断处理方法,在中断源较多的情况下,中断响应时间和程序性能得到优化。另外,在调试方面,此处理方法具有便于跟踪调试的优点,并且根据需要,可以方便变换中断处理函数。3中断调试软件调试可以在SDRAM中或者FLASH中进展。在SDRAM中,读写方便,访问速度快。一般软件调试应在RAM中完成,但当RAM空间小于FLASH程序空间,程序只能在FLASH运
6、行和调试时,或用户希望理解程序在FLASH中实际运行情况时,就可以在FLASH中进展程序调试。进展中断调试时,应留意中断入口位于SDRAM中或者FLASH中0x18或者0x1c地址,链接脚本文件必须使整个系统的代码正确定位于0x0起始处,但SDRAM或者FLASH对应的链接脚本文件及工程配置留意区别。1程序在SDRAM中运行在SDRAM中调试,使用SDRAM对应的链接脚本文件。调试经过需要以下几步:编译、链接工程;连接仿真器和电路板;下载程序在IDE开发环境中使用扩展名.elf;调试。下载程序前必须启动命令脚本文件完成前述的一些特定的操纵,命令脚本文件的启动在连接仿真器时自动进展,其中存储区映射应与程序在SDRAM中运行时一样,保证整个系统的代码正确定位于0x0起始处。下载程序的起始地址也为0x0,下载成功后便可进展调试工作。