How to create two initialized data sections

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

How to create two initialized data sections

961 次查看
a8Chcx
Contributor V

Hi,

I am using MCUXpresso V11.5.0 for my FRDM-K66. I have a question:

Here is the part of link file:

.data : AT(__DATA_ROM)
{
. = ALIGN(4);
__DATA_RAM = .;
__data_start__ = .; /* create a global symbol at data start */
*(.data) /* .data sections */
*(.data*) /* .data* sections */
KEEP(*(.jcr*))
. = ALIGN(4);
__data_end__ = .; /* define a global symbol at data end */
} > m_data1

/* Symbol is used by startup for data initialization */
__DATA_END = __DATA_ROM + (__data_end__ - __data_start__) ;

/* Uninitialized data section */
.bss :
{
/* This is used by the startup in order to initialize the .bss section */
. = ALIGN(4);
__START_BSS = .;
__bss_start__ = .;
*(.bss)
*(.bss*)
*(COMMON)
. = ALIGN(4);
__bss_end__ = .;
__END_BSS = .;
/* } > m_data1*/
} > m_data2

 

It will put the initialized data into m_data1 SRAM(64K) and works fine...

I want to put some initialized data into m_data2 SRAM(192K)...

I tried several ways and got failed...

Can anybody help me to define two initialized data sections for my project?

Thanks,

Christie

0 项奖励
回复
1 回复

929 次查看
Omar_Anguiano
NXP TechSupport
NXP TechSupport

To place some initialized data into m_data2, you need to:
-Create a new section in your linker script for the initialized data that should go into m_data2.
-Use a section attribute in your source code to place specific variables into that section.

Best regards,
Omar

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2135002%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E4%B8%A4%E4%B8%AA%E5%88%9D%E5%A7%8B%E5%8C%96%E6%95%B0%E6%8D%AE%E9%83%A8%E5%88%86%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2135002%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FP%3E%3CP%3E%E6%88%91%E7%9A%84%20FRDM-K66%20%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20MCUXpresso%20V11.5.0%E3%80%82%E6%88%91%E6%9C%89%E4%B8%80%E4%B8%AA%E9%97%AE%E9%A2%98%EF%BC%9A%3C%2FP%3E%3CP%3E%E4%BB%A5%E4%B8%8B%E6%98%AF%E9%93%BE%E6%8E%A5%E6%96%87%E4%BB%B6%E7%9A%84%E9%83%A8%E5%88%86%E5%86%85%E5%AE%B9%EF%BC%9A%3C%2FP%3E%3CP%3E.data%20%EF%BC%9Aat(__data_rom)%3CBR%20%2F%3E%7B%3CBR%20%2F%3E.%3D%20align(4)%3B%3CBR%20%2F%3E__data_ram%20%3D%20%EF%BC%9B%3CBR%20%2F%3E__data_start__%20%3D%20.%3B%20%2F*%20create%20a%20global%20symbol%20at%20data%20start%20*%2F%3CBR%20%2F%3E*(.data)%20%2F*%20.data%20sections%20*%2F%3CBR%20%2F%3E*(.data*)%20%2F*%20.data*%20sections%20*%2F%3CBR%20%2F%3EKEEP(*(.jcr*))%3CBR%20%2F%3E.%20%3D%20ALIGN(4)%3B%3CBR%20%2F%3E__data_end__%20%3D%20..%EF%BC%9B%2F*%20%E5%9C%A8%E6%95%B0%E6%8D%AE%E6%9C%AB%E7%AB%AF%E5%AE%9A%E4%B9%89%E5%85%A8%E5%B1%80%E7%AC%A6%E5%8F%B7%20*%2F%3CBR%20%2F%3E%7D%26gt%3B%20m_data1%3C%2FP%3E%3CP%3E%2F*%20%E5%90%AF%E5%8A%A8%E6%97%B6%E4%BD%BF%E7%94%A8%E7%AC%A6%E5%8F%B7%E8%BF%9B%E8%A1%8C%E6%95%B0%E6%8D%AE%E5%88%9D%E5%A7%8B%E5%8C%96%20*%2F%3CBR%20%2F%3E__DATA_END%20%3D%20__DATA_ROM%20%2B%20(__data_end__%20-%20__data_start__)%20%EF%BC%9B%3C%2FP%3E%3CP%3E%2F*%20%E6%9C%AA%E5%88%9D%E5%A7%8B%E5%8C%96%E7%9A%84%E6%95%B0%E6%8D%AE%E9%83%A8%E5%88%86%20*%2F%3CBR%20%2F%3E.bss%3A%3CBR%20%2F%3E%7B%3CBR%20%2F%3E%2F*%20%E5%90%AF%E5%8A%A8%E6%97%B6%E4%BC%9A%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E5%88%9D%E5%A7%8B%E5%8C%96%20.bss%E8%8A%82%20*%2F%3CBR%20%2F%3E.%3D%20align(4)%3B%3CBR%20%2F%3E__start_bss%20%3D%20%EF%BC%9B%3CBR%20%2F%3E__bss_start__%20%3D%20.%3B%3CBR%20%2F%3E*(.bss)%3CBR%20%2F%3E*(.bss*)%3CBR%20%2F%3E*(COMMON)%3CBR%20%2F%3E.%20%3D%20ALIGN(4)%3B%3CBR%20%2F%3E__bss_end__%20%3D%20.%3B%3CBR%20%2F%3E__END_BSS%20%3D%20..%EF%BC%9B%3CBR%20%2F%3E%2F*%20%7D%26gt%3B%20m_data1*%2F%3CBR%20%2F%3E%7D%26gt%3B%20m_data2%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E5%AE%83%E5%B0%86%E6%8A%8A%E5%88%9D%E5%A7%8B%E5%8C%96%E6%95%B0%E6%8D%AE%E6%94%BE%E5%85%A5%20m_data1%20SRAM%EF%BC%8864K%EF%BC%89%EF%BC%8C%E5%B9%B6%E4%B8%94%E5%B7%A5%E4%BD%9C%E6%AD%A3%E5%B8%B8...%3C%2FP%3E%3CP%3E%E6%88%91%E6%83%B3%E5%B0%86%E4%B8%80%E4%BA%9B%E5%88%9D%E5%A7%8B%E5%8C%96%E6%95%B0%E6%8D%AE%E5%AD%98%E5%85%A5%20m_data2%20SRAM%EF%BC%88192K%EF%BC%89...%3C%2FP%3E%3CP%3E%E6%88%91%E5%B0%9D%E8%AF%95%E4%BA%86%E5%87%A0%E7%A7%8D%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%86%E9%83%BD%E5%A4%B1%E8%B4%A5%E4%BA%86...%3C%2FP%3E%3CP%3E%E8%B0%81%E8%83%BD%E5%B8%AE%E6%88%91%E4%B8%BA%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E4%B8%A4%E4%B8%AA%E5%88%9D%E5%A7%8B%E5%8C%96%E6%95%B0%E6%8D%AE%E9%83%A8%E5%88%86%EF%BC%9F%3C%2FP%3E%3CP%3E%E8%B0%A2%E8%B0%A2%EF%BC%81%3C%2FP%3E%3CP%3E%E5%85%8B%E9%87%8C%E6%96%AF%E8%92%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2136762%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20How%20to%20create%20two%20initialized%20data%20sections%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2136762%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E8%A6%81%E5%B0%86%E4%B8%80%E4%BA%9B%E5%88%9D%E5%A7%8B%E5%8C%96%E6%95%B0%E6%8D%AE%E6%94%BE%E5%85%A5%20m_data2%EF%BC%8C%E6%82%A8%E9%9C%80%E8%A6%81%EF%BC%9A%3CBR%20%2F%3E-%E5%9C%A8%E9%93%BE%E6%8E%A5%E5%99%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%B8%BA%E5%BA%94%E6%94%BE%E5%85%A5%20m_data2%20%E7%9A%84%E5%88%9D%E5%A7%8B%E5%8C%96%E6%95%B0%E6%8D%AE%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%83%A8%E5%88%86%E3%80%82%3CBR%20%2F%3E-%E5%9C%A8%E6%BA%90%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%AB%A0%E8%8A%82%E5%B1%9E%E6%80%A7%EF%BC%8C%E5%B0%86%E7%89%B9%E5%AE%9A%E5%8F%98%E9%87%8F%E6%94%BE%E5%85%A5%E8%AF%A5%E7%AB%A0%E8%8A%82%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%87%B4%E4%BB%A5%E6%9C%80%E5%B4%87%E9%AB%98%E7%9A%84%E6%95%AC%E6%84%8F%EF%BC%8C%3CBR%20%2F%3EOmar%3C%2FP%3E%3C%2FLINGO-BODY%3E