在stm32h743上移植STemWin图形库无操作系统 5.32版本,根据官方资料,添加了lcd驱动接口函数,修改了屏幕长度和宽度 ,设置了分配的内存大小GUI_NUMByte的值,使能crc时钟...等相关步骤后,主函数调用GUI_Init()时程序卡死,且进入硬件错误中断hardfalut_handler()中。
大多数类似的问题都是在说因为GUI分配的空间过大,把#define GUI_NUMByte (...x1024)这个宏定义改小,或者把堆栈改大一点。总之大多数都是内存方面的问题,我试着把GUI_NUMByte从最小(10x1024)改到可以编译成功的最大值(500x1024)都不行,堆栈大小也改过,改大改小都改过,还是不行。
更奇怪的是官方手册中说GUI_Init()函数是先后调用的GUI_X_Config();LCD_X_Config();
LCD_X_DisplayDriver()三个函数,我将这三个函数的函数体内容全部屏蔽,使其变成三个空函数,再调用GUI_Init(),居然同样的还是会卡死进入硬件错误中断。而另外单独调用上面三个函数却不会卡死。
crc也使能了,开启了crc时钟。
LCD屏幕驱动的接口函数都是测试过没问题。
现在就不知道怎么回事了,困扰三天了。
debug啊,单步执行,看执行那一步后进入hard default