Nerves System - Khadas VIM3 (Amlogic A311D)

Hex version

This is the base Nerves System configuration for the Khadas VIM3 single-board computer featuring the Amlogic A311D SoC.

Hardware Features

Installation

Add nerves_system_vim3 to your list of dependencies in mix.exs:

def deps do
  [
    {:nerves_system_vim3, "~> 0.1.0", runtime: false, targets: :vim3}
  ]
end

Building

To generate the built artifact to reference in other projects, run:

MIX_TARGET=vim3 mix deps.get && mix compile && mix nerves.artifact

Important: First Time Setup - Clearing Vendor eMMC

NOTE: This may no longer be required now that U-Boot is being correctly written to the SD card, triple press of the 'F' button should force sdcard boot.

Khadas VIM3 boards ship with vendor U-Boot 2015 on the eMMC that boots with higher priority than the SD card. This prevents booting Nerves firmware from SD card.

You must zero the eMMC boot partitions before the first SD card boot:

  1. Power on the VIM3 with the vendor firmware
  2. Press any key at boot to stop autoboot and get to the kvim3# U-Boot prompt
  3. Run the following commands to erase the eMMC boot areas:
mmc dev 1 1
mmc erase 0 0x400
mmc dev 1 2
mmc erase 0 0x400
mmc dev 1 0
mmc erase 0 0x10000
reset

After this one-time setup, the VIM3 will boot from SD card. You only need to do this once per board (unless you re-flash vendor firmware to eMMC).

Licensing and Proprietary Components

Source Code License

The source code for this Nerves system (configuration files, build scripts, overlays, and documentation) is licensed under the Apache License 2.0. See the LICENSE file for details.

Proprietary Firmware Components

Important: While the source code is open-source, the build process downloads and includes proprietary firmware components that are required for the Amlogic A311D hardware to function:

These proprietary components are:

Distribution

License

Apache License 2.0 - See LICENSE file for details.