ОЗУ, куча и память стека для платы STM32C++

Программы на C++. Форум разработчиков
Anonymous
ОЗУ, куча и память стека для платы STM32

Сообщение Anonymous »

Я работаю над проектом, который требует не менее 500 КБ памяти. У меня есть SDK с этим кодом, определяющим стек и кучу, и он работает нормально.Stack_Size EQU 0x00004000

AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
__initial_sp

; Heap Configuration
; Heap Size (in Bytes)
;

Heap_Size EQU 0x00200000

AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem SPACE Heap_Size
__heap_limit
< /code>
Тем не менее, я пытаюсь интегрировать камеру и функцию ЖК -экрана в этот SDK, и когда я это сделаю, самые высокие значения стека и кучи, которые, по крайней мере, будут подняться на ЖК -экран, показаны ниже. Любые значения выше этого, и ЖК-экран остается черным, а приложение не работает.Stack_Size EQU 0x00004000

AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
__initial_sp

; Heap Configuration
; Heap Size (in Bytes)
;

Heap_Size EQU 0x00002B50

AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem SPACE Heap_Size
__heap_limit
< /code>
Мне нужны размеры стека и куча во втором примере кода, чтобы соответствовать размерам в первом примере кода, чтобы я не застрял в цикле исключения с жесткой ошибкой из -за отсутствия памяти. Почему увеличение размера кучи усугубляет мой проект? Значит, почему это даже не работает, когда я увеличивает размер кучи? это объем памяти, который у меня есть. Разве это не означает, что у меня есть 2 МБ оперативной памяти? чтобы BLE & BHE SRAM, соответственно.

Подробнее здесь: https://stackoverflow.com/questions/249 ... tm32-board

Вернуться в «C++»