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/MSP430FR5969:获取自定义内存段的起始地址和大小

Guru**** 2577385 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/639382/ccs-msp430fr5969-get-start-address-and-size-of-custom-memory-section

部件号:MSP430FR5969

工具/软件:Code Composer Studio

您好,

是否可以获取自定义内存段的起始地址和大小(或结束地址)?

例如,我在自定义区域".myarea"中定义一些变量

#pragma data_section(my_var,"myarea")

volatile unsigned char my_var[10]; 

然后将此区域放在链接程序文件中的FRAM中:

myarea:type = NOINIT {}> FRAM 

请注意,我不想在链接程序文件中定义具有固定大小的预定义区域。 我希望这一地区被纳入FRAM并有机地成长。

是否可以读取我的应用程序代码中".myarea"的起始地址和大小来执行类似memcpy的操作?

此致,

Luis R

 

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

    我发现以下功能可以发挥作用:

    myarea:run_start(MYAREA_START),run_size (MYAREA_SIZE),type = NOINIT {}> FRAM 

    和代码:

    uINT8_t *ptr;
    uint16_t i;
    
    extern uint16_t MYAREA_START,MYAREA_SIZE;
    
    PTR =(uint8_t *)_symval(&MYAREA_start);
    用于(i=0;I <_symval(&MYAREA_SIZE);i+){
    
    } 

    此信息 可在此处找到

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

    MSP430汇编工具手册中介绍了run_start运算符。  正确使用链接器命令文件中创建的符号在标题为在C/C++应用程序中使用链接器符号一节中进行了讨论

    谢谢,此致,

    -George