This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/AM6548:A53项目加载问题

Guru**** 2540720 points
Other Parts Discussed in Thread: SYSBIOS

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/850017/ccs-am6548-a53-project-load-issue

器件型号:AM6548
Thread 中讨论的其他器件:SYSBIOS

工具/软件:Code Composer Studio

我创建了一个简单的 SYSBIOS 应用程序、该应用程序可以正确加载和运行我使用的链接器配置  

存储器

MSMC (rwx):origin = 0x70000000,length = 0x00200000
DDR (rwx):origin = 0x8000000,length = 0x8000000
/* DDR (rwx):origin = 0x8000000,length = 0x8000000 */

region_alias ("region_text"、MSMC);
region_alias ("region_BSS"、MSMC);
region_alias ("region_data"、MSMC);
region_alias ("region_stack"、MSMC);
region_alias ("region_heap"、MSMC);
region_alias ("region_arm_EXIDX"、MSMC);
region_alias ("region_arm_EXTAB"、MSMC);

但当我改变时  

region_alias ("region_heap"、DDR);

JTAG 加载程序后、应用程序立即发出错误消息。 我现在以 A53为目标。 我使用的是默认 GPEVM_AM65x.ccxml 目标配置、没有任何更改。 我添加了  

myHeap (NoLoad):align (16){
}> region_heap at> region_heap

链接器命令文件、然后

var heapMemParams = new HeapMem.Params();
heapMemParams.size = 64*1024;// 64KB
heapMemParams.sectionName =".myHeap";
program.global.heap1 = HeapMem.create (heapMemParams);
Memory.defaultHeapInstance = Program.global.heap1

以 app.cfg 使 SYSBIOS 堆不会最终链接到.bss 段。

默认 GEL 文件中的 DDR 配置是否缺少任何内容?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Andrew:

    我对一些细节有点不清楚。 请详细说明一下吗?

    根据我的经验、包含存储器区域定义的链接器命令文件在 SYSBIOS 应用程序构建期间生成、存储器区域和段放置由 RTSC 平台配置确定。 如何修改 region_heap 的 region_alias? 您是否正在修改 RTSC 平台配置?

    您是否在 自定义链接器命令文件中包含.myHeap 的段分配?

    在连接到 A53之前、您如何初始化 AM654x EVM? 请参阅:

    当您说应用程序在通过 JTAG 加载后立即失败时,您是否会自动运行到 main()? 还是在执行任何代码之前应用程序加载失败?

    就像一个实验一样、您是否尝试删除.myHeap 的"NoLoad"?

    此致、
    弗兰克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    弗兰克、

    感谢你的答复。 不幸的是、我目前无法继续跟进此问题。

    此致、

    Andrew

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Andrew、

    好的,未来的一个实验,以防您回到这个问题:您是否曾尝试 禁用 auto-run to main(),然后在执行程序之前加载两次程序?

    此致、
    弗兰克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我禁用了自动运行。 我首先加载 M3内核、然后加载 A53。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Andrew、

    您是否使用了 javascript 和 DMSC FW 负载、或者仅连接到 M3、然后连接到 A53?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我手动连接到 DMSC M3、然后连接到 A53。 每次连接操作后执行的默认 GEL 文件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您提供的其他反馈。

    此致、
    弗兰克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    可能不应该将其标记为已解决。 但我现在要关闭它、因为您无法再进一步处理它了。

    此致、
    弗兰克