- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SHANGHAI JIAO TONG UNIVERSITY
先进的数字信号处理技术和The technology and application of the advanced digital signal processing
学生姓名: 曹聪
学生学号: 1140349142
专 业: 电子与通信工程
学院(系): 电子工程系
任课老师: 王慈
Question:
1. C6000系列DSP的存储层次结构以及与C67系列DSP存储结构的区别
2. EDMA的触发机制
3. EDMA编程步骤及伪代码
4. HWI中断机制
5. EDMA中断步骤描述
6. McBSP的配置方法及伪代码
7. BIOS线程管理类型及优先级描述
8. CDB文件的作用,及包含的主要功能模块
9. 为什么需要XDAIS,它包括哪些模块
10. 如何解决硬件驱动的模块化,以及应用程序与底层驱动的分离?
Answer:
1. C6000系列的DSP的存储结构层次以及与C67系列DSP存储结构的区别。
C6000系列存储结构包括、片内空间以及外部空间。程序和数据空间对于系列不同有不同的空间大小,程序是或者RAM而外部空间C6000系列芯片有同一个地址表,CE0、CE1、CE2、CE3四块,其中有M大小,只允许SBSRAMAsync,而CE0,2,3M,可以SDRAM, SBSRAM和Async。
而C67系列存储通常两个层次,是程序和数据空间:L1P (prog), L1D (data),通常主要是Cache,而且C67系列芯片,L1P和L1D大小不同。第二个是存储,同样包含四块,对于C67系列有不同的空间大小每个块,可以是Cache或者RAM。
EDMA的触发机制
增强型直接内存存取(EDMA),Enhanced Direct Memory Access,是数字信号处理器(DSP)中用于快速数据交换的重要技术,具有独立于CPU的后台批量数据传输的能力,能够满足实时图像处理中高速数据传输的要求。 3. EDMA编程步骤及伪代码
(1)包含必要的头文件
#include csl.h
#include csl_edma.h
声明一个指向EDMA channel的句柄
EDMA_Handle hMyChan;
配置结构向EDMA编程的值
EDMA_Config myConfig = {
EDMA_OPT_RMK(), … };
打开一个通道(可用的通道并保存)
hMyChan = EDMA_open(EDMA_CHA_ANY, EDMA_OPEN_RESET);
配置通道(指定的通道写配置结构)
EDMA_config(hMyChan, myConfig);
4. HWI中断机制
HWI中断执行通常包含以下过程:
)首先产生中断信号,终端可以来自:DMA,HPI,定时器外部中断
(2)置位对应的IFR寄存器标志位
(3)CPU收到中断请求后执行相应的操作:停止当前的工作,关闭所有,清零相应的IFR寄存器位,保存中断返回点,判断中断类型,调用ISR中断服务程序)。
中断服务程序:系统的变量,执行中断服务程序代码,恢复系统变量,从开始中断的点继续执行。
EDMA中断步骤描述。
中断步骤主要包含两部分:EDMA产生中断CPU能够响应中断信号。
EDMA产生中断
EDMA配置结构和TCC
EDMA_OPT_TCINT_YES, //set channel to interrupt CPU
EDMA_OPT_TCC_OF(0), //set TCC in code
gTcc = EDMA_intAlloc(-1); //reserve TCC (0-15)
myConfig.opt |= EDMA_FMK(OPT,TCC, gTcc); //set TCC in myConfig
TCC值,钩住相应的中断服务程序。
EDMA_intHook(gTcc, myISR);
在CIER寄存器中设置相应的位。
EDMA_intEnable(gTcc); // must match chosen TCC value
CPU能够中断
)包含头文件
#include csl_irq.h
(2)在IER寄存器中置位相应的位。
IRQ_enable(IRQ_EVT_EDMAINT);
打开全局中断。
IRQ_globalEnable( ); //
文档评论(0)