google-coral / edgetpu

Coral issue tracker (and legacy Edge TPU API source)
https://coral.ai
Apache License 2.0
422 stars 124 forks source link

How to load software in the Cortex inside the Coral SoM? Using the microprocessors to control the TPU #573

Open DevelopingElectronics opened 2 years ago

DevelopingElectronics commented 2 years ago

Description

Hi everyone,

I want to develop my own board using Google's Coral SoM. I don't know if I need another device (such as a microprocessor or a full system like Raspberry Pi) to manage the use of the SoM (acting like a supervisor/controller) or if I can load software into the two Cortex that are already included in the System-on-Module board. This second option would be better for me, avoiding me to add another microprocessor to my PCB. If this is possible, how can I programme/load code into this Cortex in the SoC of the SoM?

I have search all over the internet but I can't find any answer. The NXP Community (for the SoC) has not been helpful either.

Thanks a lot!

Click to expand! ### Issue Type Build/Install, Support, Feature Request, Others ### Operating System Mendel Linux ### Coral Device Dev Board, SoM ### Other Devices Raspberry Pi 3 ### Programming Language Other ### Relevant Log Output _No response_
hjonnala commented 2 years ago

Hi, SOM is a complete system itself. It does not require any other microprocessor to control the TPU.

May I please know what are the things you want to control the TPU with microprocessors/using program. I think, you can only control when to turn on/off TPU to reduce the power reduction. Please check this link for details on it: https://github.com/mbrooksx/draft-coral-appnotes/blob/main/PowerSavings.pdf. Thanks!

DevelopingElectronics commented 2 years ago

Hello @hjonnala,

I want to use the two Cortex included in the SoC of the SoM to control a full PCB with all the features available, not just turning on/off the TPU. For example, I will like to programme the Cortex to manage data saving in a SD memory, controlling audio inputs, manage wireless communications, etc. Is this possible? I want to use those microprocessors as the cores of the new board to controll all the processes, not just the SOM with the TPU, that would be only one part. This would be great, avoiding me to include another microprocessor to control the SOM and peripherals.

Thanks for your answer and the application note.