STM32
直播中

南中南

8年用户 906经验值
擅长:光电显示
私信 关注
[问答]

STM32H743iit6正点驱动LTDC和TFTLDC内存冲突怎么解决?

H743iit6_002H743iit6_002.axf: Error: L6971E: freertos.o(.data) type RW incompatible with ltdc_1.o(.ARM.__AT_0xC0000000) type ZI in er RW_RAM1.
tftlcd.c

ltdc.c




回帖(1)

李猛

2024-5-23 17:09:57
这个问题是由于在STM32H743IIT6上使用正点原子的LTDC驱动时,FreeRTOS的RW数据段与LTDC的ZI数据段在内存中发生冲突。为了解决这个问题,我们可以尝试以下步骤:

1. 分析问题:从错误信息来看,FreeRTOS的RW数据段与LTDC的ZI数据段都试图使用0xC0000000地址。这导致内存冲突。

2. 检查配置:检查STM32CubeMX或正点原子的配置文件,确保LTDC和FreeRTOS的内存分配没有重叠。如果有必要,可以手动调整内存分配。

3. 修改FreeRTOS配置:在FreeRTOS的配置文件(如FreeRTOSConfig.h)中,查找与内存分配相关的宏定义,如`configTOTAL_HEAP_SIZE`。尝试增加堆大小或修改堆的起始地址,以避免与LTDC的内存冲突。

4. 修改LTDC配置:在LTDC驱动的配置文件中,查找与内存分配相关的宏定义,如`LTDC_1_BASE_ADDRESS`。尝试修改LTDC的基地址,以避免与FreeRTOS的内存冲突。

5. 重新编译:在修改配置后,重新编译项目,检查是否解决了内存冲突问题。

6. 测试:在硬件上运行修改后的程序,确保LTDC和FreeRTOS都能正常工作,且没有内存冲突。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分