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.

[参考译文] CODECOMPOSER:无法使用 projects'cfg 文件更改 hwiStackSize

Guru**** 1952840 points
Other Parts Discussed in Thread: SYSBIOS, CC2640
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1072701/codecomposer-unable-to-change-hwistacksize-using-the-projects-cfg-file

部件号:CODECOMPOSER
在“线程:SysBIOS测试CC2640”中讨论的其它部件

我在蓝牙论坛上有一个很长的话题,有人建议问题的根源 可能是 CCS 问题,而不是项目设置问题。

因此,我将按照建议在本次 CCS 论坛上开始讨论这一议题。

下面是蓝牙论坛主题: https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1060247/cc2640-how-to-change-hwistacksize-as-reported-in-rov

我希望我能在这里总结一下这个问题,但我对这个问题太困惑了,我认为上述联系应该帮助这里可能愿意伸出援手的任何人。

我甚至无法确定要附加到该帖子的标签...

谢谢,

戴尔

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

    嘿,戴尔,

    请允许我花些时间找到合适的人员来帮助您。

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

    戴尔,

    Ammar 请我就这个问题提供一些评论,如果我能够完全理解另一个线程中的场景,那么你最初是在尝试从另一台机器重新使用工作空间。 例如,这可能会导致路径出现问题,建议在新计算机中实际创建新工作空间,然后只导入保存的项目。

    我认为使用示例项目跟踪堆栈的更改是开始尝试了解项目可能发生的情况的共同点。 我看到您在项目中正确创建了一个 cc2640cfg 文件副本-您是否已从该文件中删除 app_ble.cfg? 我猜是这样。

    《SysBIOS 6.46.01用户指南》(位于 C:\ti\tirtos_cc13xx_cc26xx_2_20_01_08\products\BIOS_6_46_01_38\docs)第7.5.1节说明 HWI 堆栈大小由系统堆栈大小定义-就像您使用的一样。 除了“项目选项”-->“ARM 链接器”选项,我没有看到任何其他地方可以更改此选项,但这被.cfg 设置覆盖。

    就像测试一样,我将.cfg 文件从1024更改为512,链接器映射文件反映了这一点,它从0x400更改为0x200。 检查链接器.map 文件下面附带的屏幕截图。



    如果 ROV 报告的 HWI 堆栈大小与链接器映射文件不同,那么我强烈怀疑 ROV 可能在这里是错误的。

    一个可能解释为什么您的项目会发生神奇的中断和工作的想法是,正如我们以前所说的,SDK 有许多文件是链接的,而不是复制到工作空间,因此,如果更改特定文件,如果重新安装 SDK,它可能会丢失。

    目前我没有更多的想法,但希望这有助于为可能发生的问题提供一些背景和提示。

    希望这对我们有所帮助,

    拉斐尔

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

    您好,拉斐尔,

    感谢您的参与,我会对您的建议进行一些处理,因为这是我尝试的顺序...

    [引用 userid="4983" url="~ë/support/tools/code-composer-studio -group/CCCS /f/code-composer-studio -forume/1072701/codecodposer-unable to -change-hwistacksize-use-the-projects-cfg-file/3976486#3976486"]如果怀疑地图的大小与此处的 ROV 堆栈不同,则表示怀疑该地图的大小不对该数据集。

    在整个工作空间的干净构建之后,当我 的 app_ble_uartlog.cfg 请求512时,ROV 和我的链接器地图文件都报告0x400 (1024),如以下3个图像中所示:

    如果整个链接器地图文件可以进一步帮助您:
    e2e.ti.com/.../LinkerMapFile_5F00_HaloPod_5F00_10008.zip

    [引用 userid="4983" url="~ë/support/tools/code-composer-studio -group/CCCS /f/code-composer-studio -forume/1072701/codecoders-unable-change-hwistacksize-use-the-projects-cfg-file/3976486#3976486">如果我最初尝试在另一个工作空间中完全了解另一个线程,请重新了解另一个工作空间。 例如,这可能导致路径出现问题,建议在新计算机中实际创建一个新的工作空间,然后只导入保存的项目。

    自从我能够从损坏的硬盘中恢复项目以来,该项目已经发生了许多更改。 这是我根据你的建议尝试的。

    1. 我 创建了一个新的工作空间
    2. 我使用以下选项执行了“项目”>“导入 CCS 项目”:  
    3. 我对整个工作空间进行了彻底的构建
    4. 链接程序映射文件仍显示相关堆栈的0x400 (1024)。
    [引用 userid="4983" url="~/support/tools/code-composer-studio -group/CCCS /f/code-composer-studio -forume/1072701/codoser-unable to -change-hwistacksize-usings-the projects-cfg-file/3976486#3976486"]我发现您是否已将文件从 app_ble.cfg 中正确删除了您创建的文件- cc4026cfg 文件副本- 我想是这样。

    对于上述测试,cc2640.cfg 被排除在内部版本之外,我依靠  app_ble_uartlog.cfg 请求 hwiStackSize,在这里,您可以看到它被排除在内部版本之外:

    我的方面还有其他问题:

    1. 我的链接资源不显示指向 cc2640.cfg 或 app_ble_uartlog.cfg 等.cfg 文件的任何链接是否重要?
        
    2. 那里的天气怎么样? (公顷)

    编辑:

    我尝试从内部版本中包括 cc2640.cfg,但不包括 app_ble_uartlog.cfg,但我在 cc2640.cfg 中看到一个编译错误,显示“ti.SysBIOS.family.arm.cc26xx.Power:没有名为“标准策略”的属性。  如果我接着指出了“Power.policyFunc = Power.standbyPolicy;”行,那么我仍然收到编译错误,但它不够具体,无法进一步调试。 该错误是:

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

    戴尔,

    对这一巨大的延误,请道歉;这种情况在我的雷达下下滑了。

    [引用 userid="294404" url="~ë/support/tools/code-composer-studio -group/CCCS /f/code-composer-studio -forume/1072701/codecodposer-unicable to -change-hwistacksize-usings-The-projects-cfg-file/3977656#3977656" app_ble_uartlog.cfg,在我的整个工作空间中构建完所有的地图后,并在我的所有这些请求后都可以查看完整的地图[0x400 ](英文),如果你可以在我的完整地图中找到这些请求,请参阅我的完整地图[

    事实上,文件的堆栈是1024。 感谢您的分享。  

    [引用 userid="294404" url="~ë/support/tools/code-composer-studio -group/CCCS /f/code-composer-studio -forume/1072701/codecodposer-uncable to -change-hwistacksize-use-projects-cfg-file/3977656#3977656",cc2640.cfg  此处排除了 app_ble_uartlog.cfg 上的构建测试,您可以在此处查阅站点:

    我不一定知道<app_ble_uartlog.cfg 文件中有什么内容,但您之前的屏幕截图表明该文件具有完整的.cfg 配置设置,而不是对原始.cfg 的简单 utils.importFile()指令。 在这种情况下,您是否只是测试将512设置为该文件中的第一个条件语句(第434行)? 我怀疑你已经这样做了,但我想检查一下。

    我在下面发送了用于构建和成功更改系统堆栈大小的项目,如下图所示(用于 CC2640R2的 BLE Stack 2.30,使用 CCSv9.3构建)。 也许这会帮助您提出一些想法和需要检查的事情。

    由于排除了 cc2640.cfg 文件,除非另一个.cfg 文件导入,否则生成器不会使用该文件。  

    [引用 userid="294404" url="~/support/tools/code-composer-studio -group/CCCS /f/code-composer-studio -forume/1072701/codifoser-unable to -change-hwistacksize-use-projects-cfg-file/3977656#3977656" cc2640.cfg ,app_ble_uartlog.cfg 链接到我的任何资源或我的文件吗?]

    链接的资源列表仅在 IDE 范围内有效,即,如果文件使用 IDE 链接到项目。 如果文件的内容中包含另一个文件(就像 app_ble.cfg 文件及其 utils.importFile()指令),IDE 将不会“看到”此文件,因此不会列出该文件。 此外,如果该文件在项目目录中实际存在,则列表将不会显示该文件。  

    [引用 userid="294404" url="~ë/support/tools/code-composer-studio -group/CCCS /f/code-composer-studio -forume/1072701/codecodposer-unable to -change-hwistacksize-use-projects-cfg-file/3977656#3977656",天气情况如何?] (HA ha)

    海赫…… 还可以-达拉斯的典型冬季:一天雪,三天冰和雪。 (笑)

    希望这对我们有所帮助,

    拉斐尔

    e2e.ti.com/.../simple_5F00_peripheral_5F00_CC2640R2_5F00_Stack512.zip

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

    拉斐尔

    你的评论非常有帮助,我认为我现在已经解决了这个话题问题。

    1. 我不得不回到代码的备份版本,代码运行良好,但当我在 app_ble_uartlog.cfg 中请求1024时,仍然收到512的 hwiStackSize。
    2. 我注意到,我在 HaloPod_10008文件夹中的 cc2640.cfg 只有5k 长,而我计算机上的其他 cc2640.cfg 文件的长度几乎都是22k 长。  我不确定5k cc2640.cfg 来自何处,但为了完整性起见,我将其附在此处。
    3. 我用 HaloPod_10008文件夹中的22k 版本替换了5k cc2640.cfg。
    4. 我编辑了这个22k cc2640.cfg,以反映我在 app_ble_uartlog.cfg 中所做的一些更改 (硬件异常处理和重要的434行编辑, 在 app_Ble_uartlog.cfg 中不起作用)
    5. 我“已从内部版本中排除”app_ble_uartlog.cfg
    6. 我在“内部版本”中编辑了 cc2640.cfg
    7. 我做了一个干净的建筑,哇,hwiStackSize 现在是512  

    还有一个问题:

    1. 在现在排除的 app_ble_uartlog.cfg 文件中,由于某种原因未被调用(也附在此处),在我的 cc2640.cfg 代码中包括这些行时,末尾有一些条形码(从684行开始),这些条形码会闪烁约6600字节。  我真的希望能够访问这些6600字节的闪存以及我刚刚回来的512字节的 SRAM。  您能告诉我为什么我需要在项目中使用 UART 记录代码,因为它似乎可以在没有它的情况下使用?

    戴尔

    e2e.ti.com/.../INEFFECTIVE_5F00_5k_5F00_version_5F00_of_5F00_cc2640.cfg        e2e.ti.com/.../NOT_5F00_BEING_5F00_CALLED_5F00_app_5F00_ble_5F00_uartlog.cfg

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

    戴尔,

    感谢您报告您的方案结果,我很高兴这些建议非常有用。

    您提到的 LoggerCallback 通常用于将 TI-RTOS 的日志输出重定向到特定的接收器(如 UART)-本 页将介绍一些详细信息。

    通常,您希望能够在开发过程中记录 TI-RTOS (默认情况下也可以通过常规 JTAG 和 ROV 进行),但在生产过程中删除部分或全部日志记录,因此它是可选组件。

    此致,

    拉斐尔

x 出现错误。请重试或与管理员联系。