默认的F28035.cmd中有如下定义:
PAGE 1 :/* Data Memory *//* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation *//* Registers remain on PAGE1*/BOOT_RSVD: origin = 0x000000, length = 0x000050/* Part of M0, BOOT rom will use this for stack */RAMM0: origin = 0x000050, length = 0x0003B0/* on-chip RAM block M0 */RAMM1: origin = 0x000400, length = 0x000400/* on-chip RAM block M1 */RAML2: origin = 0x008C00, length = 0x000400/* on-chip RAM block L2 */RAML3: origin = 0x009000, length = 0x001000/* on-chip RAM block L3 */FLASHB: origin = 0x3F4000, length = 0x002000/* on-chip FLASH */
想问一下那个FLASHB的定义是什么意思?怎么用?
mangui zhang:
结合MCU内存映射看 应该是将FLASH区划分为了A 和B
具体存什么非易失的内容 需要你看看cmd中的其他内容

默认的F28035.cmd中有如下定义:
PAGE 1 :/* Data Memory *//* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation *//* Registers remain on PAGE1*/BOOT_RSVD: origin = 0x000000, length = 0x000050/* Part of M0, BOOT rom will use this for stack */RAMM0: origin = 0x000050, length = 0x0003B0/* on-chip RAM block M0 */RAMM1: origin = 0x000400, length = 0x000400/* on-chip RAM block M1 */RAML2: origin = 0x008C00, length = 0x000400/* on-chip RAM block L2 */RAML3: origin = 0x009000, length = 0x001000/* on-chip RAM block L3 */FLASHB: origin = 0x3F4000, length = 0x002000/* on-chip FLASH */
想问一下那个FLASHB的定义是什么意思?怎么用?
Seven Han:
分配的片上flash块的大小,可以参考例程中的应用。
默认的F28035.cmd中有如下定义:
PAGE 1 :/* Data Memory *//* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation *//* Registers remain on PAGE1*/BOOT_RSVD: origin = 0x000000, length = 0x000050/* Part of M0, BOOT rom will use this for stack */RAMM0: origin = 0x000050, length = 0x0003B0/* on-chip RAM block M0 */RAMM1: origin = 0x000400, length = 0x000400/* on-chip RAM block M1 */RAML2: origin = 0x008C00, length = 0x000400/* on-chip RAM block L2 */RAML3: origin = 0x009000, length = 0x001000/* on-chip RAM block L3 */FLASHB: origin = 0x3F4000, length = 0x002000/* on-chip FLASH */
想问一下那个FLASHB的定义是什么意思?怎么用?
Atsing Hou:
回复 mangui zhang:
感谢回答。
Flash分块我理解,我是疑问如下:
cmd文件里通常定义两个Memory Page(0和1),0是Program memory, 1是Data memory。
Program memory定义了.text等代码空间,Data memory定义了stack和ebss等数据空间,所以RAMM0和RAML1这些我能理解,我的问题是:
为什么Data memory里也有一个FLASH块?难道我可以把一部分Data放到flash上吗?如果是,那这部分Data是可写呢还是只读?
是不是可以定义这样一个section:
constdata : >FLASHB, Page = 1
用于存放程序中的常量?
默认的F28035.cmd中有如下定义:
PAGE 1 :/* Data Memory *//* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation *//* Registers remain on PAGE1*/BOOT_RSVD: origin = 0x000000, length = 0x000050/* Part of M0, BOOT rom will use this for stack */RAMM0: origin = 0x000050, length = 0x0003B0/* on-chip RAM block M0 */RAMM1: origin = 0x000400, length = 0x000400/* on-chip RAM block M1 */RAML2: origin = 0x008C00, length = 0x000400/* on-chip RAM block L2 */RAML3: origin = 0x009000, length = 0x001000/* on-chip RAM block L3 */FLASHB: origin = 0x3F4000, length = 0x002000/* on-chip FLASH */
想问一下那个FLASHB的定义是什么意思?怎么用?
Atsing Hou:
回复 Eric Ma:
明白了,多谢!
TI中文支持网



