基于CCS的嵌入式软件开发与调试

基于CCS的嵌入式软件开发与调试

ID:37974685

大小:499.00 KB

页数:30页

时间:2019-06-04

基于CCS的嵌入式软件开发与调试_第1页
基于CCS的嵌入式软件开发与调试_第2页
基于CCS的嵌入式软件开发与调试_第3页
基于CCS的嵌入式软件开发与调试_第4页
基于CCS的嵌入式软件开发与调试_第5页
资源描述:

《基于CCS的嵌入式软件开发与调试》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于CCS的 嵌入式实时系统 软件开发与调试田黎育实时调试的挑战DSP程序常见的错误 程序跑飞,死机程序跳转不正确 数据被修改指针问题、堆栈溢出DSP实时程序的特点:与通用OS的应用程序比较 (1)至少存在一个中断,即有时限 (2)DSP系统是嵌入式系统,用户管理memorymap。 (3)数据IO程序+数据处理程序:并行可能的硬件平台的问题给软件带来的麻烦调试:debug调试就是通过理解系统行为(运行),让系统实现其正确的功能的过程。在调试时,我们试图根除导致系统出现未预期行为的根本原因。为了理解其根本原因,

2、我们需要理解系统的运行情况。我们需要理解系统在做什么----不是我们认为系统应该做什么,也不是另外什么人说系统在做什么----而是系统实际上在做什么。如果我们不理解系统,就不能指望改动系统让它完成我们想做的事情。而且,我们所做的任何改变系统行为的事情,都有破坏另外一些事情的危险;也可能因为改动而带来了更多的bug。什么是“调试”输入输出×调试的过程调试的一般过程 (1)识别问题(加断点对timer计数的影响) (2)收集信息logging:(收集什么信息?造成输出错误的直接输入信息,逐级tracing) (3)分

3、析收集的数据,定位bug; (4)修改bug。可控性&可观测性:来自软件工程的概念,其中可观测性是软件、硬件调试的基石。调试的手段静态调试: 单步执行;设置断点; 观察变量;观察寄存器和存储器值; 修改变量、寄存器和存储器的值; 运行一段程序;“必须掌握的基本技能”动态调试: 实时记录、观察数据;RTDX条件断点;论述“调试”的书籍TheScienceofDebugging,MattTelles.程序调试思想与实践,中国水力水电出版社---bug是系统逻辑的奴隶DebuggingApplication,JohnRo

4、bbins, MicrosoftPress,2000主要针对windows程序调试 中文名:应用程序调试技术软件调试思想:RobertCharlesMetzger嵌入式实时系统程序的分类简单地,可以分为(1)数据处理的程序: 各种算法的实现;与硬件相对无关(2)数据传输的程序:与硬件紧密相关;中断、DMA:提高数据传输效率的 两种“古老”而有效的手段两种程序的开发时间:数据链路层次(1)CPU核DSP的寄存器和运算单元之间的数据链路多数据链路层次(2)DSP片内存储器片外存储器接口:EMIF,HPI/XBUSDMA

5、中断其它外设: 时钟,串口数据链路层次(3)板级数据链路层次(4)板间CompactPCI总线脉冲压缩板C6701C6701C6701C6701C6202AD预处理板ADCC6202ADCC6202DSP板并口串口C6202CPU板定时板C31某信号处理系统框图系统定时信号数据链路层次(5)系统间其实是一个雷达系统的子系统之间的数据链路。再进一步:这个雷达系统可以组网,利用通信系统给决策单位提供信息,进行后数据处理,做出决策总之,要对数据链路有一个清晰的各级层次的传输图C6000的中断(1)三个概念: (1)中断源

6、(Interruptsource):即中断事件,32个(2)中断选择号(InterruptSelectionNumber):5bit (3)中断(Interrupt):12个可屏蔽+NMI(No.1)+RESET(No.0)+RTDX(No.3)中断寄存器的设置: 中断源通过中断选择子(InterruptSelector)“映射”到CPU的中断上,并可通过外中断极性设置寄存器设置EXT_INT4EXT_INT7的中断极性(即中断地触发时刻)C6000的中断(2)中断服务程序:map1:IDRAM0x000~0x2

7、00 0x200=16*32;16个中断,每个中断的8条指令;二次跳转:中断服务程序的任务实现超过8条指令时,跳转到真正处理中断的子程序_INT4:.asg4,vecstw.d2b0,*--b15

8、

9、mvk(_isr_jump_table+vec*4),b0mvkh(_isr_jump_table+vec*4),b0ldw.d2*b0,b0nop4b.s2b0

10、

11、ldw.d2*b15++,b0nop5C6000的中断(3)二次跳转的实现: (1)中断跳转表:isr_jump_table全局变量 (2)“挂”中断:v

12、oidintr_hook(void(*fp)(void),intcpu_intr);来源:tic6000evm6xdsp…库函数,头文件,源文件v1.2有;v2.0只含头文件C6000的中断(4)中断嵌套-进入中断后,GIE=0-允许中断嵌套的设置中断重入-打乱时序关系,应该 尽量避免IRPBak=GET_REG(IRP);CSRBak=GET_RE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。