2026-07-06 10:50:33 +02:00

61 lines
1.6 KiB
Bash

#!/bin/bash
function rust_create_embedded_project() {
if [ -z "$1" ]; then
echo "you need to specify a project name. for example"
echo "create_rust_embedded_project proj-name"
else
cargo generate \
--git https://github.com/knurling-rs/app-template \
--branch main \
--name $1
cd $1
cargo add panic-halt
fi
}
function rust_embedded_available_chips() {
if [ -z "$1" ]; then
probe-rs chip list
else
probe-rs chip list >> $1
fi
}
function rust_print_elf_headers() {
if [ -z "$1" ]; then
echo "you need to specify a project name. for example"
echo "rust_print_elf_headers proj-name"
else
cargo readobj --bin $1 -- --file-headers
fi
}
function rust_print_linker_sections() {
if [ -z "$1" ]; then
echo "you need to specify a project name. for example"
echo "rust_print_linker_sections proj-name"
echo ""
echo "above example will print the release version to print dev version use"
echo "rust_print_linker_sections proj-name dev"
elif [ -z "$2" ]; then
cargo size --bin $1 --release -- -A
else
cargo size --bin $1 -- -A
fi
}
function rust_disassemble() {
if [ -z "$1" ]; then
echo "you need to specify a project name. for example"
echo "rust_disassemble proj-name"
echo ""
echo "above example will print the release version to print dev version use"
echo "rust_disassemble proj-name dev"
elif [ -z "$2" ]; then
cargo objdump --bin $1 --release -- --disassemble --no-show-raw-insn --print-imm-hex
else
cargo objdump --bin $1 -- --disassemble --no-show-raw-insn --print-imm-hex
fi
}