summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathaniel Graff <nathaniel.graff@sifive.com>2019-01-04 22:16:35 +0000
committerGitHub <noreply@github.com>2019-01-04 22:16:35 +0000
commit1a8f64bd33401e2f7b743558b3453ec30a092c9a (patch)
treeffb026c09f5767802949f19d92136ac3b2831c41
parent98af4467ddcbf21173d4c15cb331955c4321bf75 (diff)
parentae513dd7c1eac8f3e2c14532276166ef7e1cdc4e (diff)
Merge pull request #132 from sifive/update-readme
Update README to describe Freedom Metal integration
-rw-r--r--README.md70
1 files changed, 61 insertions, 9 deletions
diff --git a/README.md b/README.md
index 73c1b89..ae2384f 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,40 @@
-# README #
+# SiFive Freedom E SDK README #
-This repository, maintained by SiFive, Inc, makes it easy to get started developing software for the Freedom E RISC-V platform.
+This repository, maintained by SiFive Inc, makes it easy to get started developing
+software for the Freedom E and Freedom S Embedded RISC-V Platforms.
### Contents ###
-* Board Support Packages for FE310 and Development Kits
+#### Freedom Metal Compatibility Library ####
+
+* Board Support Packages for
+ - SiFive HiFive 1 (sifive-hifive1)
+ - SiFive Freedom E310 Arty (freedom-e310-arty)
+ - SiFive CoreIP (e.g. coreip-e31)
+ - SiFive CoreIP Arty FPGA Evaluation targets (e.g. coreip-e31-arty)
* A Few Example Programs
+ - Example programs targeting the Freedom Metal compatibility library can be identified
+ as submodules within the software/ directory, rather than being maintained in-tree
+ like the legacy examples are.
+
+#### (Deprecated) Legacy Freedom E SDK Library ####
+
+As we transition to supporting SiFive targets and examples with the new Freedom Metal
+compatibility library, the legacy Freedom E SDK libraries and examples are still available
+within this repository.
+
+* Board Support Packages for
+ - SiFive HiFive 1 (freedom-e300-hifive1)
+ - SiFive Freedom E310 Arty (freedom-e300-arty)
+ - SiFive CoreIP Arty FPGA Evaluation Targets (e.g. coreplexip-e31-arty)
+ - Additional legacy targets are contained within the bsp/env/ directory.
+* A Few Example Programs
+ - Example programs targeting the legacy Freedom E SDK can be identified as being tracked
+ within this repository in the software/ directory, rathre than being maintained
+ out-of-tree like the Freedom Metal examples are.
+
+Legacy examples can be built using the same commands as the Freedom Metal examples and simply
+omitting the `BSP=mee` argument or substituting it with `BSP=legacy`.
### Setting up the SDK ###
@@ -15,6 +44,12 @@ First, clone this repository:
git clone --recursive https://github.com/sifive/freedom-e-sdk.git
```
+If at first you omit the `--recursive` option, you can update submodules using the command:
+
+```
+git submodule update --init --recursive
+```
+
To see Makefile options:
```
@@ -52,19 +87,36 @@ git pull origin master
git submodule update --init --recursive
```
-If you would like to recompile the entire toolchain after performing the above:
+### Using the Tools ###
+
+#### Building an Example ####
+
+To compile a bare-metal RISC-V program:
+
+```
+cd freedom-e-sdk
+make BSP=mee [PROGRAM=hello] [BOARD=sifive-hifive1] software
+```
+
+#### Uploading to the Target Board ####
+
+```
+cd freedom-e-sdk
+make BSP=mee [PROGRAM=hello] [BOARD=sifive-hifive1] upload
+```
+
+#### Debugging a Target Program ####
```
-make uninstall
-make tools
+cd freedom-e-sdk
+make BSP=mee [PROGRAM=hello] [BOARD=sifive-hifive1] debug
```
-### Using the Tools ###
-To compile a bare-metal RISC-V program:
+#### Cleaning a Target Program Build Directory ####
```
cd freedom-e-sdk
-make software [PROGRAM=demo_gpio] [BOARD=freedom-e300-hifive1]
+make BSP=mee [PROGRAM=hello] [BOARD=sifive-hifive1] clean
```
Run `make help` for more commands.