HELP pleeeese!
I have a board with an STM32f429IGT loosely copied from the STM32F29ZIT Discovery board.
If I compile the Keil STM32F429-Disco Emwin example (after changing display pins to suit) and then change the Device to the IGT version in Target set up, all works well.
If however I compile the project with the device set as an IGT, I get an SPI error (which I can mend) followed by a lock up in Gui_Init();
This does not change if I then go back to the ZIT version and recompile.
It appears, providing I only compile with the ZIT device set, followed by device change, it is fine. Problem is that if I forget, I have to start again.
The only difference that I am aware of between the 2 devices is the program E2 memory (1M v 2M)and I do not believe that this program takes anywhere near 1 M
Any clues please!
"lock up in Gui_Init()"
Consider where specifically it is locking up, and the code executed immediately prior, stop in the debugger and scroll backward in a disassembly view.
Checking for CRC peripheral? Checking read/write to RAM? Stuck in the Hard Fault Handler?
Many thanks for your reply.
It appears to apparently go through the tasks of writing to changing background colour etc (without any effect on the screen)but locks up on the first GUI_DispString command.
But why would it work when compiled with the ZIT version but fail when changing device to the IGT version?
I don't know, suggest you diff the metadata within the project files and see if it changes any of the options, addresses, debugger settings, etc.
I guess the clue was in the 2 different system_stm32f4xx.c files. Initially, I only looked at the version number of both (2.6.0) believing the contents would be the same. The ZIT version is adapted for the STM32F429 Discovery board (but has same version number!) Have not quite grasped the differences around the FMC yet but I have a little more confidence to carry on now.
Many thanks for your help.