Commit 87aadcbb authored by Alan Wood's avatar Alan Wood

Documentation added Getting Started

parent e2e7cb58
......@@ -3,7 +3,7 @@ myStorm SDK
The SDK is being developed in order to help developers and myStorm participants use the features offered by myStorm boards (initially just the 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
## 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 tool set support please fork and request a pull.
......@@ -19,7 +19,7 @@ One of the ways in which myStorm SDK differs from the other low cost FPGA develo
* 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.
# Implications
## Implications
The design decisions above mean we require a more sophisticated toolchain for myStorm SDK as in addition to the FPGA tools we need the GCC Arm cross compiler suite. As an early adopter and SDK candidate we would expect you to have at least a rudimentary understanding of what this entails in order to develop fully for the myStorm SDK platform. This may change later as the community adds layers to abstract some of this, for example myStorm Forthification will likely provide the forth tools and libraries for both the ARM and FPGA parts which will abstract the developer from such details. I would expect this to happen for GUI and IDE tools also as the community builds on the myStorm SDK
......@@ -28,6 +28,26 @@ For now however we must be mindful that when we build for the myStorm SDK we are
Thus if you find that, at least with the SDK, there seems to be more to setup, juggle and manage please remember it is for the reasons specified above and because we really are doing more...
## Getting started
One day soon we are hoping that the develpment tools we need for myStorm SDK are so common place we would not have to include this section as it would be obvious. However in the real world we have to get the right toochains onto your PC/Pi/Laptop etc.. For now we will confine this to Linux as this is the only one we have working, it is possible to do similar of Mas OSX and probably windows but we do not yet have that experience (If anyone can helps up with these please fork and request a pull). What I we will not be doing here is telling you how to manually install GCC arm cross toochains or IceStorm both os those are already well documented and those that wish to use the manual route are either already capable or about to learn.. To ease our documentation burden for now I will suggest an easier way to get started is by using [Platformio] ( Platformio is aimed at embedded development and includes some package management command line tools and optionsal IDE. I am focused purely on the commadline part so right click over to platformIO and get that installed.
Inside the SDK repository (mystorm SDK branch) you will find and SDK directory (we assume you have this locally now), in this you will see a platforio.ini file, we won't bore you with how PlatformIO works and uses the ini file but you might want to take a peek (and check their documentation in your own time) you will see to sections. They call them environments but we are using them like targets of sorts. There is a section focused on building the FPGA side of the project (lattice_Ice40) and a section focused on the STM32 build. On the command line inside the SDK directory issue :
platformio run
PlatformIO will check you ini file and work out what is needed to build this project and go off and download all the packages it needs to do so, followed by actually doing so!! without you manually having to install any of the toolchains automagically!! We mentioned we we were lazy and wanted to do the minimum docs didn't we....
If you also have an STLink (or Chinese copy, or discovery/nucleo board) connected to the STlink header on myStorm SDK you can then just issue:
platformio run -e nucleo_l476rg -t upload
Which will program myStorm, easy huh...
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