begin 2.0

rewrite
Penguin 1 year ago
parent 8a42beca31
commit b826f27def

@ -1,12 +1,12 @@
[package]
name = "igloo"
version = "1.0.2"
version = "2.0.0"
authors = ["Penguin <...>"]
edition = "2021"
repository = "https://github.com/Embedded-Penguin/ePenguin-igloo/"
readme = "README.md"
description = "I am bringing this project back..."
license="GPL-2.0"
description = "Igloo is a project management tool for C/C++. It supports both embedded and non-embedded systems. The current GPL-3.0 license may change as I learn more about licenses."
license="GPL-3.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]

@ -1,4 +0,0 @@
# ePenguin-Igloo
I am bringing this project back! It will still be an embedded project management tool, but it will also work for non-embedded projects.

@ -0,0 +1,38 @@
#+title: Igloo
#+author: Penguin
#+Date: 5/6/2023
#+OPTIONS: ^:nil
* WIP: What is Igloo?
Igloo is a project management tool for C/C++ projects. It supports embedded and non-embedded systems projects. Igloo aims to be for C/C++ what cargo is for Rust. I was tired of manually making the same makefiles over and over again. I was tired of downloading BSPs from manufacturers websites and manually stringing together the same project structure over and over again. So I made Igloo.
* WIP: How does igloo work?
Igloo has many moving parts in order to keep a compatible, working interface between embedded and non-embedded projects. A diagram is being worked on currently. Igloo creates and manages projects. It works with another component (snowman) to manage packages that hold piece together different components required for a working project.
* Getting Started
** Installation
*** TODO: Gentoo
*** TODO: Ubuntu
*** TODO: Arch
*** TODO: Manual (Binary) Installation
*** TODO: Manual (Source) Installation
** Usage
*** TODO: Creating a project
*** TODO: Running a project
*** TODO: Debugging a project
*** TODO: Creating an embedded project
*** TODO: Flashing an embedded target
*** TODO: Debugging an embedded target
** Configuration
Igloo follows the normal configuration path for linux. It looks (in order) at:
- /etc/igloo/config.toml
- $HOME/.config/igloo/config.toml
- <project_root>/.igloo/config.toml
Example configs can be found here:
src_path[:exports code]{/usr/share/doc/igloo-<version_major>-<version_minor>-<version_patch>/}
* Supported Hardware
A full list of supported MCUs can be found [[./SUPPORTED_HARDWARE.org][here]].

@ -0,0 +1,183 @@
#+title: Supported Hardware
#+author: Penguin
#+date: 5/6/23
#+options: ^:nil
* Supported Hardware
Supported hardware is divided into categories (in order, if applicable):
- Architecture
- Manufacturer/Family
- Series
- Part Number
- ARM [0%]
- Atmel SAM [0%]
- SAMD21 [0%]
- samd21e15a [33%]
- [ ] Project Creation
- [X] Project Run
- [ ] Project Debug
- samd21e16a [0%]
- [ ] Project Creation
- [ ] Project Run
- [ ] Project Debug
- samd21e17a [0%]
- [ ] Project Creation
- [ ] Project Run
- [ ] Project Debug
- samd21e18a [0%]
- [ ] Project Creation
- [ ] Project Run
- [ ] Project Debug
- samd21g15a [0%]
- [ ] Project Creation
- [ ] Project Run
- [ ] Project Debug
- samd21g16a [33%]
- [X] Project Creation
- [ ] Project Run
- [ ] Project Debug
- samd21g17a [0%]
- [ ] Project Creation
- [ ] Project Run
- [ ] Project Debug
- samd21g17au [0%]
- [ ] Project Creation
- [ ] Project Run
- [ ] Project Debug
- samd21g18a [100%]
- [X] Project Creation
- [X] Project Run
- [X] Project Debug
- samd21g18au [100%]
- [X] Project Creation
- [X] Project Run
- [X] Project Debug
- samd21j15a [100%]
- [X] Project Creation
- [X] Project Run
- [X] Project Debug
- samd21j16a [0%]
- [ ] Project Creation
- [ ] Project Run
- [ ] Project Debug
- samd21j17a [0%]
- [ ] Project Creation
- [ ] Project Run
- [ ] Project Debug
- samd21j18a [0%]
- [ ] Project Creation
- [ ] Project Run
- [ ] Project Debug
*** STM32
** AVR
*** Atmel AVR
** RISC-V
*** SiFive
** Other
*** MSP430
[target.make]
# samd21 family
# samd21a series
samd21e15a = "arch.arm.samd21a.samd21e15a"
samd21e16a = "arch.arm.samd21a.samd21e16a"
samd21e17a = "arch.arm.samd21a.samd21e17a"
samd21e18a = "arch.arm.samd21a.samd21e18a"
samd21g15a = "arch.arm.samd21a.samd21g15a"
samd21g16a = "arch.arm.samd21a.samd21g16a"
samd21g17a = "arch.arm.samd21a.samd21g17a"
samd21g17au = "arch.arm.samd2a1.samd21g17au"
samd21g18a = "arch.arm.samd21a.samd21g18a"
samd21g18au = "arch.arm.samd21a.samd21g18au"
samd21j15a = "arch.arm.samd21a.samd21j15a"
samd21j16a = "arch.arm.samd21a.samd21j16a"
samd21j17a = "arch.arm.samd21a.samd21j17a"
samd21j18a = "arch.arm.samd21a.samd21j18a"
# samd51 family
# samd51a series
samd51g18a = "arch.arm.samd51a.samd51g18a"
samd51g19a = "arch.arm.samd51a.samd51g19a"
samd51j18a = "arch.arm.samd51a.samd51j18a"
samd51j19a = "arch.arm.samd51a.samd51j19a"
samd51j20a = "arch.arm.samd51a.samd51j20a"
samd51n19a = "arch.arm.samd51a.samd51n19a"
samd51n20a = "arch.arm.samd51a.samd51n20a"
samd51p19a = "arch.arm.samd51a.samd51p19a"
samd51p20a = "arch.arm.samd51a.samd51p20a"
# same54 family
# same54n/p series
same54n19a = "arch.arm.same54a.same54n19a"
same54n20a = "arch.arm.same54a.same54n20a"
same54p19a = "arch.arm.same54a.same54p19a"
same54p20a = "arch.arm.same54a.same54p20a"
# same70 family
# same70a series
same70j19a = "arch.arm.same70a.same70j19a"
same70j20a = "arch.arm.same70a.same70j20a"
same70j21a = "arch.arm.same70a.same70j21a"
same70n19a = "arch.arm.same70a.same70n19a"
same70n20a = "arch.arm.same70a.same70n20a"
same70n21a = "arch.arm.same70a.same70n21a"
same70q19a = "arch.arm.same70a.same70q19a"
same70q20a = "arch.arm.same70a.same70q20a"
same70q21a = "arch.arm.same70a.same70q21a"
# fe310 family
# fe310g series
fe310g000 = "arch.riscv.fe310g.fe310g000"
fe310g002 = "arch.riscv.fe310g.fe310g002"
# target.cfg contains the file locations for all config manifests for all mcus
# target.cfg contains things like symlinks
[target.manifest]
[targets]
# samd21 family
# samd21a series
samd21e15a = "arch/arm/SAMD21/SAMD21A/manifest/samd21a.toml"
samd21e16a = "arch/arm/SAMD21/SAMD21A/manifest/samd21a.toml"
samd21e17a = "arch/arm/SAMD21/SAMD21A/manifest/samd21a.toml"
samd21e18a = "arch/arm/SAMD21/SAMD21A/manifest/samd21a.toml"
samd21g15a = "arch/arm/SAMD21/SAMD21A/manifest/samd21a.toml"
samd21g16a = "arch/arm/SAMD21/SAMD21A/manifest/samd21a.toml"
samd21g17a = "arch/arm/SAMD21/SAMD21A/manifest/samd21a.toml"
samd21g17au = "arch/arm/SAMD21/SAMD21A/manifest/samd21a.toml"
samd21g18a = "arch/arm/SAMD21/SAMD21A/manifest/samd21a.toml"
samd21g18au = "arch/arm/SAMD21/SAMD21A/manifest/samd21a.toml"
samd21j15a = "arch/arm/SAMD21/SAMD21A/manifest/samd21a.toml"
samd21j16a = "arch/arm/SAMD21/SAMD21A/manifest/samd21a.toml"
samd21j17a = "arch/arm/SAMD21/SAMD21A/manifest/samd21a.toml"
samd21j18a = "arch/arm/SAMD21/SAMD21A/manifest/samd21a.toml"
# samd51 family
samd51g19a = "arch/arm/SAMD51/SAMD51A/manifest/samd51a.toml"
samd51j18a = "arch/arm/SAMD51/SAMD51A/manifest/samd51a.toml"
samd51j19a = "arch/arm/SAMD51/SAMD51A/manifest/samd51a.toml"
samd51j20a = "arch/arm/SAMD51/SAMD51A/manifest/samd51a.toml"
samd51n19a = "arch/arm/SAMD51/SAMD51A/manifest/samd51a.toml"
samd51n20a = "arch/arm/SAMD51/SAMD51A/manifest/samd51a.toml"
samd51p19a = "arch/arm/SAMD51/SAMD51A/manifest/samd51a.toml"
samd51p20a = "arch/arm/SAMD51/SAMD51A/manifest/samd51a.toml"
# same54 family
# same54a series
same54n19a = "arch/arm/SAME54/SAME54A/manifest/same54a.toml"
same54n20a = "arch/arm/SAME54/SAME54A/manifest/same54a.toml"
same54p19a = "arch/arm/SAME54/SAME54A/manifest/same54a.toml"
same54p20a = "arch/arm/SAME54/SAME54A/manifest/same54a.toml"
# same70 family
# same70a series
same70j19a = "arch/arm/SAME70/SAME70A/manifest/same70j19a.toml"
same70j20a = "arch/arm/SAME70/SAME70A/manifest/same70j20a.toml"
same70j21a = "arch/arm/SAME70/SAME70A/manifest/same70j21a.toml"
same70n19a = "arch/arm/SAME70/SAME70A/manifest/same70n19a.toml"
same70n20a = "arch/arm/SAME70/SAME70A/manifest/same70n19a.toml"
same70n21a = "arch/arm/SAME70/SAME70A/manifest/same70n20a.toml"
same70q19a = "arch/arm/SAME70/SAME70A/manifest/same70q21a.toml"
same70q20a = "arch/arm/SAME70/SAME70A/manifest/same70q20a.toml"
same70q21a = "arch/arm/SAME70/SAME70A/manifest/same70q21a.toml"
# fe310 family
# fe310g series
fe310g000 = "arch/riscv/FE310/FE310_G/manifest/fe310g.toml"
fe310g002 = "arch/riscv/FE310/FE310_G/manifest/fe310g.toml"
Loading…
Cancel
Save