286116049 发表于 2008-11-11 20:36:12

我看的一些资料上为什么都把程序存储空间都映射到DARAM中呢?【恢复】

我看的一些资料上为什么都把程序存储空间都映射到DARAM中呢?难道这就是运行时的地址吗?

那为什么没有指定程序存储到flash或ROM中的地址呢?程序是怎么存储到ROM或FLASH中的呢?



例如:这是资料上的



MEMORY

{

  PAGE 0: ROM: origin=1000h,  length=0100h

  PAGE 1: RAM: origin=0100h,  length=0100h

}



SECTIONS

{

  .text :>ROM

  .data :>ROM

  .bss  :>RAM

}



我把程序放到外部flash中存储,运行的时候放到内部DARAM中,cmd文件这么写对不对呢?



MEMORY

{

  PAGE 0: PROG:  o=0x4000,  l=0x1000    /* 外部FLASH */

          DARAM: o=0x0080,  l=0x3000    /* 内部DARAM */

  PAGE 1: DATA:  o=0x3080,  l=0x0f00    /* 内部DARAM,数据存储空间 */

}



SECTIONS

{

  .............



  .text   load=PROG, run=DARAM



  .............

}

286116049 发表于 2008-11-17 10:33:18

你的意思是说选择MC模式,将OVLY=0,选择外部存储器,将flash映射到0080H到3fffH这个区域内,下载程序的时候程序就自动下载到外部flash中了吗?

winter1217 发表于 2008-11-16 12:06:59

cmd 将文件烧写到flash是根据DSP的工作模式的啊,MP和MC模式,,MC模式下就将程序烧到FLASH里面了

286116049 发表于 2008-11-12 21:17:31

是呀,flash慢,但程序是存储在flash中的呀,存储在ram中掉电就丢失了,因此程序一定是存储在flash中的。但是cmd文件怎么写才能将程序烧写到flash中呢?我上面的写法能实现吗?程序烧写到flash中,运行的时候将程序下载到ram中呢?

rainyss 发表于 2008-11-12 20:58:36

flash慢.

lost_sunshine 发表于 2008-11-12 17:53:29

楼主不要急呀,我也在看这方面的东西,一定是有原因的,是吧。

如果是用仿真器仿真时,一般都是把程序放在ram中执行的
页: [1]
查看完整版本: 我看的一些资料上为什么都把程序存储空间都映射到DARAM中呢?【恢复】