我正在研究 MCB2300(带有 LPC2378 处理器)并使用 keil uVision4。在我的程序中,我正在使用 malloc() 函数创建动态内存。由于所有动态内容都将存储在堆中,因此我需要确保分配所需的堆大小。我的启动文件 (LPC2300.s) 中堆的默认值为0x00000800。在我的应用程序中,我正在读取图像(bmp 格式)并将像素值存储到矩阵中,并且该矩阵是根据输入图像的大小动态创建的。我可以在启动文件中设置的最大堆值是0x000072FF。对于这个堆值,我能够成功读取 44 x 33 的图像。超出此大小的内存不会被分配。我需要读取尺寸至少为 100 x 100 的图像。我的可用 RAM 为32K
这些是我编译代码后的输出值
程序大小: Code=30664 RO-data=1220 RW-data=132 ZI-data=37628
如何提供额外的堆?
是否可以将堆内存存储在为 LPC2378 提供的 SD/MMC 卡或外部存储器上。请帮我解决这个问题