关于DSP6748的内部RAM和BOOT的相关疑问

本人最近在帧DSP6748的Bootload,向咨询一下6748内部有多少可供用户使用的RAM?BOOT代码到底放在那里?查了一下6748的数据手册,如下图:

且对于ROM有下面的解释,说明ROM是用于存放BOOT的

我的疑问是:

1,手册的memory map中RAM分别在 三个不同的地址,即是不连续的空间,那么到底那一段是用来运行程序的呢?在DSP的内部,到底有多少的空间供给用户运行程序,是将三个地址空间直接加起来吗?如果我要写一个用户boot程序,应该把用户代码从flash中搬运到内部ram的哪个地址处,还是上面的任意地址都可以?

2,上面的DSP L1P RAM地址为0x00E00000 ~ 0x00E07FFF和0x11E00000 ~ 0x11E07FFF两个部分,每个部分为32K,是不是意味着有62K的RAM?这两个部分的RAM有什么不同吗?还有TI在设计DSP的时候,为什么要把他分在两个不连续的地址里,直接分一个64K的连续地址多好?

3,从上面的memory map中可以看到两个DSP L2 ROM 的区域,地址分别为0x11700000 ~ 0x117FFFFF和0x00700000 ~ 0x007FFFFF,每个区域有1M的空间,从手册中可知,该段区域是用于存放bootload的,我的疑问是,为什么会有两个区域,难道说有两套boot程序分别存放在了这两端不同的区域?还是只有一套boot程序,但是程序大于1M,分开存放了?上电复位后,到底执行哪个地址处的boot?

4,上电复位后调用boot程序,该段boot程序最大能搬运多少用户的程序到地址0处?或者说,当用户程序大于多少kb的时候,用户boot(二级boot)才是必须的?

13 个回复