cancel
Showing results for 
Search instead for 
Did you mean: 

.data �?역�?� 2개�?� Memory �?역�? 할당하는 방법

JongOk Baek
Associate III

안녕하십니까?

STM32H743�?� 예로 들 경우,

MEMORY

{

RAM_D1 (xrw) : ORIGIN = 0x24000000, LENGTH = 512K

RAM_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 288K

RAM_D3 (xrw) : ORIGIN = 0x38000000, LENGTH = 64K

}

​와 같�?� �?역�?� 있�?� 때, RAM_D1�?� 공간�?� 부족하여

.data 섹션�? 대해서 RAM_D1과 RAM_D2�? 할당하고 싶습니다.

 .data :

 {

  . = ALIGN(4);

  _sdata = .;    /* create a global symbol at data start */

  *(.data)      /* .data sections */

  *(.data*)     /* .data* sections */

  *(.RamFunc)    /* .RamFunc sections */

  *(.RamFunc*)    /* .RamFunc* sections */

  . = ALIGN(4);

  _edata = .;    /* define a global symbol at data end */

 } >RAM_D1 AT> FLASH

�?� 부분�?� 어떻게 수정해야 하나요?

1 REPLY 1
Sarra.S
ST Employee

Hello @JongOk Baek​ 

There are better chances to solve your issue when writing in English!

To help you, I translated your post :

How to allocate the .data area to two memory areas

Hello?

Taking STM32H743 as an example,

MEMORY

{

RAM_D1 (xrw) : ORIGIN = 0x24000000, LENGTH = 512K

RAM_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 288K

RAM_D3 (xrw) : ORIGIN = 0x38000000, LENGTH = 64K

}

When there is an area as in, RAM_D1 is out of space

For the .data section, I want to allocate to RAM_D1 and RAM_D2.

 .data :

 {

  . = ALIGN(4);

  _sdata = .;    /* create a global symbol at data start */

  *(.data)      /* .data sections */

  *(.data*)     /* .data* sections */

  *(.RamFunc)    /* .RamFunc sections */

  *(.RamFunc*)    /* .RamFunc* sections */

  . = ALIGN(4);

  _edata = .;    /* define a global symbol at data end */

 } >RAM_D1 AT> FLASH

How should I fix this part?

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.