【经验】如何修改链接脚本文件进行数据定位——以32位MCU KF32L530MNS为例
在编译一个程序时,最后是将每个输出文件链接在一起,最后一步就是运行“.ld”文件内容。每一个链接过程都由链接脚本控制,链接脚本主将定义的section对与文件内的输出文件读取,合并,生成目标文件。
芯旺发布的应用笔记将以32位MCU KF32L530MNS为例进行介绍如何修改链接脚本。
本应用笔记使用的KF32 IDE与KF32Lxxx外设固件库及代码例程可以从ChipON官方网站下载。
1.使用自定义的.ld文件
在编译过程,IDE默认从安装目录下获取.ld文件。默认的路径通过工程属性->C/C++构建->C Linker Release->通用设定->芯片脚本文件。是如下图1:
图 1:默认芯片脚本路径
默认的.ld文件在安装目录下,地址路径为:ChipONIDE/KungFu32/ChiponCC32/scripting/ccr1_issue_v0/xxx.ld。xxx为芯片型号,此处为KF32L530MNS.ld。
将该路径的对应的ld文件复制到工程路径下,更改路径位置为:-T"${ProjDirPath}/${CHIP_NAME}.ld"。更改路径的意思为该工程目录下的芯片型号。
2. 内存地址说明
KF32L530MNS的内存拥有512K的Flash和128的RAM。通过KF32L系列用户手册。可以看到Flash的起始地址为0x0000 0000;RAM的起始地址为0x1000 0000。链接文件中可以对程序中Flash和RAM的起始地址及长度进行规定。
图 2:默认起始地址与长度
3. 定义常量在指定Flash地址
在应用中若需要将常量指定Flash地址,可以在.text段进行段定位。在.text前512字节需要预留给向量表存放,不可占用。可以定义在代码的起始段,如定义在0x0000 0200处。
调用方法为:使用section关键字,修改编译后,可以通过.map文件或者HEX文件查看定义的位置。如下图 4:
若定义在代码的结束段定义,需要保证不覆盖代码,定义方式如下图5:
4. 定义变量及函数在指定RAM空间
RAM在上电时内容是随机的,使用前需要将拥有初值的变量赋值。在”vector.c“文件中规定了单片机从“startup”函数开始运行,“startup”函数的作用是给拥有初值的变量赋值。即在运行main之前,将变量初始化完毕。
在应用中若需要将指定RAM地址,即在.data段中定义需要用户段”UserRAMData“,偏移地址为0x1000。如下图6:
调用方法为:使用section关键字,修改编译后,可以通道.map文件查看定义的位置。如下图 7:
5. 低功耗模式下保持数据
单片机的SRAM分为主要分为两个区域。一部分LPRAM在STANDBY及STOP1的低功耗模式仍然可以保持,为SRAM区域的前16K,另一部分为通用RAM。休眠前,将PM_CTL0的bit19置1,即可保持数据。在SRAM的前16K空间中规划出section段,将要保持的变量放置于该段,该变量的数据可以在STANDBY及STOP1的低功耗模式下保持。按照正常的启动逻辑,单片机在复位后会先执行”startup”函数,执行此函数会将变量进行初始化。在STANDBY模式及STOP1模式下,唤醒后代码从头运行。若需要低功耗下保持数据,需要避免每次复位处调用”startup”函数,需要更改启动逻辑,启动后从”main”开始运行。更改启动逻辑方式请参考应用手册AN32002快速唤醒如何降低功耗章节。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由一二没有三转载自芯旺,原文标题为:如何修改链接脚本文件进行数据定位,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
【经验】如何在低功耗模式下使用RTC工作
芯旺发布的应用笔记主要是关于如何在低功耗模式下使用RTC工作,实时时钟 (Real Time Clock,RTC) 单元提供给用户实时时间以及日历信息。RTC单元通过时间寄存器提供时间信息 (秒、分、时、星期、日、月、年)。
设计经验 发布时间 : 2022-08-15
【经验】如何配置进入低功耗停止模式/待机模式/外部引脚唤醒——以32位MCU KF32L530为例
KF32L/LS提供多种模式供用户在不同工作场景下使用,包含两种运行模式、两种休眠模式及三种低功耗模式。芯旺发布的应用笔记将以32位MCU KF32L530为例介绍如何配置进入低功耗停止模式和待机模式。
设计经验 发布时间 : 2022-08-14
【经验】如何在低功耗STOP1模式下保持LCD显示及RTC唤醒刷新——以MCU KF32L/LS为例
芯旺发布的应用笔记将以KF32L530为例介绍如果低功耗模式下的运行及唤醒流程,另外如何在STOP1模式下使用RTC及LCD。
设计经验 发布时间 : 2022-08-16
芯旺(chipon)KungFu 8位/32位车规级MCU选型指南
描述- 上海芯旺微电子是一家聚焦汽车级、 工业级混合信号 8 位 /32 位 MCU&DSP芯片的高新技术企业, 十多年来专注基于自主 KungFu 处理器架构的高可靠、高品质 MCU 器件的研发设计, 是国内最早面向汽车和工业领域的芯片设计公司之一。核心产品车规级MCU通过AEC-Q100品质认证,实现汽车前装市场批量商用,广泛覆盖车身控制、 汽车电源与电机、 汽车照明和智能座舱等场景。KungFu MCU 凭借高可靠、 低功耗、 高性能三大特性, 已应用于全球多家世界五百强和国内知名企业, 累计出货超过数亿颗。
型号- KF8A,KF32A151MQV,KF32A151MQT,KF8A100DTD,KF32A151KQT,KF32A151MQS,KF8A100ENP,KF8A200,KF8A100FTN,KF32A146KQT,KF32A146KQS,KF8A100ENG,KF32A146IQT,KF8A100ESD,KF32A146IQS,KF8A200GQS,KF32A150MQV,KF32A150MQS,KF32A150MQT,KF8A100CSD,KF32A250,KF8A100EOG,KF32A140INP,KF8A100EON,KF32A,KF32A153MQV,KF32A140KQT,KF8A 系列,KF8A100FNP,KF32A140,KF32A 系列,KF32A141,KF8A100,KF8A100ETN,KF8A100FNG,KF32A141INP,KF32A140IQS,KF32A140IQT,KF32A146,KF32A140KQS,KF32A156MQW,KF8A100DSD,KF32A152MQV,KF32A156MQT,KF32A156MQV,KF8A100GQP,KF32A151,KF32A152,KF32A150,KF32A250MQV,KF8A100GQT,KF32A156,KF32A153,KF32A141IQS,KF32A141IQT
芯旺8位MCU选型表
芯旺提供以下技术参数的8位MCU选型,FLASH:2K,4K,16K,32K;超宽温度范围-40~125℃,工作电压:1.8~5.5V,2.1~5.5V
产品型号
|
品类
|
系列
|
封装
|
GPIO
|
Flashx16Bits
|
RAMbyte
|
flash自写
|
100万次EE Byte
|
内部HFOSC
|
外部HF/LF OSC
|
8位定时器
|
16位定时器
|
PWM
|
ECCP
|
ADC
|
DAC
|
内部参考
|
运放
|
比较器
|
触摸
|
SPI
|
12C
|
UART
|
LED
|
LCD
|
CAN
|
MUL/DIV
|
工作电压(V)
|
温度范围(℃)
|
KF8A100CSD
|
8位MCU
|
KF8A系列
|
SOIC-14
|
12
|
2K
|
1040
|
Y
|
D128
|
16M(±1%)
|
16M/32.768K
|
1
|
3
|
2X8
|
1全桥
|
8X12
|
N
|
1.7V
|
N
|
2
|
N
|
N
|
N
|
N
|
N
|
N
|
N
|
N
|
2.1~5.5
|
-40~125
|
选型表 - 芯旺 立即选型
芯旺32位MCU选型表
芯旺提供以下技术参数的32位MCU选型,FLASH:128K,256K,512K,;超宽温度范围-40~125℃,工作电压:2.7~5.5V,2.0~3.6V
产品型号
|
品类
|
系列
|
封装
|
FLASH(KB)
|
RAM(KB)
|
频率(Hz)
|
16位定时器
|
32位定时器
|
ECCP
|
QEI
|
EXIC
|
SPI
|
I2C
|
USART
|
CAN
|
USB
|
12位ADC
|
12位DAC
|
运放
|
比较器
|
TOUCH
|
LCD
|
RTC
|
CRC
|
AES128
|
工作电压(V)
|
KF32A141IQT
|
32位MCU
|
KF32A系列
|
LQFP64
|
128 KB
|
32
|
48 M
|
13
|
N
|
1×8ch
|
1
|
N
|
2
|
3
|
4
|
2
|
N
|
3(31)
|
2
|
2
|
4
|
16
|
N
|
Y
|
Y
|
Y
|
2.0~3.6V
|
选型表 - 芯旺 立即选型
芯旺(chipon)KungFu内核架构32位MCU选型指南
描述- ChipON为工业、AIoT、白电等应用市场提供高品质的8位通用MCU和32位通用MCU,它们具备优异的功耗性能、抗干扰性能。8位通用MCU基于KungFu8内核架构,分别为KF8F系列工业级通用MCU,KF8L低功耗通用MCU,KF8TS触摸按键型通用MCU,32位通用MCU基于 KungFu32内核架构,分为KF32F工业级通用MCU,KF32LS单电源型通用MCU,KF32L低功耗型通用MCU,ChipON通过全面的高可靠性设计技术保障其成为通用多元化市场独具性能特色的MCU。
型号- KF32L5500MQV,KF32A151MQV,KF32LS100MQT,KF32LS100KQV,KF32A151MQT,KF32A151KQV,KF32A151KQT,KF32F330,KF32F130,KF32L5201IQT,KF32A146KQT,KF32A146KQS,KF32LS201IQ5,KF32LS200MQV,KF32A146IQS,KF32A150MQV,KF32L5100MQV,KF32A150MQS,KF32A150MQT,KF32LS100GQS,KF32LS100KQT,KF32A250,KF32LS100IQV,KF32LS200,KF32LS201,KF32LS100IQT,KF32A140INP,KF32F350MQT,KF32F350KQV,KF32F350KQT,KF32LS201MQTA,KF32F330KQTA,KF32A,KF32L530KQT,KF32A153MQV,KF32F,KF32A140KQT,KF32L530MQV,KF32L530MQT,KF32L530KQV,KF32L5100GQT,KF32A140,KF32F330GQ5,KF32A141,KF32F350,KF32L530,KF32LS100IQ5,KF32A141INP,KF32A140IQS,KF32A140IQT,KF32A146,KF32A140KQS,KF32F350MQV,KF32F130INP,KF32LS200KQV,KF32LS500KQV,KF32LS200KQT,KF32LS500KQT,KF32LS200IQT,KF32LS200IQS,KF32LS500IQT,KF32LS200GQS,KF32LS500GQT,KF32A156MQT,KF32LS,KF32A152MQV,KF32A151MQ5,KF32A156MQV,KF32F130GNP,KF32A151KQ5,KF32LS500,KF32A250MQT,KF32A250KQT,KF32A151,KF32LS100,KF32F330IQS,KF32A152,KF32A150,KF32A250MQV,KF32LS201GQT,KF32A156,KF32F330IQV,KF32F330KQT,KF32A153,KF32F330IQT,KF32LS201IQV,KF32A141IQS,KF32L5500MQT,KF32A141IQT,KF32F330MQV,KF32LS201MQT,KF32F330KQV,KF32F330MQT
芯旺微电子凭借32位车规级MCU KF32A156,荣获2022铃轩量产优秀奖、中国车规级芯片企业奖
2022中国汽车供应链峰会暨第七届铃轩奖盛典,芯旺微电子入围的KungFu内核32位车规级MCU KF32A156,依托自主研发的技术能力、优异的市场表现和广泛的客户群体,荣获2022铃轩奖量产优秀奖及2022年度中国车规级芯片企业奖。
原厂动态 发布时间 : 2022-12-28
芯旺(chipon)8位/32位MCU选型指南
描述- 上海芯旺微电子(ChipON)是一家聚焦汽车级、工业级混合信号8位/32位MCU&DSP芯片的高新技术企业,十多年来专注基于自主KungFu处理器架构的高可靠、高品质MCU器件的研发设计,是国内最早面向汽车和工业领域的芯片设计公司之一。核心产品线车规级MCU通过AEC-Q100品质认证,实现汽车前装市场批量商用,广泛覆盖车身控制、汽车电源与电机、汽车照明和智能座舱等场景。
型号- K8F31XX,KF8A,KF8F,KF32系列,KF8L,KF8A100DTD,KF8LXXZXXXX,KF8A100ENP,KF32F330,KF8L系列,KF8A200,KF32F130,KF8A100FTN,KF8F系列,KF8A100ENG,KF32A系列,KF8A100ESD,K8F41XX,KF8L 系列,KF8A200GQS,KF8F4132OG,KF8A100CSD,KF32A250,K8F1XXX,KF32LS200,KF32LS201,KF8A100EOG,KF8,KF8TS,KF8A100EON,KF8 系列,KF8A100XXX,KF8F2XXX,K8F51XX,KF32A,KF8TS系列,KF32F,KF8A100FNP,KF32L系列,KF8TSXXXXXX,KF32L,KF32F系列,KF32A140,KF32A141,KF32F350,KF8A100,KF8L22Z20QS,KF32L530,KF8A100FNG,KF8A100ETN,KF32,KF32LS系列,KF32A146,KF8A系列,KF8A100DSD,KF8FXXXXXX,KF32LS,KF32LS500,KF8TS 系列,KF8A100GQP,KF32LS100,KF32A151,KF32X15 XXX,KF32A152,KF8A100GQT,KF32A150,KF32A156,KF32A153,KF8A100E0N,KF8TS2714SG,KF32A158
芯旺(chipon)KungFu内核架构8位MCU选型指南
描述- ChipON为工业、AIoT、白电等应用市场提供高品质的8位通用MCU和32位通用MCU,它们具备优异的功耗性能、抗干扰性能。8位通用MCU基于KungFu8内核架构,分别为KF8F系列工业级通用MCU,KF8L低功耗通用MCU,KF8TS触摸按键型通用MCU,32位通用MCU基于 KungFu32内核架构,分为KF32F工业级通用MCU,KF32LS单电源型通用MCU,KF32L低功耗型通用MCU,ChipON通过全面的高可靠性设计技术保障其成为通用多元化市场独具性能特色的MCU。
型号- KF8TS2716OM,KF8F3122NG,KF8F312-TS20,KF8F4120SD,KF8F2020MB,KF8F513X,KF8F212-S20,KF8F2320,KF8L10Z08OG,KF8F41XX,KF8F312M4-S8,KF8L121Z08OM,KF8TS3510SE,KF8L20Z08,KF8F4156UN,KF8A100FTN,KF8F3122OG,KF8TS2514SG,KF8F210-S8,KF8F4132SE,KF8TS2414OG,KF8L52Z64,KF8A100ESD,KF8TS2310SE,KF8S1101-Q44,KF8F4132SG,KF8F334-Q44,KF8F3112SE,KF8F3112SG,KF8S310,KF8S1011-S28,KF8TS2716QP,KF8F3112OG,KF8F312M4,KF8F312-S8,KF8F5134,KF8F42XX,KF8F5132,KF8F5133,KF8F1020SAR,KF8F4155QP,KF8F4156SN,KF8FXXXX,KF8F5132OG,KF8TS2314,KF8TS2308SD,KF8F4110SD,KF8F2XXX,KF8F5134QS,KF8TS3514NG,KF8F4158,KF8TS2310,KF8F4155,KF8F31XX,KF8F4156,KF8L121Z08,KF8L15Z20QP,KF8TS2516TN,KF8S1022-S14,KF8TS3514,KF8TS2308,KF8F333-S28,KF8TS3510,KF8F3156QP,KF8TS2302,KF8TS2716SN,KF8F1030,KF8F4122SG,KF8A100DTD,KF8F4122SE,KF8F4156QP,KF8TS2516SN,KF8F310-S20,KF8F3122SE,KF8F3122SG,KF8TS2414,KF8TS3508,KF8TS2410,KF8TS3508SD,KF8F1020,KF8F4132OG,KF8A100CSD,KF8S1025-S16,KF8TS2514NG,KF8F333-SS28,KF8F3110SB,KF8TS2410SE,KF8F3110SD,KF8TS2716UN,KF8S1100B-QN24,KF8TS2402,KF8TS2408,KF8S1100-S28,KF8S310-S16,KF8TS2302SB,KF8S1010-S20,KF8TS2408SD,KF8S1006-P16,KF8F4133ON,KF8F333-TS28,KF8A100ETN,KF8TS2514,KF8F4232OG,KF8TS2516,KF8F310-S16,KF8F210-S20,KF8A100DSD,KF8F1000,KF8TS2510,KF8F4112SG,KF8F4112SE,KF8S1100,KF8S1101,KF8F312M4-SS20,KF8F3132OG,KF8TS2508,KF8TS2714SG,KF8F3156UN,KF8F3132,KF8F4122OG,KF8F3130,KF8F212-SS20-5,KF8TS3514SG,KF8L22Z20,KF8S1010,KF8S1011,KF8F1000SD,KF8F2320SD,KF8FXXX,KF8F3120SD,KF8TS2510SE,KF8S1024-S16,KF8F210-S16,KF8L20Z08TN,KF8F210-S14,KF8F1000SB,KF8F2320SB,KF8F4158QP,KF8F212-S14-5,KF8F3122,KF8F4122NG,KF8F3120,KF8TS,KF8S1006,KF8F3156SN,KF8L52Z64QV,KF8F3112,KF8F2020,KF8F3110,KF8F2020SD,KF8F212-S8-5,KF8F2020SB,KF8L22Z20QT,KF8L12Z08SE01,KF8L15Z20,KF8L22Z20QP,KF8TS2402SB,KF8F310,KF8F312,KF8F3110TD,KF8L22Z20QS,KF8TS2714,KF8TS2716,KF8F212-SS20,KF8TS2710,KF8L10Z08,KF8F312M4-S14,KF8S1100A-QN24,KF8F4112OG,KF8F207,KF8L23Z20,KF8F213-S16,KF8TSXXXX,KF8S1022,KF8TS2508SD,KF8S1023,KF8S1024,KF8TS2708,KF8F3132SG,KF8F3132SE,KF8S1025,KF8L52,KF8F211-S8,KF8F4130TD,KF8A,KF8F312M4-S20,KF8L,KF8F211-S14,KF8A100ENP,KF8F210,KF8A200,KF8S,KF8F211,KF8F212,KF8F213-S20,KF8F333,KF8F3130TD,KF8F213,KF8F334,KF8L22Z20SN,KF8A100ENG,KF8TS2708SD,KF8F4130SD,KF8L12Z08,KF8A200GQS,KF8F4133,KF8F4132,KF8F4130,KF8TS2414SG,KF8F213-SS20,KF8TS2314OG,KF8A100EOG,KF8A100EON,KF8F312-S20,KF8L23,KF8F212-S20-5,KF8F312-S14,KF8F3156,KF8L1X,KF8F4122,KF8L15Z20OG,KF8F4120,KF8F4230SD,KF8L15Z20NM,KF8A100FNP,KF8A100,KF8A100FNG,KF8F312-SS20,KF8F1XXX,KF8L20,KF8L22,KF8L15,KF8F212-S8,KF8F4232,KF8F4155UN,KF8F4112,KF8F4230,KF8F4110,KF8S1023-S14,KF8F213-TS20,KF8A100GQP,KF8F5133TN,KF8F3130SD,KF8A100GQT,KF8TS2710SE,KF8F212-S14,KF8L23Z20QR,KF8F207SB,KF8L23Z20QT,KF8L23Z20QS
【应用】芯旺微车规级MCU KF32A146KQS助力智能车载座椅设计,集成丰富的外设资源,主频达72MHz
笔者在服务客户设计一款智能座椅时,推荐了国产芯旺微车规级MCU KF32A146KQS作为主控,是一款32位车规级MCU产品,采用全自主IP KungFu32内核,定位于小封装小资源,集成了多种接口资源,还支持增强型EPWM模块,实现无刷电机的FOC算法控制。
应用方案 发布时间 : 2022-12-06
【产品】芯旺于WNEVC 2022探讨国产车规芯片发展创新,同期新推32位车规级MCU KF32A136
芯旺的丁总表示,以需求思维和效率思维牵引企业高速发展,进阶汽车芯片价值链高端市场,是芯旺微电子未来发展中非常重要的一项战略部署,目前市场上与32位车规级MCU KF32A158“旗鼓相当”的产品比较稀缺。
新产品 发布时间 : 2022-08-31
【产品】最高主频120Mhz的车规级32位MCU KF32A156,可用于车身车载模块控制
芯旺推出新品32位MCU KF32A156,主要应用于车身车载模块控制,拥有512KB Flash、64KB RAM,支持2路CANFD,同时工作范围达到了Grade 1(-40~125℃)车规等级。
产品 发布时间 : 2022-08-08
芯旺凭借KungFu内核车规级32位MCU KF32A146荣获金辑奖2022中国汽车新供应链百强
2022年10月26日,第三届金辑奖颁奖典礼在中国上海如期举行,芯旺凭借KungFu内核车规级32位MCU KF32A146的技术创新性,荣获金辑奖2022中国汽车新供应链百强,成为中国汽车供应链体系中强有力的一部分,为汽车产业新价值链体系重塑注入新活力。
原厂动态 发布时间 : 2022-11-02
【产品】芯旺新推出KungFu 32内核汽车级MCU KF32A146,拓宽车载电机类应用场景
为丰富车载电机类应用市场,芯旺微电子推出KungFu 32内核汽车级MCU KF32A146系列产品,是为汽车末端节点控制器量身定制的32位车规级MCU产品,采用全自主IP KungFu32内核。
新产品 发布时间 : 2022-08-15
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论