diff --git a/README.md b/README.md index 1fcc8204..adddde48 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # ePenguin Software Framework +Warning: This only works for x86\_64 linux machines atm. Windows development is in progress. I have no idea how to go about testing for mac so... yeah. + +As of right now, only the *new* command works. Everything else is not implemented yet. However, *new* does most of the heavy lifting so the other commands will come quickly once it is finished and polished. + ### Instructions for testing ``` cd ~ @@ -11,4 +15,74 @@ export ESF_DIR=~/ePenguin-Software-Framework alias igloo=~/ePenguin-Igloo/target/release/igloo igloo ``` -You should see a help menu thrown at you. +You should see a help menu thrown at you for more instruction. + +### Generating a new project +``` +igloo new --target= +# Example +igloo new testproject --target=samd21j18a +``` + +### Instructions for building +The framework comes with compilers so no external dependencies are needed. There are unfortunately no libraries yet because I want to nail igloo, the project manager, with certainty first. + +``` +cd /.igloo/target/ +make +``` + +### Instructions for running +I'm not including these steps because openocd releases vary with target configs. I recommend you download a release from https://openocd.org and unzip it there. Downloading via a package manager almost guarantees you're going to be missing target scripts. + +In the future, igloo will handle all of this. + +for the e54 xplained +``` +openocd -f board/atmel_same54_xplained_pro.cfg +``` + +for the d21 xplained +``` +openocd -f board/atmel_samd21_xplained_pro.cfg +``` + +If the E54 xplained cfg isn't found for some reason, try this: +``` +echo " +# +# Atmel SAMD21 Xplained Pro evaluation kit. +# + +source [find interface/cmsis-dap.cfg] +transport select swd +# chip name +set CHIPNAME same54p20a +source [find target/atsame5x.cfg] +" > same54.cfg + +openocd -f same54.cfg +``` + +Now in another terminal: +``` +cd /target/same54p20a/ +make +{ESF_DIR}/toolchains/arm/bin/arm-none-eabi-gdb -iex "target extended-remote localhost:3333" testdir.elf +load +monitor reset +``` + +If you're using gdb with python extensions then use this instead +``` +{ESF_DIR}/toolchains/arm/bin/arm-none-eabi-gdb-py -iex "target extended-remote localhost:3333" testdir.elf +``` + +### Supported Targets + +The framework allows me to add support for mcus pretty rapidly. I can add entire families of mcus with a few lines in the manifests. For now I've added support for mcus I use, but I'll be adding support for every Microchip SAM mcu shortly, as well as SiFive MCUs and STM32 MCUs. + +Currently supported + - samd21j18a + - samd21j17a + - same54p20a