# 目的
使用 Keil 的时候总会遇到一些奇奇怪怪的问题,这里做一个备忘
# 出现 sct 文件丢失
编译文件的时候出现下面这个报错,大概率是 sct 分散文件丢失
# sct 文件是什么呢?
sct 是 MDK 生成的分散加载文件 (Linker Control File, catter loading), 链接器依赖 .sct
文件来配置分配各个节区地址生成分散加载代码,通过修改该文件可以定制具体节区的存储位置
所以当文件丢失,当指定了分散文件,但分散文件不存在时,烧录脚本就无法驱动烧录器去烧录程序
# 解决方案
解决起来也简单
如上图
- 去掉勾选 Usw Menory Layout from Target Dialog,这时 Scatter File 自动生成一个 sct 文件在 obj 文件的输出路径下
- 重新勾选 Usw Menory Layout from Target Dialog,编译工程
- 编译成功后就生成了一个默认的 sct 文件,
# 参考文献
[1] Keil MDK 的 sct 分散加载文件详解
大道五十,天衍四十九,人遁其一!