LSL常见应用场景及示例培训笔记<一>

目录

往期推荐

场景1:如何在指定内存定义中定位一个函数?

场景2:如何在绝对内存偏移地址处定位一个函数?

场景3:如何在绝对地址处定位一个函数?

场景4:有多个函数必须位于特定的内存定义中。它们的顺序必须是定义时的顺序,并且它们必须是连续的。这些section段之间的对齐间隙不能用现有的section替换,而应保持间隙。该如何实现这一点?

场景5:有一个函数需要从RAM内存运行。希望启动代码在进入主程序之前将此函数加载到RAM中。该如何实现这一点?


往期推荐

  1. ETAS工具链自动化实战指南<一>
  2. ETAS工具链自动化实战指南<二>
  3. ETAS工具链自动化实战指南<三>
  4. 【干货】一文详解TC399 CAN MCAL 配置
  5. AUTOSAR工程师必读:Artop的核心功能
  6. Vector工具链自动化实战指南<一>
  7. isolar高手秘籍| ECU Configuration三分钟速成!
  8. 掌握核心步骤:RTA-BSW以太网配置全解析

场景1:如何在指定内存定义中定位一个函数?

解决方案

假设有以下C模块名为test.c:

假设想定位函数Sample,根据TriCore的Section命名约定(编译器生成的section),Sample将被分配到以下代码段:

假设Sample必须位于extmem.lsl中定义的内存ext_c中,则LSL文件中的section layout定义为如下:

场景2:如何在绝对内存偏移地址处定位一个函数?

解决方案

假设有以下C模块名为test.c:

假设Sample必须位于extmem.lsl中定义的内存ext_c中且内存偏移量为32k,则LSL文件中的section layout定义为如下:

场景3:如何在绝对地址处定位一个函数?

解决方案

假设有以下C模块名为test.c:

假设Sample必须位于绝对地址0xa000c000,则LSL文件中的section layout定义为如下:

场景4:有多个函数必须位于特定的内存定义中。它们的顺序必须是定义时的顺序,并且它们必须是连续的。这些section段之间的对齐间隙不能用现有的section替换,而应保持间隙。该如何实现这一点?

解决方案

假设以下名为 test.c 的C模块:

假设想定位 SampleB 和 SampleE 函数,根据场景1的解决方案,这些函数将被分配到以下列出的段中:

进一步假设 SampleB 函数必须位于 SampleE 之前,则LSL文件中的section layout定义为如下:

注意:如上使用了 fill 关键字。它可以阻止链接器用unrestricted 的sections/groups替换对齐间隙。

场景5:有一个函数需要从RAM内存运行。希望启动代码在进入主程序之前将此函数加载到RAM中。该如何实现这一点?

解决方案

假设以下名为 test.c 的C模块:

在本示例中,假设CPU为tc1796 ,目标是将 Add 函数定位到定义在 tc1796 的衍生定义中的片上 csram 内部存储器中。

注意 :如上图中,在Add 函数定义处使用了__indirect 关键字------在这种情况下,这是必需的,因为在 tc1796 的内存映射中,外部存储器 ext_c 和内部存储器 csram 之间的间隙超过了16 MB,因此不能通过标准的 callg 或 jg 指令解决。如果不使用 __indirect,将会导致链接器错误消息。

LSL文件中的section layout定义为如下:

注意:

  1. copy 关键字指示链接器为其组内的段创建一个副本段。在这种情况下,.text.test.Add 被分配到副本段 [.text.test.Add] 和运行时段 .text.test.Add,并安装在 csram 中。副本段本身不受限制,将会位于ROM内存中任意地址。

  2. 使用 spe:csram 来唯一标识 csram,以避免在多核环境中或外部内存定义中出现同名情况。

相关推荐
泛联新安16 分钟前
软件定义汽车时代,如何让AI研发“可信”?——泛联新安构建汽车企业级可信AI体系的落地路径
大数据·人工智能·安全·网络安全·汽车·漏洞挖掘·代码安全
QYR-分析6 小时前
内燃机配套核心部件:汽车摇臂市场稳健增长,5.0% CAGR 背后的产业博弈
人工智能·汽车
大唐荣华7 小时前
汽车供应链Tier层级全解析:Tier0.5 / Tier1 / Tier2国内外头部厂商一览
汽车·行业
CHENKONG_CK7 小时前
RFID 赋能汽车零部件涂装产线,构建全流程数字化追溯体系
网络·人工智能·单片机·网络协议·tcp/ip·汽车
DeviceHub11 小时前
2026年硅电容市场观察:AI算力与汽车电子驱动下的选型与替代建议
人工智能·汽车
CHENKONG_CK13 小时前
恶劣工况下 RFID 赋能喷涂产线自动化分拣与作业
运维·网络·人工智能·自动化·汽车·rfid·rfid
2601_9672875713 小时前
汽车年检制动性能怎么判定?滚筒台架上那几组数字怎么看
汽车
沐欣工作室_lvyiyi1 天前
基于STM32单片机汽车充电桩控制模块设计(论文+源码)
stm32·单片机·汽车·毕业设计
QYR-分析1 天前
汽车动力重构赛道爆发:直驱轮毂电机市场 2032 年有望突破 210 亿美元
重构·汽车
高工智能汽车2 天前
2027迎技术元年!智能汽车下一轮红利到来
汽车