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.

[参考译文] CC2340R5:永久应用中的 UART 调试

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1243921/cc2340r5-uart-debugging-in-persistant-app

器件型号:CC2340R5
主题中讨论的其他器件: SysConfig

您好!

      如何为 Persistant_App onchip OAD.i 启用 UART 调试消息已 尝试 MenuModule_printf 它不工作。实现超出应用大小限制的 UART 驱动程序。

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

    您好!

    感谢您与我们联系。 如果实现 UART2驱动程序(使用 UART2callback 或 UART2echo 示例作为参考)超过了应用程序大小限制、那么我建议改用日志驱动程序。 以下 E2E 主题提供了一些有关日志驱动程序工作原理的有用信息: https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1239043/faq-cc2340r5-enabling-debug-logging-on-the-cc23xx-device-family

    此致、

    1月

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

    大家好、Jan、

    感谢链接。 但 我需要在 UART 上显示调试消息。 您能建议更好的实现方法吗?

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

    您好!

    此处的选项似乎有限:

    1:要么必须在持久应用中保存一些闪存大小、

    2 -或者、在调试时必须增加分配给持久性应用程序的闪存大小。 这可以通过修改链接器命令文件来实现。

    我希望这将有所帮助、

    此致、

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

    您好!

    1.如何保存内存? 大多数特性被应用使用。 您能建议 跳过代码的哪一部分吗? 我们需要大约2KB 的内存。  

    2.如果我增加了持久应用程序的闪存大小,如何在 mcuboot 代码中进行相同的更改。 我将在 SDK 的示例文件夹中使用为 mcuboot 提供的十六进制文件。

    有关在 mcuboot 中进行更改、我已参考以下链接。 但我没有找到有关为 mcuboot 编译和创建十六进制文件的信息。

    链接: https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1240632/cc1354p10_6-mcuboot-and-basic_ble_oad_onchip/4690718

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

    您好!

    您可以进行的修改将取决于您的应用程序、但要启动、您可以尝试从应用程序中删除菜单模块以及删除任何未使用的文件。 您还可以尝试从应用程序中完全删除 UART、并删除功能。

    MCUBoot 项目可在 {SDK_INSTALL_DIR}\examples\nortos\lp_EM_CC2340R5\mcuboot 中找到。 您可以修改和编译这些工程、以创建新的 mcuboot hex 文件。

    此致、

    1月

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

    大家好、Jan、
             我已经尝试导入  {SDK_INSTALL_DIR}\examples\nortos\LP_EM_CC2340R5\mcuboot 中的新 MCUBoot 项目。  但在导入项目时收到此错误消息。

    谢谢你。

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

    您好!

    我能够导入 gcc 和 ticlang 编译器版本的项目、如下所示:

    您能否指定您正在使用的 CSS 和 SDK 的版本? 如果它正在编译正确,你应该可以简单地使用 ticlang 版本。

    此致、

    1月

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

    大家好、Jan、

       我正在使用  

         CSS 版本: Code Composer Studio 12.3.0

         SDK 版本: simplelink_lowpower_f3_sdk_7_10_00_35

    谢谢你。

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

    您好!

    明白了。 奇怪的是、您看到了该错误。 您能否检查您安装的编译器版本? 您应该能够在项目属性中查看此内容。

    此致、

    1月

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

    大家好、Jan、

         编译器版本:TI Clang v2.1.3.LTS。

    谢谢你。

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

    您好!

    这很奇怪。 我有相同的编译器、CCS 和 SDK 版本。 不管怎样,你应该可以只使用克朗版本,所以我们应该继续进行这个版本。

    此致、

    1月

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

    大家好、Jan、
       我已经导入了 ticlang 版本项目。 在 flash_map_backend-flash_map_backend.h 中有一个示例地址。

    因此、我已经尝试将配置更改为默认地址、

    #elif defined DeviceFamily_CC23X0R5
     #define BOOTLOADER_BASE_ADDRESS 0x00000000
     #define BOOT_BOOTLOADER_SIZE 0x00006000
    
     #define BOOT_PRIMARY_1_BASE_ADDRESS 0x00006000
     #define BOOT_PRIMARY_1_SIZE 0x0002c000
    
     #define BOOT_SECONDARY_1_BASE_ADDRESS 0x00032000
     #define BOOT_SECONDARY_1_SIZE 0x00048000


    编译了 MCUBoot 并加载了 MCUBoot -0x0、based_persistent -0x6000、based_oad - 0x32000  二进制文件后,它只广播持久应用程序。

    我已经尝试在 mcuboot_config/mcuboot_config.h 中将 MCUBOOT_MAX_IMG_SECTIONS 设置为125、但 OAD 应用程序仍然不广播。

    	/* Default maximum number of flash sectors per image slot; change
     * as desirable. */
     
    #define MCUBOOT_MAX_IMG_SECTORS 250  

    我们需要根据这些存储器地址进行更改、并让我们知道设置 MCUBOOT_MAX_IMG_SECTIONS 的值。

    #elif defined DeviceFamily_CC23X0R5
     #define BOOTLOADER_BASE_ADDRESS      0x00000000
     #define BOOT_BOOTLOADER_SIZE         0x00006000
    
     #define BOOT_PRIMARY_1_BASE_ADDRESS  0x00006000
     #define BOOT_PRIMARY_1_SIZE          0x00030000
    
     #define BOOT_SECONDARY_1_BASE_ADDRESS 0x00036000
     #define BOOT_SECONDARY_1_SIZE         0x00046000

    请告诉我们如何解决此问题、并尽快分享解决方法。 请在此处查看此处提供的其他详细信息。 请联系我们。

    谢谢你。

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

    您好!

    退一步讲、您能说明更改基地址的目的是什么吗? 如果之前提到这一点、我很抱歉、但我希望确保 我完全了解当前的问题是什么。

    此致、

    1月

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

    大家好、Jan、

          在 PERSISTENT 应用中 、需要在 UART 上打印一些消息。 当 实现 UART 驱动程序时、由于存储器问题而超过应用  程序大小限制、因此我们将尝试增加持久应用程序的闪存大小并更改应用程序代码的基址。

         在尝试之前、我已尝试了 SDK 中提供的 basic_persistent 示例代码和 basic_ble_oad 示例代码  、并且我们已将默认地址修改为 MCUBoot ticlang.now 加载了这三个代码、但默认 OAD 示例代码在修改后的 MCUBoot 中不起作用。

    #elif defined DeviceFamily_CC23X0R5
     #define BOOTLOADER_BASE_ADDRESS 0x00000000
     #define BOOT_BOOTLOADER_SIZE 0x00006000
    
     #define BOOT_PRIMARY_1_BASE_ADDRESS 0x00006000
     #define BOOT_PRIMARY_1_SIZE 0x0002c000
    
     #define BOOT_SECONDARY_1_BASE_ADDRESS 0x00032000
     #define BOOT_SECONDARY_1_SIZE 0x0004A000

    这是在  从 SDK 导入的 MCUBoot 文章版本代码中修改的内存地址。

    请 分享在 MCUBoot 条中设置默认内存地址的权变措施。

    谢谢你。

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

    您好!

    明白了。 感谢您的澄清。 我想确保我没有错过原来的问题。 我想我们可以在这里尝试几种方法。 您可以不修改默认地址、而是尝试增加地址大小、看看我们会看到什么行为? 我们还可以尝试从 persistent_app 中删除一些可能不需要的代码。

    此致、

    1月

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

    您好、Jan、

       我曾尝试 用一个示例 MCUBoot 增加 persistent 应用和 based_ble_oad 应用的大小、并加载了这些二进制文件、persistent 应用仅广播。

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

    您好!

    您能否尝试修改栈/堆大小、看看这在 SysConfig 中是否有帮助?

    此致、

    1月