完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
我正在开发一个 Erika 多核项目,该项目旨在在装有 TASKING v6.2r2 编译器的 TC397XE 处理器上执行。 目前,我专注于前 4 个内核,我的应用程序设计为在 RAM 中运行,应用程序通过调试器加载到 RAM 上。 有一个共享代码可以充当所有内核的空闲任务。 每个内核都有自己的专用 RAM 存储器(PSPR 和 DSPR),但共享代码以某种方式与 CPU5 Data Scratch-Pad Sram(CPU5 DSPR)相关联。 在链接器脚本中,我已经映射了每个.text 部分移至其各自的 PSPR 内核。 我想知道如何将共享代码映射到 DSPR5 以及如何将其映射到其他 RAM 区域。 |
|
相关推荐
2个回答
|
|
默认情况下,链接器填充从低到高地址范围的内存区域。 由于 DSPR5 内存是从最低可用地址 (0x10000000) 开始的,因此未分配给任何强制使用不同布局的 LSL 组的部分最终会出现在这里。 DSPR5 内存用完后,链接器将继续使用 PSPR5 内存。 然后是 DSPR4、PSPR4 等
如果您想将当前确实位于 DSPR5 RAM 中的部分移至其他内存,则可以定义一个 LSL 组,该组使用选择线将这些部分分配给该组。 而且小组本身可能会被置于不同的记忆中。 分配所有以.text 开头的部分 它们位于虚拟内存空间 (vtc) 中的某个组中,然后将该组置于 DSPR4 内存范围内的某个位置,您可以添加一个条目,例如: section_layout mpe: vtc: linear {group SHARED_CODE (run_addr = mem: mpe: dspr4) } { select "*(.text|.text*)"; } 到 ee_tc_tasking_flash.lsl 文件中。 |
|
|
|
要将共享代码映射到DSPR5和其他RAM区域,您可以按照以下步骤进行操作:
1. 在链接器脚本中定义共享代码的位置:根据您的需求,您可以创建一个新的RAM区域来存放共享代码。在链接器脚本中,可以使用MEMORY命令定义该RAM区域,例如: ``` MEMORY { ... SHARED_CODE : ORIGIN = <起始地址>, LENGTH = <长度> ... } ``` 请确保将 `<起始地址>` 和 `<长度>` 替换为实际的RAM起始地址和长度。 2. 将共享代码映射到DSPR5:在链接器脚本中,可以使用SECTIONS命令将共享代码的.text部分映射到DSPR5的地址空间。例如: ``` SECTIONS { ... .shared_code : { ... } > DSPR5 ... } ``` 在这个示例中,您需要将`...`替换为共享代码的实际内容和其他可能的链接器选项。 3. 将共享代码映射到其他RAM区域:要将共享代码映射到其他RAM区域,可以在链接器脚本的SECTIONS命令中使用相应的RAM区域名称,例如: ``` SECTIONS { ... .shared_code : { ... } > SHARED_CODE ... } ``` 这样,共享代码将被映射到您在步骤1中定义的RAM区域。 请注意,以上步骤是基于您使用的具体链接器脚本和编译器的不同。确保根据您的实际情况做出相应的修改和调整。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-spi编程示例之spi编写程序
657 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第三十七章 image图像对比实验
640 浏览 0 评论
753 浏览 1 评论
546 浏览 0 评论
关于RT-Thread studio添加freemodbus控件失败的问题
910 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11652 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 16:13 , Processed in 0.642052 second(s), Total 74, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号