реклама на сайте
подробности

 
 
> STM32F407 CCM RAM STACK HEAP
bolmoe
сообщение May 24 2017, 10:16
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 121
Регистрация: 5-04-06
Из: Рязань
Пользователь №: 15 830



Попытался разместить стек и кучу в ССМ памяти. Делал все через скаттер файл.
В отладке вижу, что стек лег по нужному адресу.
А вот с heap проблемы. Первый же вызов malloc() и программа сваливается в HardFault_Handler().
Попробовал heap вернуть по адресу внутренней RAM 0х20000000 - все ОК.
Кто нибудь сталкивался с этим...?

Скаттер файл:

Код
LR_IROM1 0x08000000 0x00080000  {   ; load region size_region
  
  ER_IROM1 0x08000000 0x00080000  { ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
  RW_IRAM1 0x20000000 0x00020000  { ; RW data
   .ANY (+RW +ZI)
  }
  ARM_LIB_STACK 0x10003000 EMPTY -0x800{
  }
  ARM_LIB_HEAP 0x1000000 EMPTY 0x0800 {; Heap region growing up
  }
}


Программа:

Код
int main(void)
{

uint8_t    *ptr;
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();

[size=3]ptr=malloc(10);[/size]

*(ptr++)=125;
.....
while(1);
}


Сообщение отредактировал IgorKossak - May 24 2017, 18:44
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 13th August 2025 - 15:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.0137 секунд с 7
ELECTRONIX ©2004-2016