嵌入式开发者社区

标题: CMD文件定义理解 [打印本页]

作者: shejishi0225    时间: 2014-10-28 10:00
标题: CMD文件定义理解
在cmd文件中有如下定义:
DDR2        o = 0xC0001000  l = 0x08000000  /* 128MB  DDR2 分配给 DSP */
EntryPoint  o = 0xC0000000  l = 0x00000800  /* 2 KB  C 语言入口点 */
Vector      o = 0xC0000800  l = 0x00000800  /* 2 KB 中断向量表 */

我的理解是:
DSP有128k on chip RAM,256k L2 RAM, 以及通过EMIFA及DDR2/mDDR扩展的RAM或FLASH,这些空间可供用户使用;
CMD文件即将这些空间进行划分。

疑问如下:
1. 上述CMD的定义,EntryPoint及Vector占用的是哪一部分空间?on chip RAM, 还是DDR2扩展的RAM,或是其它?请指出。如果是占用的DDR2扩展的RAM,为何在DDR2段长度中没有将4kb的占用扣除?

2. 在理解视频资料时,视频提到,将代码或常用的变量放到L2 RAM中,能获取最快的运行速度,但L2中前面一段空间需预留出来,留给L2 ROM启动程序使用,那么用户在使用L2 RAM的原则是什么,这个预留的空间一般预留多少比较合适?

3. 我的程序会下载到SPI0扩展的FLASH中,在运行时,如何将代码从flash中拷出来,放在on chip RAM或L2 Ram中运行;这个操作该如何做?是直接在CMD中指定,还是在代码中通过#progma code_section实现,能否给出样例?

4. CMD中load和run如何理解?视频中一带而过。
    我理解的是,假若我代码放在SPI0的Flash中,那么我可以指定.text从flash中load,在on chip ram中run?假若理解正确,可通过SPI0扩展的flash没有地址,我该如何去将其中的代码copy出来呢?




作者: 希望缄默    时间: 2014-10-28 16:39



看你码了这么多字也是蛮辛苦的

1、你说的对 应该在 DDR2 长度扣除 4K空间
2、在 7-2-启动与烧写-AIS 文件结构 里有提到启动的时候会占用部分空间及大小
需要注意的是 L2 ROM 只在启动的时候占用一部分 L2 RAM 启动完成后 你就可以随意使用了
原则就是资源最优化使用
3、请学习 7-启动与烧写 这一节
4、视频教程中是有一段注释的
[attach]74[/attach]



作者: 希望缄默    时间: 2014-10-28 16:46
此外 CMD 文件分配的是处于内存映射表上面被统一编址的存储空间
[attach]75[/attach]
所以 SPI FLASH I2C EEPROM 这些基于某种接口协议的外设存储设备就不属于 CMD 文件分配的存储空间



作者: shejishi0225    时间: 2014-10-29 09:18
对于SPI扩展的flash,我要将存储在其中的代码,放到L2 RAM中运行又该如何操作呢?有样例吗?
你贴的图片中描述的,因为.const段编译后是固定的,放到L2 ROM中,启动时放到L2 RAM中运行?L2 ROM启动时会占用一部分L2 RAM,为何不是占用L1P呢?



作者: 希望缄默    时间: 2014-10-29 09:34
shejishi0225 发表于 2014-10-29 09:18
对于SPI扩展的flash,我要将存储在其中的代码,放到L2 RAM中运行又该如何操作呢?有样例吗?
你贴的图片中 ...

不需要例程 Rom Bootloader 配置实现

不是放到 L2 ROM
L1 上电后默认作为缓存使用

作者: shejishi0225    时间: 2014-10-31 12:24
第三条回复 Memory Map中,有灰色的地址区域,这一部分可以用么?
比如mDDR/DDR2默认可扩展的空间是256MBytes,实际最大可通过其扩展空间为1GBytes,对么?

那么EMIFA默认可通过其扩展的空间为32Mbytes,我看评估板资料实际通过EMIFA的RAM是64、128、256、512可选,这个是如何实现的呢?假若为128MBytes,那么Memory Map中的32M地址分配如何够?

作者: 希望缄默    时间: 2014-10-31 14:26
shejishi0225 发表于 2014-10-31 12:24
第三条回复 Memory Map中,有灰色的地址区域,这一部分可以用么?
比如mDDR/DDR2默认可扩展的空间是256MByt ...

建议你看看视频教程喽~ 讲的很详细的

作者: shejishi0225    时间: 2014-10-31 15:59
希望缄默 发表于 2014-10-31 14:26
建议你看看视频教程喽~ 讲的很详细的

我看过了,貌似没有讲到灰色的部分呢?

作者: 希望缄默    时间: 2014-10-31 16:19
shejishi0225 发表于 2014-10-31 15:59
我看过了,貌似没有讲到灰色的部分呢?

有吧~ 灰色部分访问会出现不可预料的未知结果~

作者: shejishi0225    时间: 2014-10-31 16:25
希望缄默 发表于 2014-10-31 16:19
有吧~ 灰色部分访问会出现不可预料的未知结果~

我粗心了,可能听的时候没留意;
谢谢啦

作者: lide0619    时间: 2017-7-14 16:07
这个写得不错




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4