关于keil里的分散加载文件.scf

阅读: 评论:0

关于keil里的分散加载文件.scf

关于keil里的分散加载文件.scf

昨天,修改程序的时候,修改到了scf文件,之前对于scf文件没有了解,趁着这个机会略知一二。

scf文件,全名scatter file,中文名分散加载文件,是ARMlink的输入参数,如果你想把你的代码固定的放在存储器的某个特定的位置,用scf文件就特别方便。

直接来一个scf文件的实例好了。

LOAD_ROM 0x10020000 0x1000		//加载区 名称 起始地址 地址范围
{EXEC_ROM 0x10020000 0x1000	//执行区 名称 起始地址 地址范围{* (RESET,+FIRST)	//将RESET代码放在区首,最开始执行 FIRST属性符表示放在最开始* (+RO)			//只读代码和数据放在此区域}STACK_TOP 0x20005000 UNINIT 0x0	//UNINIT的意思是没有初始化	栈顶 栈:操作系统自动申请和释放{startup.o (STACK_TOP)	//startup.o STACK_TOP放入此处}STACK 0x20005000 EMPTY -0x1000	//向下空0x1000大小{}HEAP_TOP ImageBase(STACK) UNINIT 0x0	//ImageBase(STACK)不是很懂 从栈底开始堆顶? 堆:程序员自己申请和释放{startup.o (HEAP_TOP)		//startup.o HEAP_TOP放入此处}HEAP ImageBase(STACK) EMPTY -0x0	//空0{}HEAP_BOTTOM ImageBase(HEAP) UNINIT 0x0{startup.o(HEAP_BOTTOM)		//startup.o HEAP_BOTTOM放入此处}DATA_UNINIT 0x20000140 UNINIT 0x40{*(NO_INIT)			//NO_INIT 放入此处}DATA 0x20000240 UNINIT(0x5000-0x240-ImageLength(STACK)-ImageLength(HEAP)){*(+RW,+ZI)			//RW,ZI 放入此处}
}


RO,RW,ZI,NOINIT,分别表示只读,可读可写,初始化为0,以及没有初始化的文件和数据。

sct文件分为加载区和执行区,每个加载区里都有1个或者多个执行区。

本文发布于:2024-01-28 21:43:10,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170644939810477.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:分散   加载   文件   keil   scf
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23