5_基于CCS的嵌入式软件开发与调试(已套模板)
更新时间:2023-08-17 23:33:02 阅读量: 资格考试认证 文档下载
C6000 DSP体系结构 清华远见 培训资料
The success's road
基于CCS的 嵌入式实时系统 软件开发与调试
C6000 DSP体系结构 清华远见 培训资料
远见品质
实时调试的挑战
DSP程序常见的错误 程序跑飞,死机 程序跳转不正确 数据被修改 指针问题,堆栈溢出 DSP实时程序的特点:与通用OS的应用程 序比较 (1)至少存在一个中断,即有时限 (2)DSP系统是嵌入式系统,用户管理 memory map. (3)数据IO程序+数据处理程序:并行 可能的硬件平台的问题给软件带来的麻烦
C6000 DSP体系结构 清华远见 培训资料
远见品质
什么是"调试"输入× 输出
调试:debug
调试就是通过理解 理解系统行为 运行 行为(运行 理解 行为 运行),让系统实现其正确 的功能的过程. 在调试时,我们试图根除导致系统出现未预期行为 未预期行为的 未预期行为 根本原因.为了理解其根本原因,我们需要理解系统 根本原因 的运行情况. 我们需要理解系统在做什么----不是我们认为系统应该 做什么, 也不是另外什么人说系统在做什么----而是系 统实际上在做什么. 如果我们不理解系统,就不能指望改动系统让它完成 我们想做的事情.而且,我们所做的任何改变系统行 为的事情,都有破坏另外一些事情的危险;也可能因 为改动而带来了更多的bug.
C6000 DSP体系结构 清华远见 培训资料
远见品质
调试的过程调试的一般过程 (1)识别问题(加断点对timer计数的影 响) (2)收集信息logging:(收集什么信息? 造成输出错误的直接 直接输入信息,逐级 直接 tracing) (3)分析收集的数据,定位bug; (4)修改bug. 可控性 & 可观测性 :来自软件工程的概 念,其中可观测性是软件,硬件调试的基 石.
C6000 DSP体系结构 清华远见 培训资料
远见品质
调试的手段
静态调试: 单步执行;设置断点; 观察变量;观察寄存器和存储器值; 修改变量,寄存器和存储器的值; 运行一段程序; "必须掌握的基本技能" 动态调试: 实时记录,观察数据;RTDX 条件断点;
C6000 DSP体系结构 清华远见 培训资料
远见品质
论述"调试"的书籍The Science of Debugging, Matt Telles. 程序调试思想与实践,中国水力水电出版 社 ---bug 是系统逻辑的奴隶 Debugging Application , John Robbins , Microsoft Press ,2000 主要针对windows程序调试 中文名: 应用程序调试技术 软件调试思想 : Robert Charles Metzger
C6000 DSP体系结构 清华远见 培训资料
远见品质
嵌入式实时系统程序的分类
简单地,可以分为 (1)数据处理的程序: 各种算法的实现;与硬件相对无关 (2)数据传输的程序: 与硬件紧密相关; 中断,DMA: 提高数据传输效率的 中断, 两种"古老"而有效的手段 两种程序的开发时间:
C6000 DSP体系结构 清华远见 培训资料
远见品质
数据链路层次(1)CPU核DSP的寄存器 和运算单元之 间的数据链路 多
C6000 DSP体系结构 清华远见 培训资料
远见品质
数据链路层次(2)DSP
片内存储器 片外存储器接 口: EMIF, HPI/XBUS DMA 中断 其它外设: 时钟,串口
C6000 DSP体系结构 清华远见 培训资料
远见品质
C6x 片内总线Program Addr Program Data Data Addr - T1 Data Data - T1 Data Addr - T2 Data Data - T2 DMA Addr - Read x32 x256 x32 x32/64 x32 x32/64 x32 x32
x32 x32
Internal Memory
PC Aregs
A DExternal Interface
A D A D'C67x
Bregs
x32
Peripheralsx32
DMA Data - Read DMA Addr - Write DMA Data - Write
DMA
can perform 64-bit data loads. 64-
C6000 DSP体系结构 清华远见 培训资料
远见品质
数据链路层次(3)板级
C6000 DSP体系结构 清华远见 培训资料
远见品质
数据链路层次(4)板间
系统定时信号
AD预处理板
脉冲压缩板 C6701 C6701 C6701 C6701 C6202
定 时 板 C31
ADC C6202 ADC C6202
DSP板 并口 串口 C6202
CPU 板
Compact PCI 总线 某 信号处理系统框图
C6000 DSP体系结构 清华远见 培训资料
远见品质
数据链路层次(5)系统间
其实是一个雷达系统的子 系统之间的数据链路. 再进一步:这个雷达系统 可以组网,利用通信系统 给决策单位提供信息,进 行后数据处理,做出决策 总之,要对数据链路有一 个清晰的各级层次的传输 图
C6000 DSP体系结构 清华远见 培训资料
远见品质
C6000的中断(1)
三个概念: (1)中断源(Interrupt source):即中断事件,32个 (2)中断选择号(Interrupt Selection Number):5bit (3)中断(Interrupt):12个可屏蔽+NMI(No.1) +RESET(No.0)+ RTDX(No.3) 中断寄存器的设置: 中断源通过中断选择子(Interrupt Selector) "映射" 到CPU的中断上,并可通过外中断极性设置寄存器设置 EXT_INT4 EXT_INT7的中断极性(即中断地触发时 刻)
C6000 DSP体系结构 清华远见 培训资料
远见品质
C6000的中断(2)
中断服务程序: map1:IDRAM 0x000~0x200 0x200 = 16 * 32 ; 16个中断,每个中断的8条指令; 二次跳转: 中断服务程序的任务实现超过8条指令时,跳转到真正 处理中断的子程序_INT4: .asg 4, vec stw .d2 b0, *--b15 || mvk (_isr_jump_table + vec * 4), b0 mvkh (_isr_jump_table + vec * 4), b0 ldw .d2 *b0, b0 nop 4 b .s2 b0 || ldw .d2 *b15++, b0 nop 5
C6000 DSP体系结构 清华远见 培训资料
远见品质
C6000的中断(3)
二次跳转的实现: (1)中断跳转表:isr_jump_table 全局变量 (2) "挂"中断: void intr_hook(void (*fp)(void),int cpu_intr); 来源: ti\c6000\evm6x\dsp\… 库函数,头 文件,源文件 v1.2 有; v2.0 只含头文件
C6000 DSP体系结构 清华远见 培训资料
远见品质
C6000的中断(4)
中断嵌套-进入中断后,GIE=0 -允许中断嵌套的设置 IRPBak = GET_REG(IRP); CSRBak = GET_REG(CSR); IERBak = GET_REG(IER); INTR_DISABLE(CPU_INT6); INTR_GLOBAL_ENABLE(); ..…. INTR_CLR_FLAG(CPU_INT6); INTR_GLOBAL_DISABLE(); SET_REG(IRP, IRPBak); SET_REG(CSR, CSRBak); SET_REG(IER, IERBak);
中断重入-打乱时序关系,应该 尽量避免
C6000 DSP体系结构 清华远见 培训资料
远见品质
写C6000中断程序
一般来讲,嵌入式系统是中断驱动的系统,另外还有数据流驱动的嵌 入式系统(Windows:事件驱动) 典型的结构:main函数中初始化 While循环等待中断到来,在中断处 理程序中进行真正的数据处理 中断之间的关系: -同步关系:中断的触发次数成比例 -异步关系:... -因果关系:一个中断触发其他中断,可看作是同步 关系中的一种 特例 基于以上关系的中断间的数据共享模式: -乒乓模式:采数中断+处理中断, 同步中断关系 -圆周buffer:串口中断+处理中断,异步中断关系 -共享memory:传数中断+DMA结束中断,因果关系
C6000 DSP体系结构 清华远见 培训资料
远见品质
C6000的DMA(1)
C6000的DMA控制器在CPU结构中的位置,确 定DMA的数据链路:编程时考虑效率 XB, PBC, EMIF, DMC, PMC *其中和PMC的连接是单向的,只能向程序 存储空间写入(723数采例子,软硬件bug定位) 4个DMA通道+1个辅助DMA(HPI/XB) C6711/C6211/C64XX,16 EDMA通道 复杂的传输模式:满足不同的数据传输应用 单通道分割,多帧传输,自动初始化,传输完 毕后触发中断..….
C6000 DSP体系结构 清华远见 培训资料
远见品质
C6000的DMA(2)由于DMAC的位置,某些存储区之间的数据搬移要通过中间 的buffer(一般为IDRAM)实现,否则时间消耗大. 如双口和SBSRAM的数据传输,2次DMA的时间小于一 次直接DMA的时间;2次DMA传输中的第二次传输的启动一 般是靠第一次DMA完成后产生的软件中断触发的 用DMA实现MemoryCopy和MemorySet; 片内的MemorySet可以有更快的方法,优化 DMA的优先级:可设,但默认DMA0最高 如果高优先级DMA启动时,低优先级DMA没有完成时, 要将低优先级DMA的操作挂起,等完成高优先级DMA后, 继续完成. 所以系统中有几个DMA同时发生时,要根据数 数 据的重要性和数据传输处理的顺序 数据传输处理的顺序选择合适的DMA通道. 据的重要性 数据传输处理的顺序 DMAC通用管脚在调试中的使用:发光二极管
C6000 DSP体系结构 清华远见 培训资料
远见品质
C6000的Timer
DSP时间的最细刻度:主频 利用时钟(中断)为系统提供的各种时间, 起到计时器的作用 -中断发生的间隔时间可设:1ms -计算时间间隔精度:1us 利用计时器防止等待超时 TIMER测试程序时间的两种方法: 中断法;直接计数法(无中断开销).
正在阅读:
CAST池运行操作10-06
语文同步练习题考试题试卷教案高二语文下学期第一次月考试卷08-26
2016届辽宁省沈阳市高考数学复习试卷(2)解析版03-30
浅谈初中语文教学中的德育教育06-18
中考数学试卷分析 - 图文06-08
华师大版数学七年级下册7.2《二元一次方程组的解法》同步测试B08-07
1.1.1党的基本路线05-15
高考政治第一轮复习精品讲义 第九课 推动社会主义文化大发展大繁04-14
如何在小学数学教学中渗透德育教育08-27
- 梳理《史记》素材,为作文添彩
- 2012呼和浩特驾照模拟考试B2车型试题
- 关于全面推进施工现场标准化管理实施的通知(红头文件)
- 江西省房屋建筑和市政基础设施工程施工招标文件范本
- 律师与公证制度第2阶段练习题
- 2019-2020年最新人教版PEP初三英语九年级上册精编单元练习unit6训练测试卷内含听力文件及听力原文
- 小升初数学模拟试卷(十四) 北京版 Word版,含答案
- 认识创新思维特点 探讨创新教育方法-精选教育文档
- 00266 自考 社会心理学一(复习题大全)
- 多媒体在语文教学中的运用效果
- 派出所派出所教导员述职报告
- 低压电工作业考试B
- 18秋福建师范大学《管理心理学》在线作业一4
- 中国铝业公司职工违规违纪处分暂行规定
- 13建筑力学复习题(答案)
- 2008年新密市师德征文获奖名单 - 图文
- 保安员培训考试题库(附答案)
- 银川市贺兰一中一模试卷
- 2011—2017年新课标全国卷2文科数学试题分类汇编 - 1.集合
- 湖北省襄阳市第五中学届高三生物五月模拟考试试题一
- 嵌入式
- 软件开发
- 调试
- 基于
- 模板
- CCS
- 2010年9月计算机等考二级VB真题及答案
- 基于STC89C52的电子时钟说明书
- 热心公益金,做青春的代言人
- 青岛版三年级下册数学第五单元《年月日》专项练习题
- 第八课:DO-RE-MI哆来咪音乐教案(花城七年级)
- 浙江省重点建设项目档案管理暂行办法
- 《活出最乐观的自己》读后感
- 北京市第10届迎春杯小学数学竞赛决赛试题
- 聚合物合成工艺学测试答案
- 《水土保持工程概算定额》(水利部水总{2003}67号)2
- 当代女大学生价值观个案访谈析
- 国际标准情商测试题目
- 技术服务和售后服务内容及措施
- 卡方检验SPSS操作
- 关于律师事务所纳税筹划的文章
- 2021中考语文现代文阅读一过关训练答案
- 2017-2023年中国CT机终端市场运营态势研究报告(目录)
- 8杭州市十二五循环经济发展规划
- 管理评审记录全套案例资料
- 福建农林大学考试试卷 (A)卷