This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] DSP知识点分享

Other Parts Discussed in Thread: OMAP-L138, TMS320C6748

1. Q: 是否可以把程序保存到DSP的片上ROM里?

A: ROM是Read Only Memory只读存储器,用户不能往ROM里写数据,所以用户只能把程序保存到片外非易失性memory。通常在芯片出厂时,TI会事先把bootloader(启动程序)放在ROM里。用户可以用仿真器查看或跟踪bootloader执行情况,但不能对其进行修改。

 

2. Q: 如何对烧写到片外flash的C553x程序进行加密?

A: C553x芯片没有对片外flash的DSP程序进行加密的功能,可以考虑在量产时把JTAG口电路去掉,或者改用C551x,C551x系列bootloader支持encrypted boot image。另外,有些系列的DSP如OMAP-L138/TMS320C6748, AM335x,AM437x, keystone有secure boot功能可以对程序进行加密,具体可以查看对应的数据手册。

 

3. Q: 什么是DSP中断嵌套,或者叫中断抢占?

A: 通常会误以为高优先级的中断可以抢占低优先级的中断。其实不会,除非软件处理,或者某些特殊的中断控制有这种功能。优先级的高低是指在硬件中断信号同时到来时,CPU响应优先级高的中断。如果当前CPU已经在一个中断的ISR内,默认情况下是不会响应任何新到来的中断的,因为默认情况下,进入ISR时把全局中断(GIE)关了。实际应用中有时是需要实现中断嵌套的,样例在下面贴子里:
https://e2echina.ti.com/question_answer/dsp_arm/omap_l1x/f/54/t/127304



4. Q: 哪里去下载DSP的原理图和封装库?

A: DSP的原理图和封装库通常在产品文件夹的页面可以找到。Product folder->Design & development->CAD/CAE symbols,会跳转到ultralibrarian网站(现在不需要额外下载ultralibrarian软件),选择需要转换的CAD格式即可。

 

如果产品文件夹里没有CAD/CAE symbols可以下载,可以考虑使用EVM/DSK开发板里的原理图和封装库。

 

5. Q: C6748 timer 64bit mode: 用startware的定时器例程(64位模式),设置LSB与MSB定时周期并触发中断,发现一个计数周期内会进入两次中断。

A: 把对TGCR的配置改成下面就没有问题了。

static void TimerSetUp64Bit(void)
{
/* Configuration of Timer */
// TimerConfigure(SOC_TMR_2_REGS, TMR_CFG_64BIT_CLK_INT);
TimerConfigure(SOC_TMR_2_REGS, 3);

/* Set the 64 bit timer period */
TimerPeriodSet(SOC_TMR_2_REGS, TMR_TIMER12, TMR_PERIOD_LSB32);
TimerPeriodSet(SOC_TMR_2_REGS, TMR_TIMER34, TMR_PERIOD_MSB32);
}

也就是new timer plus feature好像有点问题,那就先disable new timer feature。

 

  • 如果当前CPU一旦进入某个外设中断程序,cpu会自动清除对应该中断PIEIFR ,然后在进入中断服务程序后马上使能中断(EINT) (通过查看寄存器是把PIEIFR 置位),然后在执行一段中断服务程序后关闭中断DINT。这样操作的目的是?

    是在执行本中断服务程序时允许更高的中断打断?还是防止本中断服务程序(太长)没执行完的重入?

  • 我们建议您在发布新问题之前先搜索 E2E支持论坛,E2E支持论坛已经拥有数十万个已得到解答的话题。  这通常是解决问题的最快方法。