Microchip SAMA7G54

The SAMA7G54 is a high-performance, Arm Cortex-A7 CPU-based embedded microprocessor (MPU) running up to 1 GHz. It supports multiple memories such as 16-bit DDR2, DDR3, DDR3L, LPDDR2, LPDDR3 with flexible boot options from octal/quad SPI, SD/eMMC as well as 8-bit SLC/MLC NAND Flash.

The SAMA7G54 integrates complete imaging and audio subsystems with 12-bit parallel and/or MIPI-CSI2 camera interfaces supporting up to 8 Mpixels and 720p @ 60 fps, up to four I2S, one SPDIF transmitter and receiver and a 4-stereo channel audio sample rate converter.

The device also features a large number of connectivity options including Dual Ethernet (one Gigabit Ethernet and one 10/100 Ethernet), six CAN-FD and three high-speed USB. Advanced security functions like secure boot, secure key storage, high-performance crypto accelerators for AES, SHA, RSA and ECC are also supported.

Microchip provides an optimized power management solution for the SAMA7G54. The MCP16502 has been fully tested and optimized to provide the best power vs. performance for the SAMA7G54.

1. Installing dependencies

Hardware Setup

Set these jumpers to the default settings:

Provide power to the board as described in the Microchip documentation.

Software Setup

  1. Use the pre-built image - This has edge-impulse-linux preinstalled

OR

  1. Use Docker & Buildroot to build your own custom image by following the Readme instructions in this repository.

Use BalenaEtcher to flash the .img file to an SD card.

The Microchip Developer Help portal has documentation for serial communications to the SAMA7G54-EK. Once your serial terminal is connected make sure the device has power and press the nStart button, you should see messages appearing over the serial console.

Login with root user and edgeimpulse password.

If you would like to use SSH to connect to the board, some additional steps are necessary:

  1. cd /etc/ssh/

  2. nano sshd_config

  3. Uncomment and change PermitRootLogin prohibit-password to PermitRootLogin yes

  4. Uncomment PasswordAuthentication yes

  5. CTRL+X then Y then Enter

  6. reboot to restart SSH

  7. ifconfig to get IP address

  8. On your host machine ssh root@www.xxx.yyy.zzz

2. Connecting to Edge Impulse

With all software set up, connect your web-camera to your operating system and run:

edge-impulse-linux

This will start a wizard which will ask you to log in, and choose an Edge Impulse project. If you want to switch projects run the command with --clean.

3. Verifying that your device is connected

That's all! Your machine is now connected to Edge Impulse. To verify this, go to your Edge Impulse project, and click Devices. The device will be listed here.

4. Next steps: building a machine learning model

With everything set up you can now build your first machine learning model with these tutorials:

Looking to connect different sensors? Our Linux SDK lets you easily send data from any sensor and any programming language (with examples in Node.js, Python, Go and C++) into Edge Impulse.

5. Deploying back to device

To run your impulse locally run on your Linux platform:

edge-impulse-linux-runner

This will automatically compile your model with full hardware acceleration, download the model to your local machine, and then start classifying. Our Linux SDK has examples on how to integrate the model with your favourite programming language.

Another option is to download the .eim file directly from Studio, copy it to the device filesystem and run it with the --model-file argument. In this case chmod +x will be required to give the .eim executable permissions.

Enabling and running example-standalone-inferencing-linux

The main route for deploying en Edge Impulse project with SAMA7G54-EK Evaluation Kit is through using .eim. However it is also possible to build example-standalone-inferencing-linux package and run it on the device.

To do that run make menuconfig

Go to Target packages -> Miscellaneous and choose Example Standalone Inferencing Linux package. Paste the project deployment files (edge-impulse-sdk, model-parameters, tflite-model) into buildroot-microchip/buildroot-at91/package/example-standalone-inferencing-linux folder.

Proceed to building the image with make -j $((`nproc` - 1)) You will be able to find custom application file in /home on your target. Run it with ./custom features.txt, where features.txt is a file with raw features.

Note: When using the .eim method it's important to ensure the file has appropriate permissions, so use chmod to set these if needed.

Last updated