Wednesday, 28 October 2015

SAMA5D3 Xplained .Net Micro Framework Port

I have been working on a port of the .net micro framework for the SAMA5D3 Xplained board for the last few months on and off as I have had the time. The port is based on the 4.4 code of the recent .Net Micro Framework release.

I have now reached the first milestone I have a partially functioning PortBooter. It initialises the hardware and loads the PortBooterDecompressor into SRAM. The PortBooterDecompressor then proceeds to load the PortBooter application into DRAM and jumps to the BootEntry entry point.


The next pieces of work required are to implement the flash and storage drivers. Build the PortBooterClient and test its interaction with the PortBooter.

Later I will develop the additional drivers for the other hardware devices such as USB, I2C, SPI etc. There is still some way to go but I think I have gotten over the first hurdle.

At some point in the future I may simplify the boot process as the decompressed boot loader is not necessary as the PortBooter should fit in the SRAM section of the SAMA5D3 device.

Tuesday, 7 April 2015


I recently purchased an ATMEL SAMA5D3 Xplained board play around with developing some bare metal ARM code and possibly at some point in the future when I learn a bit more port the .net micro framework to this board. Also this board can run a few different flavours of embedded Linux and is supported by the GCC compiler.

One of the first issues that I came across is when I connected this board was that it is detected as an ELMO GMAS device.


From a quick search I found very little info on why the board was detected as an ELMO GMAS device. Being unsure if this incorrect detection would cause problems with some of the flash tools I set about fixing the problem.

First step is to install the latest SAM-BA tool from ATMEL. This contains the correct driver definition for the board.

  • Right click on the ELMO GMAS device and click update driver
  • Select Browse my computer for driver software


  • Select Let me pick from a list of device drivers on my computer


  • Click have disk


  • Browse to the driver folder of SAM-BA


  • Click ok then click next


  • A warning will be displayed, click ok as we are sure that this is the correct driver


  • The driver will be installed and the device will show up as an AT91 USB to Serial converter


When the board is booted up in BootROM mode i.e. the JP5 jumper is removed you may have to install a driver for the device. The same AT91 driver can be used