cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H747I-DISCO kit Memory Extension and Image processing model loading

BPraj.1
Associate II

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:

  1. We want to load two/three distinct TFLITE Models and create a data pipeline between them to process the entire flow. But the examples we saw so far depicts that only one model can be running at a time. We are trying different approach if we can combine the models to one, but are we heading in the right direction or we can run multiple models as I said? please shed some light on this.
  2. The Flash and RAM (2 MBs and 1 MB respectively) provided on board are not sufficient for our requirements. So is there any way we can interface external RAM and Flash memory? I read though that the controller provides a provision of AXI interface using which we can add some more memory to it. But this seems pretty advanced and new topic to us, can you please point to some resources or sample applications for AXI interface? It would be really great if you can suggest us some external memory (SDRAM and Flash) modules if you already know any which has been tested with this controller. I see that the AXI supports upto 64-bits of bus width for external memory (if I am not wrong) then what is the maximum suggested size of external memory that can be interfaced with the kit?
  3. Also we want to switch to a different wide angle camera module OV2640 instead of OV9655 which comes with the STM32F4DIS-CAM module, what are the steps we need to follow in order to do that?
  4. If you can point us to any example code or documentation that relates to our use case, that would be a great help.

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.

4 REPLIES 4

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.

S​ee also board used for OPENMV CAM H7 PLUS

https://openmv.io/products/openmv-cam-h7-plus

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

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.

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.

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

Thanks for your reply and references, I will take a look into it.

Regards,

Bhupendra P.