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.

[参考译文] cc1310:TI-RTOS与No-RTOS代码大小对比

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/629462/cc1310-ti-rtos-vs-no-rtos-code-size

部件号:CC1310

您好,

我尝试了带有TI-RTOS的cc1310,WOR-RX的代码大小为23KB,我尝试了无RTOS示例以减少代码大小,代码大小为24Kb。

如果没有TI-RTOS,代码将比TI-RTOS更大,这是怎么可能的?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    TI-RTOS的部分内核位于CC1310的ROM中。 在ROM中运行非RTOS非所需代码,因此必须将其置于闪存中。

    TI-RTOS所需的总空间大于非TIRTOS所需的总空间,但由于TI-RTOS在ROM中具有功能,TI-RTOS所需的闪存空间小于非RTOS所需的闪存空间。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢,TER,
    如果我要使用FreeRTOS或contiki,可以使用ROM驱动程序还是将OS放在那里?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    ROM内容是TI-RTOS内核函数。

    不知道您在写"将操作系统置于此处"时所指的是什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢,TER,
    很抱歉,让我再次重新表达我的问题,
    如果我想使用其他操作系统,如FreeRTOS或Contiki,是否可以使用ROM?
    我是否可以使用ROM在那里放置一些代码?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    根据定义,ROM是只读的,这意味着您不能在此处放置任何内容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    我想知道是否可以通过更改CCFC.c文件中的某些配置来缩小TI-RTOS的代码大小?
    因为我们要使用CC1310构建一个UART<->类似射频的应用程序和一些其他功能。
    我们发现rfEasyLinkNp示例具有UART+RF功能,所以我们尝试尝试一下。
    但是当我们构建rfEasyLinkNp时,我们发现它的大小似乎太大:
    它显示:
    3.9629万字节只读代码存储器
    1.5523万字节的只读数据存储器
    9086字节读写数据存储器

    是什么让尺寸如此之大? 想想,对于其他非RTOS来说,一个10公里以上的大方案就足够了。
    我们还需要读取/写入用于保存/读取字段参数的闪存,因此我们测试NVS示例,它提供以下输出:
    2.4255万字节只读代码存储器
    3000字节的只读数据存储器
    4461字节读写数据存储器

    这两个数字让我们绝望,因为我们希望目标应用程序适合64k CC1310芯片。 (我们需要保留大约8K字节的闪存区域,以便使用进行其他用途。)

    当我们浏览生成的地图文件时,我们发现生成了许多大的函数,但认为在目标项目中不需要使用。
    所以我的问题是:如何从库中删除这些函数? 如NVS示例中所示(.map输出)
    drivers_cc13x0.arm3:[9]
    NVSCC26XX.orm3 912人
    SPICC26XXDMA.orm3, 1513
    SPI.orm3 172
    SPICC26XXDMA.orm3 2236
    认为这些是用于SPI闪存功能的,但我们只想对内部闪存进行编程,那么如何将其从内置中删除?
    如果可以,请考虑一下,这将有助于在客户应用程序中节省大量内存。

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

    Shaowei:CC1310-LAUNCHLL.c文件

    具有以下部分:

    /*
    =================================== NVS ===========================
    */
    #include <ti/drivers/NVS.h>
    #include <ti/drivers/NVS/NVSSPI25X.h>
    #include <ti/drivers/NVS/NVSCC26XX.h> 

    如果示例不使用SPI或NVS驱动程序,请注释掉此部分。 这些示例是通用的,即它们的主要重点是显示如何使用芯片上的一个或多个功能,但不优化所有参数的代码