CMD文件定义理解 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13858|回复: 10
打印 上一主题 下一主题

[已解决] CMD文件定义理解

[复制链接]

21

主题

80

帖子

315

积分

中级会员

Rank: 3Rank: 3

积分
315
跳转到指定楼层
楼主
发表于 2014-10-28 10:00:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在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出来呢?



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2014-10-28 16:39:43 | 只看该作者



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

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



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
板凳
发表于 2014-10-28 16:46:25 | 只看该作者
此外 CMD 文件分配的是处于内存映射表上面被统一编址的存储空间

所以 SPI FLASH I2C EEPROM 这些基于某种接口协议的外设存储设备就不属于 CMD 文件分配的存储空间


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

21

主题

80

帖子

315

积分

中级会员

Rank: 3Rank: 3

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


回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
5#
发表于 2014-10-29 09:34:03 | 只看该作者
shejishi0225 发表于 2014-10-29 09:18
对于SPI扩展的flash,我要将存储在其中的代码,放到L2 RAM中运行又该如何操作呢?有样例吗?
你贴的图片中 ...

不需要例程 Rom Bootloader 配置实现

不是放到 L2 ROM
L1 上电后默认作为缓存使用
回复 支持 反对

使用道具 举报

21

主题

80

帖子

315

积分

中级会员

Rank: 3Rank: 3

积分
315
6#
 楼主| 发表于 2014-10-31 12:24:08 | 只看该作者
第三条回复 Memory Map中,有灰色的地址区域,这一部分可以用么?
比如mDDR/DDR2默认可扩展的空间是256MBytes,实际最大可通过其扩展空间为1GBytes,对么?

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

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

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

建议你看看视频教程喽~ 讲的很详细的
回复 支持 反对

使用道具 举报

21

主题

80

帖子

315

积分

中级会员

Rank: 3Rank: 3

积分
315
8#
 楼主| 发表于 2014-10-31 15:59:50 | 只看该作者
希望缄默 发表于 2014-10-31 14:26
建议你看看视频教程喽~ 讲的很详细的

我看过了,貌似没有讲到灰色的部分呢?
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
9#
发表于 2014-10-31 16:19:43 | 只看该作者
shejishi0225 发表于 2014-10-31 15:59
我看过了,貌似没有讲到灰色的部分呢?

有吧~ 灰色部分访问会出现不可预料的未知结果~
回复 支持 反对

使用道具 举报

21

主题

80

帖子

315

积分

中级会员

Rank: 3Rank: 3

积分
315
10#
 楼主| 发表于 2014-10-31 16:25:03 | 只看该作者
希望缄默 发表于 2014-10-31 16:19
有吧~ 灰色部分访问会出现不可预料的未知结果~

我粗心了,可能听的时候没留意;
谢谢啦
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2025-4-29 18:20 , Processed in 0.041573 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表