我正在使用 Keil 的 ARM-MDK 4.11。我有一个静态分配的内存块,仅在启动时使用。它在调度程序初始化之前使用,并且由于 RL-RTX 控制堆管理的方式,不能动态分配(否则调度程序启动后的后续分配会导致硬故障)。
我想在调度程序初始化后将此静态块作为空闲块添加到系统堆中。似乎__Heap_ProvideMemory()可能会提供答案,这在初始化期间被调用以创建初始堆。但是,这需要了解堆描述符地址,并且我找不到任何记录的方法来获取它。
有任何想法吗?
我已经为此向 ARM/Keil 提出了支持请求,但他们更感兴趣的是质疑我为什么要这样做,并提供替代解决方案。我很清楚替代方案,但在这种情况下,如果可以做到这一点,那将是最干净的解决方案。