首页 > 其他分享 >KEIL中使用的SCT段描述文件的一些语法说明

KEIL中使用的SCT段描述文件的一些语法说明

时间:2024-05-14 16:41:23浏览次数:13  
标签:RW 0000 变量 KEIL 代码 RAM 语法 FLASH SCT

; FLASH起始址 FLASH大小
LR_IROM1 0x0800 0000 0x000F 0000 ;这行描述的是编译后的执行代码存放在FLASH的哪地址,FLASH大小是多少。LR_IROM1是段名,随便写
{
ER_IROM1 0x0800 0000 0x000F 0000 ;这行描述了一个ROM段,表示代码存储的位置和ROM的大小。ER_IROM1是段名,随便起
{
*.o (RESET, +First) ;这行表示所有.o文件中标记为RESET的段要优先存放在这里。接下来才存放其它内容
*(InRoot$$Sections) ;表示用于引导的代码存到这里
.ANY (+RO) ;所有只读ROM数据存在这里
.ANY (+XO) ;其它所有可执行代码存在这里
}
;下面描述了两个RAM分段,当单片机有多个不连续的RAM区域时,可以这样分段。如果代码中定义了固定地址的RAM变量也可以这样分段
RW_IRAM1 0x2000 0000 ;这里是我用的单片机的RAM起始地址0x2000 0000,后面不要加RAM的长度,加了所有未使用的RAM都将
{ ;被指定为ZI Data。这样你会发现你编译出的代码ZI Data异常的大。
.ANY (+RW +ZI) ;此处存放任意可读写的变量,或只读RAM变量
}

;下面这个段描述了我在代码中指定的固定地址变量。也就是我在代码中定义了一个变量在0x2001FC00这个地址。如果没有这样定义变量,则不需要下面的段
RW_IRAM2  0x2001FC00
{
    .ANY (+RW  +ZI)                        ;此处存放任意可读写的变量,或只读RAM变量
}

}

以上是我结合网友分享的心得和我自己调试时发现的一些方法。在此记录一下,以后再遇一其它问题再完善。

标签:RW,0000,变量,KEIL,代码,RAM,语法,FLASH,SCT
From: https://www.cnblogs.com/bloker/p/18191645

相关文章

  • Go-Zero定义API实战:探索API语法规范与最佳实践(五)
    前言上一篇文章带你实现了Go-Zero模板定制化,本文将继续分享如何使用GO-ZERO进行业务开发。通过编写API层,我们能够对外进行接口的暴露,因此学习规范的API层编写姿势是很重要的。通过本文的分享,你将能够学习到Go-Zero的API语法规范,以及学会实际上手使用。概述下文所说的是api......
  • Vue模板语法、属性绑定、条件渲染的学习
    Vue模板语法:使用插值表达式的内容必须是有结果的内容才可以,就是需要return出来的才可以显示出来。插值表达式所表现的内容为纯文本模式如何避免即所有的逻辑操作都在js里面实现,不要再templete中实现可以完美的避免这个问题。Vue属性绑定1.使用v-bind进行属性绑定语法:v-b......
  • JavaSE之java基础语法
    关键字和保留字关键字定义和特点定义:被java语言赋予了特殊含义,用作专门用途的字符串。特点:关键字中所有字母都为小写。关键字不能用作变量名,方法名,类名,包名和参数。用于定义数字类型的关键字classinterfaceenumbyteshortintlongfloatdoublecharbooleanvoi......
  • 基础语法
    基础语法设置个性化设置java中的注释1.单行注释​ ////2.多行注释​ /*​ */3.文档注释​ /**​ *@​ *​ */标识符关键字注意点:●所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始●首字符之后可以是字母(A-Z或者a-z),美元符......
  • AngleScript语法
     Class的使用要继承于Interface或者Mixin class.Mixinclass实际上就是类似于抽象类,它已经实现的,在子类里面不能实现,类似如下代码:interfaceAInterface{ voidDoSomething1(); voidDoSomething2();}//如果不用mixin那么必须实现该接口的所有函数mixinclassABa......
  • __asm__ __volatile__ GCC的内嵌汇编语法 AT&T汇编语言语法 AT&T ASM Syntax
    1Overview 开发一个OS,尽管绝大部分代码只需要用C/C++等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有大小限制,使用精练的汇编可以缩小目标代码的Size。另外,对于某些需要被经常调用的代码,使用汇编来写可以提高性能。所以我们必须了解汇......
  • (非原创)Stable Diffusion 提示词prompt tag语法总结
    基本认知提示词会相互污染,要尽可能地做减法。XL版本主推使用自然语言使用注释将修饰词汇限定给某个主体,避免提示词污染1girl(silverlonghair,purpleeyes),yellowsuit2people(1girlAND1boy)2characters(1girlAND1dog)权重调整旧语法:(){}加大权重,[]......
  • markdown latex语法
    LaTex上标/下标$a_2$$a^2$attent:如果上下标的内容超过一个字符,则需要用花括号{}包裹,否则上下标只对后面的一个符号起作用下标:$a_2$上标:$a^2$大于等于$\geqslant$$\leqslant$大于等于:$\geqslant$小于等于:$\leqslant$希腊字母命令显示命令显示\alp......
  • lua~基本语法
    学习Lua的必要性nginx开发apisix,kong插件开发语言特点语句结束没有分号跟JavaScript很像默认定义的是全局变量,定义局部变量需要加local关键字数组索引从1开始没有i++操作符号,只能i=i+1注释单行注释--注释内容多行注释--[[注释......
  • Keil 和Eclipse 软件编译环境下bin和ram以及flash大小及关系
    一.keil软件编译环境ProgramSize:Code=65228 RO-data=5302 RW-data=48 ZI-data=1681keil软件编译后会出现上面的提示,其意义如下:Code:指程序中代码的字节数RO-data:指程序中定义的常量字节数RW-data:程序中已初始化的变量字节数ZI-Data:程序中未初始化的变量字节数......