DSP
tracing
无
展开
-
基于DSP2407的对帧指针(FP)、栈指针(SP)的分析
本文通过分析一个简单函数的保护现场和恢复现场,来理解FP和SP指针。 DSP中有几个指针是有特殊用途的,AR0为FP指针,AR1为SP指针,AR2、AR3、AR4和AR5可以自由使用,也就是说,在函数执行过程中可以修改,也不必恢复。AR6和AR7用作寄存器变量。如果在函数中被修改,必须加以保护和恢复。 int add(int a, int b, int c)原创 2008-09-11 20:13:00 · 4821 阅读 · 2 评论 -
DSP2407进入中断后的现场保护问题
以前发过一个帖子,求助如何在进入中断后保护ARP的问题,一直没有解决,现在我找到了解决的方法,跟大家分享下我的经验。 我以前做中断保护是模仿C语言生成汇编的做法,把AR1做为栈指针,进入中断后这样保护 SST #0, *+ ;保护ST0 SACH *+ S原创 2010-05-26 14:01:00 · 2948 阅读 · 0 评论 -
DSP2407数据总线和地址总线的用法
数据总线和地址总线虽然不能做IO口用,但也可以控制LED之类的东西的,A15~A0,D15~D0上的电平是瞬间的,不能保持,所以使用这些总线的时候就需要外接一个有锁存功能的芯片比如74HC259,259再外接LED之类的东西就可以控制了,而数据要通过数据总线和地址总线输出使用SPLK DAT, ADDR这条指令就可以了,当ADDR > 0X7FFF时,就会访问外部存储空间,DAT就会反应在数据总线原创 2010-05-26 14:02:00 · 5561 阅读 · 1 评论 -
DSP2812的启动过程,粗略记录一下
DSP2812上电之后可以用仿真器看到,PC停在0x3FFC00处,这是BOOT ROM区域,执行完一段代码之后程序跳转到0x3F7FF6,这个地方离密码区域还有2个字节,这里需要放一条跳转指令跳到_c_int00,如LB _c_int00,_c_int00是在rts2800n.lib中实现的,暂时没找到源码,_c_int00的地址是0x3F42DA,这是flash中的一块区域,C语言的环境原创 2011-11-18 20:54:29 · 3271 阅读 · 1 评论