Commit 488b6132 authored by Alan Wood's avatar Alan Wood

Documentation added the Intro

parent c637d6b0
mystorm SDK
===========
The SDK is being developed in order to help developers and myStorm paticipants use the features offered by myStorm boards (Initially just teh SDK Board). This is code and documentation is very much under construction and should be seen as a living set of code and documents. Any feedback and contribution is very much appreciated.
#Introduction
The myStorm SDK board essentially consists of two major components from a development standpoint, first is a Lattice Ice40HX4K FPGA which can be programmed in Verilog (and later VHDL) using Clifford Wolf's IceStorm toolchain and an STM32l476 Arm Cortex M4 microcontroller which can be targeted via a cross chain arm eabi gcc. Other tools can also be used for development but those mention here are the focus of the SDK, if anyone wishes to add in more toolset support please fork and request a pull.
One of the ways in which myStorm SDK differes from the other low cost FPGA development boards particularly based around teh Ice40 series is the addition of teh Arm Cortex processor. Most of the other boards purely target the Ice40 FPGA only and use FTDI chips to move bitimages into the FPGA through development. With myStorm we initially took a different view for how we wanted to target a low cost stand alone SDK, we figured for teh rpice of the FTDI chip we could actually include a 'Hardcore' CPU within our design for little cost impact. Given we are trying to obtain maximum bang for our buck with myStorm this is a path we have chosen to follow for the SDK. There are several advantages to adding in a hardcore microcontroller over just a standalone FPGA:
* A hardcore like the one used on the SDK (STM32l476) has MULT/DIV and an FPU, these features are expensive in terms of logical resources on a limited resource FPGA like the Ice40 FPGAs when implementing cores. This means you can optionalay target your limited resources to other more bespoke functions relevant to your application. The same advantage can be had from the hardcore's memory resources
* The Hardcore brings a number other useful protocol based peripherals which again save you from having to dedicate resources too from the limited FPGA resources e.g. Uarts,SDIO,USB,CAN and others..
* The hardcore also useful Analog functionality in the form off many ADC (up to 5Mb/s 12 bit) channels aalong with Dual DACs.
* The hardcore SDK can add management of development for bitimages and loading, testing etc..
* In the case of the SDK board the hardcore also offers an Arduino compatible shield support which can be handy for many existing peripherals and shields.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment