默认情况下,我们都是通过 MDK 的 option 选项设置 Flash 和 RAM 大小,如图1
图1
这种情况下,不方便用户将变量定义到指定的 CCM 或者 SDRAM 中。而使用attribute指定具体地址又不方便管理。默认设置下编译工程完成后,会在文件夹【Objects】(本工程的路径)中会自动生成一个后缀为.sct的文件【output.sct】,如图2
图2
打开自动生成的文件【output.sct】,如代码1
代码1; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08000000 0x00200000 { ; load region size_region
ER_IROM1 0x08000000 0x00200000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_IRAM1 0x20000000 0x00020000 { ; RW data
.ANY (+RW +ZI)
}
}
我