cancel
Showing results for 
Search instead for 
Did you mean: 

How to use a custom board ?

MMerc.1
Senior

Hi,

I have already used the STM32F746G-DISCO board in order to check different functionalities :

  • Custom screen (7.0" TFT LCD 800x480) with capacitive touch
  • TouchGFX
  • QSPI
  • I2C / Serial
  • ... Its works fine !

Currently, I want to use a custom board provided by the supplier based on the following MCU : STM32F746BGTx.

He assured me that the operation is the same as the processor of the demoboard.

I added different features but I have a problem...

  • Custom screen (7.0" TFT LCD 800x480) with capacitive touch : colors and touchscreen is not ok
  • QSPI : error when starting debugging
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 4]
Erasing memory corresponding to segment 1:
Erasing external memory sectors [0 1]
Download in Progress:
 
File download complete
Time elapsed during download operation: 00:00:50.605
 
Verifying ...
 
Error: Data mismatch found at address 0x90000000 (byte = 0x99 instead of 0x00)
 
Error: Download verification failed
  • I2C / Serial is working
  • GPIOs : some GPIOs don't work if I have the MX_TouchGFX_Init(); line. If I remove this line, all GPIOs working fine.

Do you have any idea about my problems ?

This is my first implementation on a custom board...

Best regards

9 REPLIES 9

For QSPI you'd want to start by building and testing a BSP implementation taking into account the part and pin specifics of the new board. Could be clocking issue if those have changed.

With an understanding of the QSPI issue you'd need to build an external loader the debugger can use to download content.​

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Hi clive1,

Thanks for your answer.

  • Where can I find the BSP you're talking about ?
  • How can I use this BSP with the custom board ?

For the external loader, I added this in "Debug configurations" : N25Q128A_STM32F746G-DISCO, 0x90000000, NOR_FLASH, N25Q128A_STM32F746G-DISCO.stldr. But it doesn't work...

Alexandre RENOUX
Principal

Hello,

Your board is a custom board. As your supplier said, the configuration for the MCU in itself should the same (more or less). However, the rest is yours to implement depending on the characteristics of your board.

BSP files refers to drivers for the board and these files cannot be provided by ST but by the provider of the board.

To understand how to use these BSP files you can refer to Application template version 1.x.0 available on TouchGFX Designer. They use BSP files from disco or eval boards. But again, the implementation is yours to do.

/Alexandre

For a custom board *you* get to own the task of writing and testing the BSP (Board Support Package) and doing initial board bring-up where you test and validate the board design.

ST has examples for their own board

STM32Cube_FW_F7_V1.14.0\Drivers\BSP\STM32746G-Discovery\stm32746g_discovery_qspi.c

You'd want to start with a list enumerating all the pin and component level differences between the designs.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
MMerc.1
Senior

Hi,

Thank you for your help.

I understand that I have to implement QSPI in our project.

we use the following QSPI : S25FL127S

Do you think it uses the same memory mapping ?

How can I implement this ?

HP
Senior III

Be aware that your custom board might not have the same pinout for all functions as the Disc0 board does. QSPI and LTDC (and most likely quite a few more) peripherals have multiple pin options depending on which other peripherals you have activated. the QSPI issue could be that the .stldr simply don't match the physical implementation

your screen issues could be the same - some color pins could have been swapped. the touchscreen might use a different driver and you would need to re-write the existing or write a new one from scratch

Hi,

About the QSPI, the supplier told me that the memory mapping of the S25FL127S is the same as the disco board.

So I used the stm32746g_discovery_qspi.h/.c files and I replaced definition for QSPI pins according to our QSPI pins. I also used the n25q128a.h file.

How can I use an external loader to store images on QSPI for custom board ?

The mapping will be at 0x90000000, but the Cypress part may have subtle differences in functionality.

You'd need to create a loader that matches your pin and part choices.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

How can I write and read images on QSPI ?