diff options
| -rw-r--r-- | .gitlab-ci.yml | 2 | ||||
| -rw-r--r-- | Makefile | 5 | ||||
| -rw-r--r-- | README.md | 16 | ||||
| -rwxr-xr-x | script/nfpvalues.py | 6 | ||||
| -rwxr-xr-x | script/size.py | 6 | ||||
| -rw-r--r-- | src/app/bad-apple-msp430fr-sharp96/.config | 73 | ||||
| -rw-r--r-- | src/arch/msp430fr5994lp/Makefile.inc | 11 | ||||
| -rw-r--r-- | src/arch/posix/Makefile.inc | 4 |
8 files changed, 103 insertions, 20 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d963d4d..a30dc3d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: derfnull/multipass-ci:2020.08.13.2 +image: derfnull/multipass-ci:2025.08.12 stages: - build @@ -269,6 +269,11 @@ endif default: build/system.elf +# When running ./mp arch=... app=..., a .config file is not needed. +# Create an empty one if it does not exist yet. +.config: + touch .config + include/config.h: .config ${QUIET}test -z "${app}" && awk -f script/conf2h.awk .config > include/config.h || : > include/config.h @@ -56,11 +56,14 @@ features; the remainder of this README covers details. | RM46L852 (Cortex-R4F) | 160 MHz | 1.25 MiB Flash | 192 KiB SRAM | | | STM32F446RE (Cortex-M4) | 168 MHz | 512 KiB Flash | 128 KiB SRAM | I²C | | STM32F746ZG (Cortex-M7) | 216 MHz | 1 MiB Flash | 320 KiB SRAM | I²C | +| STM32H747XI (Cortex-M7) | 480 MHz | 2 MiB Flash + 128 MiB QSPI NOR Flash | 1 MiB SRAM + 32 MiB SDRAM | | | POSIX | – | – | – | I²C | -## Supported Architectures +### ATTiny88 (Blinkenrocket) -See `make config` for an up-to-date list. +Peripheral communication: + +* I²C controller ### ATMega168P, ATMega328P (Arduino Nano) @@ -180,3 +183,12 @@ See `make config` for an up-to-date list. * ADS111x ADC (I²C) * DS2482 1-Wire Bus Controller (I²C) + +## References + +Mirrors of the multipass repository are available at: + +* [Chaosdorf](https://chaosdorf.de/git/derf/multipass) +* [ESS](https://ess.cs.uos.de/git/bf/multipass) +* [finalrewind](https://git.finalrewind.org/multipass/) +* [GitHub](https://github.com/derf/multipass) diff --git a/script/nfpvalues.py b/script/nfpvalues.py index d82a124..0680fa6 100755 --- a/script/nfpvalues.py +++ b/script/nfpvalues.py @@ -24,15 +24,15 @@ def main(size_executable, rom_sections, ram_sections): section_size = dict() for line in status.stdout.split("\n"): - match = re.match("[.](\S+)\s+(\d+)", line) + match = re.match(r"[.](\S+)\s+(\d+)", line) if match: section = match.group(1) size = int(match.group(2)) section_size[section] = size total = { - "ROM": sum(map(lambda section: section_size[section], rom_sections)), - "RAM": sum(map(lambda section: section_size[section], ram_sections)), + "ROM": sum(map(lambda section: section_size.get(section, 0), rom_sections)), + "RAM": sum(map(lambda section: section_size.get(section, 0), ram_sections)), } output = {"OS Image": total} diff --git a/script/size.py b/script/size.py index ad41979..c11e4cd 100755 --- a/script/size.py +++ b/script/size.py @@ -24,15 +24,15 @@ def main(size_executable, rom_sections, ram_sections): section_size = dict() for line in status.stdout.split("\n"): - match = re.match("[.](\S+)\s+(\d+)", line) + match = re.match(r"[.](\S+)\s+(\d+)", line) if match: section = match.group(1) size = int(match.group(2)) section_size[section] = size total = { - "ROM": sum(map(lambda section: section_size[section], rom_sections)), - "RAM": sum(map(lambda section: section_size[section], ram_sections)), + "ROM": sum(map(lambda section: section_size.get(section, 0), rom_sections)), + "RAM": sum(map(lambda section: section_size.get(section, 0), ram_sections)), } output = {"section": section_size, "total": total} diff --git a/src/app/bad-apple-msp430fr-sharp96/.config b/src/app/bad-apple-msp430fr-sharp96/.config new file mode 100644 index 0000000..26a9fa1 --- /dev/null +++ b/src/app/bad-apple-msp430fr-sharp96/.config @@ -0,0 +1,73 @@ +# +# Automatically generated file; DO NOT EDIT. +# Configuration +# + +# +# System +# +# CONFIG_loop is not set +# CONFIG_wakeup is not set +# CONFIG_ostream is not set +# CONFIG_aspectc is not set +CONFIG_timer_freq=10 +# CONFIG_framebuffer is not set + +# +# Libraries +# +CONFIG_lib_inflate=y +# CONFIG_lib_inflate_checksum is not set +CONFIG_lib_inflate_lut=y +# CONFIG_arch_arduino_nano is not set +# CONFIG_arch_atmega2560 is not set +# CONFIG_arch_blinkenrocket is not set +# CONFIG_arch_infineon_tc299_mock is not set +# CONFIG_arch_infineon_tc397_mock is not set +# CONFIG_arch_lm4f120h5qr_stellaris is not set +# CONFIG_arch_lora32u4ii is not set +# CONFIG_arch_msp430fr5969lp is not set +CONFIG_arch_msp430fr5994lp=y +# CONFIG_arch_posix is not set +# CONFIG_arch_rm46l8lp is not set +# CONFIG_arch_stm32f103c8t6 is not set +# CONFIG_arch_stm32f446re_nucleo is not set +# CONFIG_arch_stm32f746zg_nucleo is not set +# CONFIG_arch_stm32h747i_disco is not set +# CONFIG_arch_tc1796_triboard is not set +CONFIG_arch="msp430fr5994lp" + +# +# MSP430FR5994 Launchpad Configuration +# +# CONFIG_arch_msp430fr5994lp_driver_adc is not set +# CONFIG_arch_msp430fr5994lp_driver_counter is not set +# CONFIG_arch_msp430fr5994lp_driver_dmx1 is not set +# CONFIG_arch_msp430fr5994lp_driver_dmx2 is not set +# CONFIG_arch_msp430fr5994lp_driver_dmx3 is not set +# CONFIG_arch_msp430fr5994lp_driver_i2c is not set +CONFIG_arch_msp430fr5994lp_driver_spi=y +# CONFIG_arch_msp430fr5994lp_driver_stdout1 is not set +# CONFIG_arch_msp430fr5994lp_driver_stdout2 is not set +# CONFIG_arch_msp430fr5994lp_driver_stdout3 is not set +# CONFIG_arch_msp430fr5994lp_driver_stdin is not set +CONFIG_arch_msp430fr5994lp_driver_timer=y +# CONFIG_arch_msp430fr5994lp_driver_uptime is not set +CONFIG_arch_msp430fr5994lp_large_mode=y +CONFIG_app_bad_apple_msp430fr_sharp96=y +# CONFIG_app_donothing is not set +# CONFIG_app_energybench is not set +# CONFIG_app_etcontroller is not set +# CONFIG_app_treebench is not set +# CONFIG_app_treebench_copy is not set +CONFIG_app="bad-apple-msp430fr-sharp96" +CONFIG_meta_driver_spi=y +CONFIG_meta_driver_timer=y + +# +# Drivers +# +# CONFIG_driver_nrf24l01 is not set +# CONFIG_driver_pervasive_aurora_mb is not set +CONFIG_driver_sharp96=y +# CONFIG_driver_softi2c is not set diff --git a/src/arch/msp430fr5994lp/Makefile.inc b/src/arch/msp430fr5994lp/Makefile.inc index afcc347..d90928d 100644 --- a/src/arch/msp430fr5994lp/Makefile.inc +++ b/src/arch/msp430fr5994lp/Makefile.inc @@ -227,16 +227,9 @@ gdb-server: gdb: ${GDB} -ex 'target remote :55000' build/system.elf -ifdef CONFIG_arch_msp430fr5994lp_large_mode attributes: build/system.elf - ${QUIET}script/size.py ${SIZE} text,lower.text,upper.text,data,lower.data,upper.data data,lower.data,upper.data,bss,lower.bss,upper.bss + ${QUIET}script/size.py ${SIZE} lower.rodata,rodata,rodata2,persistent,upper.rodata,data,upper.data,lower.text,text,upper.text leaRAM,lower.data,data,upper.data,lower.bss,bss,noinit nfpvalues: build/system.elf - ${QUIET}script/nfpvalues.py ${SIZE} text,lower.text,upper.text,data,lower.data,upper.data data,lower.data,upper.data,bss,lower.bss,upper.bss -else -attributes: build/system.elf - ${QUIET}script/size.py ${SIZE} text,data data,bss -nfpvalues: build/system.elf - ${QUIET}script/nfpvalues.py ${SIZE} text,data data,bss -endif + ${QUIET}script/nfpvalues.py ${SIZE} .lower.rodata,rodata,rodata2,persistent,upper.rodata,data,upper.data,lower.text,text,upper.text leaRAM,lower.data,data,upper.data,lower.bss,bss,noinit .PHONY: arch_clean arch_help arch_info attributes cat monitor program diff --git a/src/arch/posix/Makefile.inc b/src/arch/posix/Makefile.inc index 8aebc31..658ddec 100644 --- a/src/arch/posix/Makefile.inc +++ b/src/arch/posix/Makefile.inc @@ -83,9 +83,9 @@ arch_info: @echo "Monitor: run build/system.elf" attributes: build/system.elf - ${QUIET}script/size.py size text data,bss + ${QUIET}script/size.py size text,rodata data,bss nfpvalues: build/system.elf - ${QUIET}script/nfpvalues.py size text data,bss + ${QUIET}script/nfpvalues.py size text,rodata data,bss .PHONY: arch_clean arch_help arch_info attributes monitor program run |
