something is still wrong
All checks were successful
Rust/va108xx-rs/pipeline/pr-main This commit looks good

This commit is contained in:
Robin Müller 2024-09-27 16:34:53 +02:00
parent 52f5d42358
commit 0f3614465f
Signed by: muellerr
GPG Key ID: A649FB78196E3849
8 changed files with 255 additions and 279 deletions

View File

@ -22,8 +22,8 @@ codegen-units = 1
debug = 2 debug = 2
debug-assertions = true # <- debug-assertions = true # <-
incremental = false incremental = false
# This is problematic for stepping.. # 1 instead of 0, the flashloader is too larger otherwise..
# opt-level = 'z' # <- # opt-level = 1 # <-
overflow-checks = true # <- overflow-checks = true # <-
# cargo build/run --release # cargo build/run --release

View File

@ -7,8 +7,6 @@ edition = "2021"
cortex-m = "0.7" cortex-m = "0.7"
cortex-m-rt = "0.7" cortex-m-rt = "0.7"
embedded-hal = "1" embedded-hal = "1"
embedded-hal-bus = "0.2"
dummy-pin = "1"
panic-rtt-target = { version = "0.1.3" } panic-rtt-target = { version = "0.1.3" }
panic-halt = { version = "0.2" } panic-halt = { version = "0.2" }
rtt-target = { version = "0.5" } rtt-target = { version = "0.5" }

View File

@ -26,8 +26,8 @@ BAUD_RATE = 115200
BOOTLOADER_START_ADDR = 0x0 BOOTLOADER_START_ADDR = 0x0
BOOTLOADER_END_ADDR = 0x3000 BOOTLOADER_END_ADDR = 0x3000
BOOTLOADER_CRC_ADDR = BOOTLOADER_END_ADDR - 4 BOOTLOADER_CRC_ADDR = BOOTLOADER_END_ADDR - 2
BOOTLOADER_MAX_SIZE = BOOTLOADER_END_ADDR - BOOTLOADER_START_ADDR - 4 BOOTLOADER_MAX_SIZE = BOOTLOADER_END_ADDR - BOOTLOADER_START_ADDR - 2
APP_A_START_ADDR = 0x3000 APP_A_START_ADDR = 0x3000
APP_A_END_ADDR = 0x11800 APP_A_END_ADDR = 0x11800
@ -209,7 +209,7 @@ class ImageLoader:
# Blank the checksum. For the bootloader, the bootloader will calculate the # Blank the checksum. For the bootloader, the bootloader will calculate the
# checksum itself on the initial run. # checksum itself on the initial run.
checksum_write_packet = pack_memory_write_command( checksum_write_packet = pack_memory_write_command(
BOOTLOADER_CRC_ADDR, bytes([0x00, 0x00, 0x00, 0x00]) BOOTLOADER_CRC_ADDR, bytes([0x00, 0x00])
) )
self.send_tc(checksum_write_packet) self.send_tc(checksum_write_packet)
else: else:

View File

@ -1,7 +1,7 @@
/* Special linker script for application slot A with an offset at address 0x3000 */ /* Special linker script for application slot A with an offset at address 0x3000 */
MEMORY MEMORY
{ {
FLASH : ORIGIN = 0x00000000, LENGTH = 0x3000 /* 128K */ FLASH : ORIGIN = 0x00003000, LENGTH = 0x20000 /* 128K */
RAM : ORIGIN = 0x10000000, LENGTH = 0x08000 /* 32K */ RAM : ORIGIN = 0x10000000, LENGTH = 0x08000 /* 32K */
} }

View File

@ -1,7 +1,7 @@
/* Special linker script for application slot B with an offset at address 0x11800 */ /* Special linker script for application slot B with an offset at address 0x11800 */
MEMORY MEMORY
{ {
FLASH : ORIGIN = 0x00000000, LENGTH = 0x11800 /* 128K */ FLASH : ORIGIN = 0x00011800, LENGTH = 0x20000 /* 128K */
RAM : ORIGIN = 0x10000000, LENGTH = 0x08000 /* 32K */ RAM : ORIGIN = 0x10000000, LENGTH = 0x08000 /* 32K */
} }

View File

@ -110,7 +110,7 @@ mod app {
tm_prod: DataProducer<BUF_RB_SIZE_TM, SIZES_RB_SIZE_TM>, tm_prod: DataProducer<BUF_RB_SIZE_TM, SIZES_RB_SIZE_TM>,
} }
rtic_monotonics::systick_monotonic!(Mono, 10_000); rtic_monotonics::systick_monotonic!(Mono, 1000);
#[init] #[init]
fn init(cx: init::Context) -> (Shared, Local) { fn init(cx: init::Context) -> (Shared, Local) {
@ -134,7 +134,7 @@ mod app {
UART_BAUDRATE.Hz(), UART_BAUDRATE.Hz(),
); );
let (tx, rx) = irq_uart.split(); let (tx, rx) = irq_uart.split();
let mut rx = rx.into_rx_with_irq(&mut dp.sysconfig, &mut dp.irqsel, pac::interrupt::OC3); let mut rx = rx.into_rx_with_irq(&mut dp.sysconfig, &mut dp.irqsel, pac::interrupt::OC0);
let verif_reporter = VerificationReportCreator::new(0).unwrap(); let verif_reporter = VerificationReportCreator::new(0).unwrap();

View File

@ -451,5 +451,53 @@
] ]
} }
}, },
{
"type": "cortex-debug",
"request": "launch",
"name": "Bootloader",
"servertype": "jlink",
"cwd": "${workspaceRoot}",
"device": "Cortex-M0",
"svdFile": "./va108xx/svd/va108xx.svd.patched",
"preLaunchTask": "bootloader",
"executable": "${workspaceFolder}/target/thumbv6m-none-eabi/debug/bootloader",
"interface": "jtag",
"runToEntryPoint": "main",
"rttConfig": {
"enabled": true,
"address": "auto",
"decoders": [
{
"port": 0,
"timestamp": true,
"type": "console"
}
]
}
},
{
"type": "cortex-debug",
"request": "launch",
"name": "Flashloader",
"servertype": "jlink",
"cwd": "${workspaceRoot}",
"device": "Cortex-M0",
"svdFile": "./va108xx/svd/va108xx.svd.patched",
"preLaunchTask": "flashloader",
"executable": "${workspaceFolder}/target/thumbv6m-none-eabi/debug/flashloader",
"interface": "jtag",
"runToEntryPoint": "main",
"rttConfig": {
"enabled": true,
"address": "auto",
"decoders": [
{
"port": 0,
"timestamp": true,
"type": "console"
}
]
}
},
] ]
} }

View File

@ -1,270 +1,200 @@
{ {
// See https://go.microsoft.com/fwlink/?LinkId=733558 // See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format // for the documentation about the tasks.json format
"version": "2.0.0", "version": "2.0.0",
"tasks": [ "tasks": [
{ {
"label": "rust: cargo build", "label": "rust: cargo build",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build"],
"build" "group": {
], "kind": "build",
"group": { "isDefault": true
"kind": "build", }
"isDefault": true },
} {
}, "label": "rust: cargo build hal tests",
{ "type": "shell",
"label": "rust: cargo build hal tests", "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"type": "shell", "args": ["build", "--bin", "board-tests", "--features", "rt"],
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "group": {
"args": [ "kind": "build",
"build", "isDefault": true
"--bin", }
"board-tests", },
"--features", {
"rt" "label": "rust: cargo build rtt",
], "type": "shell",
"group": { "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"kind": "build", "args": ["build", "--example", "rtt-log"],
"isDefault": true "group": {
} "kind": "build",
}, "isDefault": true
{ }
"label": "rust: cargo build rtt", },
"type": "shell", {
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "label": "rust: cargo build systick",
"args": [ "type": "shell",
"build", "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"--example", "args": ["build", "--example", "timer-ticks", "--features", "rt"],
"rtt-log", "group": {
], "kind": "build",
"group": { "isDefault": true
"kind": "build", }
"isDefault": true },
} {
}, "label": "rust: cargo build uart",
{ "type": "shell",
"label": "rust: cargo build systick", "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"type": "shell", "args": ["build", "--example", "uart"],
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "group": {
"args": [ "kind": "build",
"build", "isDefault": true
"--example", }
"timer-ticks", },
"--features", {
"rt" "label": "rust: cargo build spi",
], "type": "shell",
"group": { "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"kind": "build", "args": ["build", "--example", "spi"],
"isDefault": true "group": {
} "kind": "build",
}, "isDefault": true
{ }
"label": "rust: cargo build uart", },
"type": "shell", {
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "label": "rust: cargo build pwm",
"args": [ "type": "shell",
"build", "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"--example", "args": ["build", "--example", "pwm", "--features", "rt"],
"uart", "group": {
], "kind": "build",
"group": { "isDefault": true
"kind": "build", }
"isDefault": true },
} {
}, "label": "rust: cargo build cascade",
{ "type": "shell",
"label": "rust: cargo build spi", "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"type": "shell", "args": ["build", "--example", "cascade", "--features", "rt"],
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "group": {
"args": [ "kind": "build",
"build", "isDefault": true
"--example", }
"spi", },
], {
"group": { "label": "uart-echo-rtic-example",
"kind": "build", "type": "shell",
"isDefault": true "command": "~/.cargo/bin/cargo", // note: full path to the cargo
} "args": ["build", "--bin", "uart-echo-rtic"],
}, "group": {
{ "kind": "build",
"label": "rust: cargo build pwm", "isDefault": true
"type": "shell", }
"command": "~/.cargo/bin/cargo", // note: full path to the cargo },
"args": [ {
"build", "label": "blinky-hal",
"--example", "type": "shell",
"pwm", "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"--features", "args": ["build", "--example", "blinky"],
"rt" "group": {
], "kind": "build"
"group": { }
"kind": "build", },
"isDefault": true {
} "label": "rust: cargo build led blinky",
}, "type": "shell",
{ "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"label": "rust: cargo build cascade", "args": ["build", "--example", "blinky-leds"],
"type": "shell", "group": {
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "kind": "build",
"args": [ "isDefault": true
"build", }
"--example", },
"cascade", {
"--features", "label": "rust: cargo build button blinky",
"rt" "type": "shell",
], "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"group": { "args": ["build", "--example", "blinky-button-irq"],
"kind": "build", "group": {
"isDefault": true "kind": "build",
} "isDefault": true
}, }
{ },
"label": "uart-echo-rtic-example", {
"type": "shell", "label": "rust: cargo build temp sensor",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "type": "shell",
"args": [ "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"build", "args": ["build", "--example", "adt75-temp-sensor"],
"--bin", "group": {
"uart-echo-rtic", "kind": "build",
], "isDefault": true
"group": { }
"kind": "build", },
"isDefault": true {
} "label": "rust: cargo build button blinky rtic",
}, "type": "shell",
{ "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"label": "blinky-hal", "args": ["build", "--example", "blinky-button-rtic"],
"type": "shell", "group": {
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "kind": "build",
"args": [ "isDefault": true
"build", }
"--example", },
"blinky", {
], "label": "rust: cargo build accelerometer",
"group": { "type": "shell",
"kind": "build", "command": "~/.cargo/bin/cargo", // note: full path to the cargo
} "args": ["build", "--example", "adxl343-accelerometer"],
}, "group": {
{ "kind": "build",
"label": "rust: cargo build led blinky", "isDefault": true
"type": "shell", }
"command": "~/.cargo/bin/cargo", // note: full path to the cargo },
"args": [ {
"build", "label": "rust: cargo build adc",
"--example", "type": "shell",
"blinky-leds", "command": "~/.cargo/bin/cargo", // note: full path to the cargo
], "args": ["build", "--example", "max11619-adc"],
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
} }
}, },
{ {
"label": "rust: cargo build button blinky", "label": "reb1-nvm",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--example", "nvm"],
"build", "group": {
"--example", "kind": "build",
"blinky-button-irq", "isDefault": true
], }
"group": { },
"kind": "build", {
"isDefault": true "label": "rtic-example",
} "type": "shell",
}, "command": "~/.cargo/bin/cargo", // note: full path to the cargo
{ "args": ["build", "--bin", "rtic-example"]
"label": "rust: cargo build temp sensor", },
"type": "shell", {
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "label": "embassy-example",
"args": [ "type": "shell",
"build", "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"--example", "args": ["build", "--bin", "embassy-example"]
"adt75-temp-sensor", },
], {
"group": { "label": "bootloader",
"kind": "build", "type": "shell",
"isDefault": true "command": "~/.cargo/bin/cargo", // note: full path to the cargo
} "args": ["build", "--bin", "bootloader"]
}, },
{ {
"label": "rust: cargo build button blinky rtic", "label": "flashloader",
"type": "shell", "type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo "command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [ "args": ["build", "--bin", "flashloader"]
"build", }
"--example", ]
"blinky-button-rtic",
],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "rust: cargo build accelerometer",
"type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [
"build",
"--example",
"adxl343-accelerometer"
],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "rust: cargo build adc",
"type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [
"build",
"--example",
"max11619-adc",
],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "reb1-nvm",
"type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [
"build",
"--example",
"nvm",
],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "rtic-example",
"type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [
"build",
"--bin",
"rtic-example",
],
},
{
"label": "embassy-example",
"type": "shell",
"command": "~/.cargo/bin/cargo", // note: full path to the cargo
"args": [
"build",
"--bin",
"embassy-example",
],
},
]
} }