I just got a new discovery board STM32F7508-DK. When I start working on board, I find that keil does not support this discovery board.
Please clarify that am I right ?
And also please help me.
Thanks in advance.
The board is identical to the STM32F746G-DISCO
Pick that, and then shrink the IROM allocation in the Target Dialog. The STM32F750N8 ships as having 64KB of FLASH, the die still has 1MB on it.
For more code, add the QSPI memory at 0x90000000, along with the Flash Algorithm for the external memories.
I tried to add QSPI memory but it shows Flash algorithm error.
Can you tell me how I define flash algorithm for the external memories?
An error writing or an error loading?
Make sure you specify enough RAM for the thing to load into memory.
Make sure you've selected an algorithm for the memory region in question, Debugger Settings -> Flash Download -> Add
Now my code is compile and flash load successfully.
But F7508-DK board is not showing anything on display.
Previously, board's LCD showing graphics perfectly but when I add a new screen
to the graphics then keil showing ''no space in execution'' error. After that, adding 16M external
flash spi as you suggest, my code compile and flash successfully.
Am I missing something or I have to initialize any port ?
The BSP code should bring up the QSPI memory. Other BSP components can bring up the screen via SDRAM and LTDC.
I would perhaps start with the CubeF7 examples tailored for the board.
You'll have to debug to understand what specifically is happening, or not getting set properly.
The code is flash properly to the board in QSPI flash address which is starting from 0x90000000, but the display not showing that code.
If something is present in internal flash that time, board showing that code not QSPI code. If internal flash has nothing then board not showing anything.
Also, I am choosing external flash as a startup but its not working. Scatter file which is generated by keil also shows external flash is selection at the time of boot.
QSPI initialization also has memory set at 0x90000000 and add "stm32746g_discovery_qspi.h" file.
Data in the QSPI won't be visible in Keil until the underlying interface is configured. If the startup and scatter loader needs access to the QSPI memory you need to ensure the bus is brought up in SystemInit() which is called before the scatter loader unpacks the statics to RAM.
You can create a debugger script to bring up the QSPI independently, but it is quite an undertaking.
Can you provide details description on it?
I could not find solution.
You need code to bring up the external interface, this code would need to be in the Internal Flash as the processor has no idea what you've interfaced externally.
The processor is going to boot from Internal Flash you need to construct the scatter file in such a way that the critical code, and vector table gets placed at 0x08000000. This critical code would include all the routines to configure the pins, and clocks, and bring up the QSPI interface. Once the interface is up you can start using functions placed within the QSPI memory space.
I'm not looking to do free work on the project, you'll need to start by understanding how all the parts come together, and the order in which that needs to occur.
View all questions in Keil forum