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.

[参考译文] CC2640R2F:CC2640R2F 缓存为 GPRAM 错误

Guru**** 2595160 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/608419/cc2640r2f-cc2640r2f-cache-as-gpram-error

器件型号:CC2640R2F

您好!

我尝试遵循将高速缓存转换为 GPRAM 的指南;

software-dl.ti.com/.../platform.html

但是,下面出现错误消息;

"ERROR[Lp011]:段放置失败

            无法在[0x11000000-0x11001fa0]>(总未提交空间0x1fa1)中为估计总最小大小为0x1f20字节(最大对齐0x8)的段/块分配空间。"

 

我是否可以知道编译中可能出现了什么错误?

 

谢谢、

Christina

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

    您使用的是哪种 IDE? (CCS 或 IAR?) 您正在处理哪个项目?

    听起来 BSS 段太大(0x1f20=8108字节、而 GPRAM 只有8KB)。 您可以尝试将一些对象从 BSS 移回 SRAM。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Marie、

    我正在使用 IAR、项目是 HID_ADV_Remote。

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

    您好、Christina、

    为了不将整个 BSS 放入 GPRAM、您应该放置单个对象。

    if (isdefinesymbol (cache_as _RAM))
    
    {
    
    // GPRAM
    
    定义块 GPDATA{.data 对象 simple_peripheral.o、
    
    段.data 对象 devinfoservice.o、
    
    段.data 对象 simple_gatt_profile、
    
    段.data 对象 iCall.o、
    
    SECTION .data object board.o};
    
    放置在 cache_as RAM 中{阻止 GPDATA};
    
    } 

    您应该查看映射文件以确定各个对象的大小。