KEIL的scat文件中,每一个都是什么意思? 代码如下

KEIL的scat文件中,每一个都是什么意思? 代码如下,第1张

这个 其实就是 ld 连接程序的脚本,和丛旁Linux下的.lds文件类似!

ER_IROM1 0x08004000 0x08020000

{

vectors.o (VECT, +First)

init.o (INIT)

* (+RO)

}

意思就是 将 vectors.o 目标文件 中的 VECT 段,和 init.o的INIT 段 还有 所有目标文件的只读圆大代码段 连接到 0x08004000 0x0802000 地址上

不清楚 可以追问 或者google lds 文件! 呵呵!渗腔橡

默认设置下,keil会自动生成一个sct文件,如果没有特别需要,使用雹渗搏这一个默认分散加载描述文件就够了.但如果你要精确指定一些RAM区或者程序区的话,就要你自己写了,这个分散加载文件有一个格式的,最好看一下keil的帮助文件,因为这不是几句话就可以说源祥的清的.给你喊告一个我正在使用的sct文件,并简短注释一下:

LR_IROM1 0x00000000 0x00080000 {

ER_IROM1 0x00000000 0x00080000 { 可用的Flash区域,用256KB,从Flash启动

*.o (RESET, +First)

*(InRoot$$Sections)

.ANY (+RO)

}

RW_IRAM1 0x10000000 0x0000A000 { 普通读写数据,共40KB

.ANY (+RW +ZI )

}

RW_IRAM3 0x1000A000 0x00001000{ 存储冗余数据,共4KB

.ANY (MY_BK)

}

RW_IRAM2 0x1000B000 UNINIT 0x00001000 { 存储上电非零初始化区域,共4KB

.ANY (NO_INIT)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12254245.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存