From 0bb9212d6f5eaed3c0b14a9fe323ae4ebc9f59eb Mon Sep 17 00:00:00 2001 From: Penguin Date: Sun, 13 Feb 2022 14:07:41 -0600 Subject: [PATCH] readme update --- README.md | 122 +++++++++++++++++++++++------------------------------- 1 file changed, 51 insertions(+), 71 deletions(-) diff --git a/README.md b/README.md index ef96ff21..2164941f 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,11 @@ # 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. +## Overview +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. -### Prerequisites +## Prerequisites You need the following things installed for igloo+eSF to work properly: - openocd @@ -13,36 +14,49 @@ You need the following things installed for igloo+eSF to work properly: In the future, these things will just be bundled with eSF. The problem with some toolchains is dependency matching for various distros. -#### Toolchains +**Update on Toolchains**: The toolchains were a pain to maintain, and still are. That's why for the time being, the toolchains will not be bundled with esf. It is a goal to get the toolchains bundled with esf, but development of the esf libraries are most important right now. + +### Toolchains Loose naming convention for toolchains: ---- - - arm-none-eabi: - - Toolchain targetting the embedded ABI for arm - - Debian/Ubuntu: - ``` - sudo apt-get install gcc-arm-none-eabi binutils-arm-none-eabi gdb-arm-none-eabi - ``` +- arm-none-eabi: + - Toolchain targetting the embedded ABI for arm + - Debian/Ubuntu: + ``` + sudo apt-get install gcc-arm-none-eabi binutils-arm-none-eabi gdb-arm-none-eabi + ``` + - **NOTE:** If you run into an issue when running arm-none-eabi-gdb where it needs libncurses.so.5 on Ubuntu/Debian, install this package: + ``` + sudo apt-get install libncurses5 + ``` + + - Arch + ``` + sudo pacman -S arm-none-eabi-binutils arm-none-eabi-gcc arm-none-eabi-gdb arm-none-eabi-newlib + ``` + + - Gentoo: + - See this wiki [here](https://wiki.gentoo.org/wiki/How_to_build_a_toolchain_for_arm_cortex-m_and_cortex-r). + + - - Arch - ``` - sudo pacman -S arm-none-eabi-binutils arm-none-eabi-gcc arm-none-eabi-gdb arm-none-eabi-newlib - ``` +- avr-\* + - Ubuntu/Debian: (To be added) - **NOTE:** If you run into an issue when running arm-none-eabi-gdb where it needs libncurses.so.5 on Ubuntu/Debian, install this package: - ``` - sudo apt-get install libncurses5 - ``` + - Arch: + ``` + sudo pacman -S avr-binutils avr-gcc avr-gdb avr-libc avrdude + ``` + + - Gentoo: + - Install via [crossdev](https://wiki.gentoo.org/wiki/Crossdev): + ``` + crossdev -s4 --stable --portage --verbose --target avr + ``` - - avr-* - ``` - Debian: - (To be added) - Arch: - sudo pacman -S avr-binutils avr-gcc avr-gdb avr-libc avrdude - ``` #### OpenOCD @@ -151,16 +165,16 @@ openocd -f same54.cfg Now in another terminal: ``` -cd /target/same54p20a/ +cd /igloo/targets/same54p20a/ make -${ESF_DIR}/toolchains/arm/bin/arm-none-eabi-gdb -iex "target extended-remote localhost:3333" testdir.elf +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 +arm-none-eabi-gdb -iex "target extended-remote localhost:3333" testdir.elf ``` ### Supported Targets @@ -176,48 +190,14 @@ The framework allows me to add support for mcus pretty rapidly. I can add entire #### ARM32 -| MCU | Status | +| MCU Series | Status | |:------------|--------------:| -| samd21e15a | :question: | -| samd21e16a | :question: | -| samd21e17a | :question: | -| samd21e18a | :question: | -| samd21g15a | :question: | -| samd21g16a | :question: | -| samd21g17a | :question: | -| samd21g17au | :question: | -| samd21g18a | :question: | -| samd21g18au | :question: | -| samd21j15a | :question: | -| samd21j16a | :question: | -| samd21j17a | :question: | -| samd21j18a | :question: | -| samd51g18a | :grey_question: | -| samd51g19a | :grey_question: | -| samd51j18a | :grey_question: | -| samd51j19a | :grey_question: | -| samd51j20a | :grey_question: | -| samd51n19a | :grey_question: | -| samd51n20a | :grey_question: | -| samd51p19a | :grey_question: | -| samd51p20a | :grey_question: | -| same54n19a | :question: | -| same54n20a | :question: | -| same54p19a | :question: | -| same54p20a | :question: | -| same70j19a | :exclamation: | -| same70j20a | :exclamation: | -| same70j21a | :exclamation: | -| same70n19a | :exclamation: | -| same70n20a | :exclamation: | -| same70n21a | :exclamation: | -| same70q19a | :exclamation: | -| same70q20a | :exclamation: | -| same70q21a | :exclamation: | - -#### RISC-V - -| MCU | Status | -|:----------|--------------:| -| fe310g000 | :exclamation: | -| fe310g002 | :exclamation: | +| SAMD21A | :question: | +| SAME54A | :question: | +| SAME70A | + +#### AVR + +| MCU Series | Status | +| XMEGAA | :exclamation: | +| MEGA | :exclamation: |