请教SCATTER文件格式
SCATTER文件可以用来设置代码及变量的位置,只是不太清楚这种语法的格式LR_IROM1 0x08000000 0x00100000{ ; load region size_region
ER_IROM1 0x08000000 0x00100000{; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_IRAM1 0x20000000 0x00050000{; RW data
.ANY (+RW +ZI)
}
} 哪位有这方面的介绍资料或直接就上面的代码解释一番么?
refer
http://www.keil.com/support/man/docs/armlink/armlink_pge1362075656353.htm LR_IROM1 0x08000000 0x00100000是加载域(load region size_region),一般程序下载HEX/BIN就是下载到这个地方。
下面的是运行域(execution address)了,一般的加载域和运行域起始地址相同,也有不同的比如SDRAM等外设运行代码时。运行域中的代码存放顺序就是first放reset向量,下面的放*(InRoot$$Sections)用于复制一些代码相当于启动文件中的_main(),再下面就是只读的存放了。
ER_IROM1 0x08000000 0x00100000{; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
下面的就是RAM的设置了,放读写和初始化为0的变量
RW_IRAM1 0x20000000 0x00050000{; RW data
.ANY (+RW +ZI)
}
版主是不是想设置F7的flash运行地址使用TCM接口的ART加速或者走AXI接口利用L1-cache,这个官方好像有个例子,也可以设置不同堆栈ram运行地址。
至于分散加载的详细说明好像keil网站上有个文档讲解:Linker User Guide,第七章专门说的就是Scatter-loading Features。
你百度搜索分散加载。 Mandelbrot_Set 发表于 2015-9-1 08:57
refer
http://www.keil.com/support/man/docs/armlink/armlink_pge1362075656353.htm
正解。。。 Mandelbrot_Set 发表于 2015-9-1 08:57
refer
http://www.keil.com/support/man/docs/armlink/armlink_pge1362075656353.htm
感谢啊 creep 发表于 2015-9-1 08:58
LR_IROM1 0x08000000 0x00100000是加载域(load region size_region),一般程序下载HEX/BIN就是下载到这 ...
感谢啊 yanhaijian 发表于 2015-9-1 09:11
你百度搜索分散加载。
感谢啊 moyanming2013 发表于 2015-9-1 10:41
正解。。。
感谢啊
页:
[1]