|
问题如下:
(1)要在线下载调试程序必须将XMP/MC引脚接高电平吗? (2)在线下载调试时,程序下载的地址空间是哪里?一定是外部RAM吗,还是也可以指定 为内部Flash或其他地方?(2407好像下载到外部RAM的) (3)Zone 7区域一般用来存储用户建立的启动程序,如果不在Zone 7区域外扩RAM(我买 的用户板就没有外扩),是否可以在线下载调试?启动程序从哪里运行? (4)手册上说,复位时检测XMP/MC引脚的电平以确定CPU工作模式(XMP/MC引脚为高电平 ,从Zone 7区域启动,XMP/MC引脚为低电平,从片内Boot ROM启动);复位后可以通过软 件修改XINTCNF2[8]位的值重新选择CPU工作模式。手册上有这么一段话:“Zone 7 is ty pically used to boot from external memory where a customer has created their own custom boot routin es and stored them in the memory attached to Zone 7. After booting, the softwa re may enable the internal boot ROM in order to access the math tables include d in the ROM.”根据这段话的意思,当XMP/MC引脚为高电平时,启动路径boot routines是不是必须从Zone 7区域 运行呢?然后可软件修改XMP/MC值以选择从Zone 7区域或片内Boot ROM执行数学表? (5)关于“程序下载——CPU运行——启动和引导——用户代码执行”,这个过程到底是 怎么样的呢?还有,用仿真器调试和把程序烧写进去这两种情况下,这个过程有什么区别 ?又分别是如何执行的呢?我看了一些资料,关于这个过程总是理解不了?
解答如下:
(1)不用。MP/MC只影响复位时中断向量的读取在外部还是在内部。3fffc0地址存放复位中断向量。 (2)只要是ram区就可以。flash只能烧写。 (3)可以。启动程序用内部的。从3fffc0读取地址,内部时该地址为3ffc00,程序从这里开始执行,根据引脚判断boot方式,然后进入相应的boot方式,SCIATX引脚为高电平(有内部上拉,如果没有强制低电平,默认为高电平)时进入flash引导方式。 (4)MP/MC只影响复位中断向量的读取地址 (5)load program时load完PC自动指向_c_int00,或者指定的程序入口,烧写flash时程序从复位开始运行,经过读取复位向量---判断boot方式---执行用户代码过程。
问题如下:
关于你的回复我是不是可以这样理解: (1)MP/MC只影响复位中断向量的读取地址(外部或内部),即使引脚置为低电平,也可以进行在线下载调试?这点是不是和2407不一样? (2)下载调试时,程序只能在RAM里? (3)boot方式由SCIATX引脚的电平高低决定?
我还有三个小问题想请教一下: (1)下载调试时,程序下载的地址空间在哪里设置?也就是说,我现在外扩了两个RAM,如何如何指定程序下载到哪个RAM里? (2)boot方式一般都有哪几种? (3)CMD文件在在线调试时和把程序烧进Flash里时都起作用吧?假如,我在CMD文件里将一片RAM指定为数据存储区,那么在线调试时程序是否一定不会下载到这片RAM里?是否也要在CMD文件里指定一块RAM区间作为程序下载在线调试用?
我觉得这些基本问题弄清楚了,才能理解DSP的工作原理和工作过程。所以想把这些问题研究明白。
解答如下:
2407没有用过,所以2407怎么运行程序就不太清楚了。 load program 只能是程序段再ram里 影响boot方式的有几个引脚共同决定。可以看看boot相关文档。
cmd文件里有.text等,.text段是代码段,把这个定位到哪里程序就load到哪里。 boot方式可以参考文档。 cmd文件只是段的定位信息。是要指定一个ram为程序存储器。
2812可以参考中文手册,有上下两册。
这些相关知识在文档中都又说明,常见问题可以参考FAQ
|