cargo generate –git https://github.com/rust-embedded/cortex-m-quickstart.git
sed -i ‘s/# runner = “arm-none-eabi-gdb -q -x openocd.gdb”/runner = “arm-none-eabi-gdb -q -x openocd.gdb”/g’ .cargo/config.toml
sed -i ‘s/target = “thumbv7m-none-eabi”/# target = “thumbv7m-none-eabi”/g’ .cargo/config.toml
sed -i ‘s/# target = “thumbv7em-none-eabihf”/target = “thumbv7em-none-eabihf”/g’ .cargo/config.toml
sed -i ‘s/”target\/stm32f3x.cfg”/”target\/stm32f4x.cfg”/g’ .vscode/launch.json
sed -i ‘s/STM32F303VCT6/STM32F401RET6/g’ .vscode/launch.json
sed -i ‘s/STM32F303.svd/STM32F401.svd/g’ .vscode/launch.json
sed -i ‘s/# [dependencies.stm32f3]/[dependencies.stm32f4]/g’ Cargo.toml
sed -i ‘s/# features = [“stm32f303”, “rt”]/features = [“stm32f401”, “rt”]/g’ Cargo.toml
sed -i ‘s/# version = “0.7.1”/version = “0.14”/g’ Cargo.toml
sed -i ‘s/cortex-m = “0.6.0”/cortex-m = “0.7”/g’ Cargo.toml
sed -i ‘s/FLASH : ORIGIN = 0x00000000, LENGTH = 256K/FLASH : ORIGIN = 0x08000000, LENGTH = 512K/g’ memory.x
sed -i ‘s/RAM : ORIGIN = 0x20000000, LENGTH = 64K/RAM : ORIGIN = 0x20000000, LENGTH = 96K/g’ memory.x
curl https://raw.githubusercontent.com/posborne/cmsis-svd/master/data/STMicro/STM32F401.svd -o .vscode/STM32F401.svd