2021-04-05 04:26 AM
Hey There!
We have recently procured a STM32H747I-DISCO kit along with the STM32F4DIS-CAM camera module and are working on deploying our tensorflow lite based image processing model(s) on it. We could run a few example models e.g. person detection model fine. But when we try loading our custom models(s) on it, we are facing following issues and are not much clear about how to resolve them:
I am sorry if my questions seems obvious, but we have just started with the kit and running on strict timelines to complete our POC with it. So please help/suggest us with the above questions with your expertise.
Thanks in advance!
Best Regards,
Bhupendra P.
2021-04-05 05:21 AM
Doesn't the H747I DISCO have SDRAM and QSPI NOR Flash?
Data bus width on the SDRAM is 16 bit as I recall to keep pin utilization down. The H7 should be able to use 32-bit wide memories to 256MB.
You could build a board using QSPI NAND or eMMC for larger block based storage.
See also board used for OPENMV CAM H7 PLUS
https://openmv.io/products/openmv-cam-h7-plus
2021-04-05 07:34 AM
Hi @Community member
Thanks for your reply!
Yeah Sorry my bad, I checked the user manual, the kit has the SDRAM (256 MB) and Flash (2 * 512 MB). Thanks for pointing it out. can you please point me to some example codes how to enable external memory and use them to load models and firmware.
So my question number 2 is answered, Please tell me more about remaining questions as well. Also thanks for referring to the other OpenMV board, we have gone through the specifications, somehow it is not meeting our requirements.
Thanks again,
Best Regards,
Bhupendra P.
2021-04-05 07:46 AM
I'm really not looking to get too deeply involved in your work tasks.
STM32Cube_FW_H7_V1.5.0\Drivers\BSP\STM32H747I-Discovery\stm32h747i_discovery_qspi.c
STM32Cube_FW_H7_V1.5.0\Drivers\BSP\STM32H747I-Discovery\stm32h747i_discovery_sdram.c
Depending on your tool chain choices you'd need to use scatter files or linker scripts to direct aspects of the built code into different memory regions. You'd need to ensure those memory regions (pins,peripherals,clocks, etc) are properly initialized before your startup code unpacks content into RAM, or tries to address those memories.
2021-04-05 08:28 AM
Thanks for your reply and references, I will take a look into it.
Regards,
Bhupendra P.