blob: 89c0f2a9f7b9a3ead3fd0f3c3ab2e7b1297054b8 [file] [log] [blame]
import("//build_overrides/pigweed.gni")
import("$dir_pw_build/target_types.gni")
_pico_sdk_dir = rebase_path(dir_third_party_pico_sdk)
pw_executable("bs2_default") {
defines = [
"PICO_H_LOCATION=\"${_pico_sdk_dir}/src/boards/include/boards/pico.h\"",
"RENAME_EXCEPTIONS_H_LOCATION=\"$_pico_sdk_dir/src/rp2_common/cmsis/include/cmsis/rename_exceptions.h\"",
"PICO_BOARD=\"pico\"",
"PICO_BUILD=1",
"PICO_NO_HARDWARE=0",
"PICO_ON_DEVICE=1",
]
asmflags = [
"-mcpu=cortex-m0plus",
"-mthumb",
"-O3",
"-DNDEBUG",
]
include_dirs = [
"${_pico_sdk_dir}/src/boards/include",
"${_pico_sdk_dir}/src/common/pico_base/include",
"${_pico_sdk_dir}/src/rp2040/hardware_regs/include",
"${_pico_sdk_dir}/src/rp2_common/boot_stage2/asminclude",
"${_pico_sdk_dir}/src/rp2_common/boot_stage2/include",
"${_pico_sdk_dir}/src/rp2_common/hardware_base/include",
"${_pico_sdk_dir}/src/rp2_common/pico_platform/include",
"$dir_pico_build/public_overrides",
]
sources =
[ "${_pico_sdk_dir}/src/rp2_common/boot_stage2/compile_time_choice.S" ]
ldflags = [
"-Wl,--build-id=none",
"-nostartfiles",
"-Wl,--script=${_pico_sdk_dir}/src/rp2_common/boot_stage2/boot_stage2.ld",
"-Wl,-Map=bs2_default.elf.map",
]
}
# Followup steps for bs2_default.elf
# 1. arm-none-eabi-objdump -h bs2_default.elf >bs2_default.dis
# 2. arm-none-eabi-objdump -d bs2_default.elf >>bs2_default.dis
# 3. Generating bs2_default.bin
# cd pico-sdk/src/rp2_common/boot_stage2 &&
# ../../../../../.environment/cipd/pigweed/bin/arm-none-eabi-objcopy
# -Obinary
# /home/tonymd/pico/picohellousbserial/outcmake/pico-sdk/src/rp2_common/boot_stage2/bs2_default.elf
# /home/tonymd/pico/picohellousbserial/outcmake/pico-sdk/src/rp2_common/boot_stage2/bs2_default.bin
# 4. Generating bs2_default_padded_checksummed.S
# cd pico-sdk/src/rp2_common/boot_stage2 &&
# /usr/bin/python3.8
# ./picohellousbserial/third_party/pico-sdk/src/rp2_common/boot_stage2/pad_checksum
# -s 0xffffffff
# ./picohellousbserial/outcmake/pico-sdk/src/rp2_common/boot_stage2/bs2_default.bin
# ./picohellousbserial/outcmake/pico-sdk/src/rp2_common/boot_stage2/bs2_default_padded_checksummed.S