Red de conocimiento informático - Problemas con los teléfonos móviles - stm32 Cómo obtener el tamaño del montón y la pila +ucos iii

stm32 Cómo obtener el tamaño del montón y la pila +ucos iii

Plataforma: stm32f103zet6

Memoria flash: 512K incorporada (gran capacidad)

Disco flash: 64K incorporado + 512K externo

Archivo de inicio: startup_stm32f10x_hd. c

Secuencia de comandos de enlace: stm32f10x_flash_ extsram.ld

1. Puede ejecutarse normalmente antes de usar ucos iii.

2 No puede ejecutarse normalmente después de usar ucos iii.

ucos iii se puede ejecutar correctamente en KEIL UV4. Inicialmente sospeché que había un problema con la asignación del montón y la pila (porque en ucos iii, debes usar malloc para asignar memoria dinámicamente). Sospeché que hay problemas con la asignación del montón y la pila (porque en ucos iii tienes que usar malloc para asignar memoria dinámicamente), así que creo que usar ucos iii es una buena idea. Memoria asignada dinámicamente), por lo que quiero saber cómo stm32 obtiene la información del montón y la pila, y cómo hacerle saber el tamaño del montón, la pila y el espacio de direcciones.

Suplemento: la dirección más alta de la pila se puede conocer en la siguiente parte del archivo de inicio, es decir, después de que se inicia stm32, primero extraerá la dirección más alta de la pila y el vector de reinicio de El comienzo de la memoria flash, entonces, ¿cómo sabe el montón? No sé cómo maneja esto el IDE y quiero aprovechar al máximo la SRAM externa de 512 K incorporada de 64 K+. No sé cómo hacer esto, gracias

void (* const g_pfnVectors[])(void) =

{

(void *)Initial_spTop, /* Puntero de pila inicial*/

Reset_Handler, /* Controlador de reinicio*/

NMI_Handler, /* Controlador NMI*/

HardFault_Handler, /* Controlador de fallas graves*/

}