summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml2
-rw-r--r--Makefile5
-rw-r--r--README.md16
-rwxr-xr-xscript/nfpvalues.py6
-rwxr-xr-xscript/size.py6
-rw-r--r--src/app/bad-apple-msp430fr-sharp96/.config73
-rw-r--r--src/arch/msp430fr5994lp/Makefile.inc11
-rw-r--r--src/arch/posix/Makefile.inc4
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
diff --git a/Makefile b/Makefile
index a5fde65..619d6c3 100644
--- a/Makefile
+++ b/Makefile
@@ -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
diff --git a/README.md b/README.md
index c7983d4..eba700a 100644
--- a/README.md
+++ b/README.md
@@ -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