笔者想从事情的起源入手,逐步引导初学者自己去发现“资源要分配给谁?有哪些东东需要占用存储器?”这个问题的答案,所以使用了一些不正规的术语,比如“状况”这个词。
让我们从一个实际使用过的 2407 芯片的 CMD 文件来展开说明,其他 DSP 芯片的CMD 文件与此大同小异:
/**********************************************************************************************/
-stack 200h /* #1 */
/**********************************************************************************************/
MEMORY /* #2 */
{
PAGE 0 :
VECS : origin = 0000h , length = 0040h /* 中断向量 */ /* #3 */
PROG : origin = 0100h , length = 7F00h /* 片上 FLASH */ /* #4 */
PAGE 1 :
B2 : origin = 0060h , length = 0020h /* DARAM B2 块 */ /* #5 */
B0B1 : origin = 0200h , length = 0200h /* DARAM B0 块 */ /* #6 */
SARAM : origin = 0800h , length = 0800h /* SARAM 块 */ /* #7 */
ExtSRAM : origin = 8000h , length = 8000h /* 外部存储器 */ /* #8 */
}
/**********************************************************************************************/
SECTIONS /* #9 */
{
.vectors : > VECS PAGE 0 /* 中断向量表 */ /* #10 */
.text : > PROG PAGE 0 /* 代码 */ /* #11 */
.cinit : > PROG PAGE 0 /* #12 */
.bss : > SARAM PAGE 1 /* #13 */
.stack : > B0B1 PAGE 1 /* #14 */
.extdata : > ExtSRAM PAGE 1 /* #15 */}
/**********************************************************************************************/
|