Add multiple boot2 options with /2 and /4 SPI div (#67)
Build all 4 different boot_stage2 objects with SPI/2 and SPI/4 options. Add a menu to the generic board to allow selecting between them. Use the potato/4 boot2 for the Adafruit Feather until we have a better version verified. Fixes #42
This commit is contained in:
parent
c988c1c8a4
commit
09268fe064
17 changed files with 359 additions and 251 deletions
23
assembly/boot2_generic_03h_2_padded_checksum.S
Normal file
23
assembly/boot2_generic_03h_2_padded_checksum.S
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
// Padded and checksummed version of: boot2_generic_03h.2.bin
|
||||
|
||||
.cpu cortex-m0plus
|
||||
.thumb
|
||||
|
||||
.section .boot2, "ax"
|
||||
|
||||
.byte 0x00, 0xb5, 0x0c, 0x4b, 0x00, 0x21, 0x99, 0x60, 0x02, 0x21, 0x59, 0x61, 0x0a, 0x49, 0x19, 0x60
|
||||
.byte 0x0a, 0x49, 0x0b, 0x48, 0x01, 0x60, 0x00, 0x21, 0x59, 0x60, 0x01, 0x21, 0x99, 0x60, 0x01, 0xbc
|
||||
.byte 0x00, 0x28, 0x00, 0xd0, 0x00, 0x47, 0x07, 0x48, 0x07, 0x49, 0x08, 0x60, 0x03, 0xc8, 0x80, 0xf3
|
||||
.byte 0x08, 0x88, 0x08, 0x47, 0x00, 0x00, 0x00, 0x18, 0x00, 0x03, 0x1f, 0x00, 0x18, 0x02, 0x00, 0x03
|
||||
.byte 0xf4, 0x00, 0x00, 0x18, 0x00, 0x01, 0x00, 0x10, 0x08, 0xed, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0x22, 0x4c, 0x5d
|
||||
23
assembly/boot2_generic_03h_4_padded_checksum.S
Normal file
23
assembly/boot2_generic_03h_4_padded_checksum.S
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
// Padded and checksummed version of: boot2_generic_03h.4.bin
|
||||
|
||||
.cpu cortex-m0plus
|
||||
.thumb
|
||||
|
||||
.section .boot2, "ax"
|
||||
|
||||
.byte 0x00, 0xb5, 0x0c, 0x4b, 0x00, 0x21, 0x99, 0x60, 0x04, 0x21, 0x59, 0x61, 0x0a, 0x49, 0x19, 0x60
|
||||
.byte 0x0a, 0x49, 0x0b, 0x48, 0x01, 0x60, 0x00, 0x21, 0x59, 0x60, 0x01, 0x21, 0x99, 0x60, 0x01, 0xbc
|
||||
.byte 0x00, 0x28, 0x00, 0xd0, 0x00, 0x47, 0x07, 0x48, 0x07, 0x49, 0x08, 0x60, 0x03, 0xc8, 0x80, 0xf3
|
||||
.byte 0x08, 0x88, 0x08, 0x47, 0x00, 0x00, 0x00, 0x18, 0x00, 0x03, 0x1f, 0x00, 0x18, 0x02, 0x00, 0x03
|
||||
.byte 0xf4, 0x00, 0x00, 0x18, 0x00, 0x01, 0x00, 0x10, 0x08, 0xed, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0xec, 0x21, 0x0d
|
||||
23
assembly/boot2_is25lp080_2_padded_checksum.S
Normal file
23
assembly/boot2_is25lp080_2_padded_checksum.S
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
// Padded and checksummed version of: boot2_is25lp080.2.bin
|
||||
|
||||
.cpu cortex-m0plus
|
||||
.thumb
|
||||
|
||||
.section .boot2, "ax"
|
||||
|
||||
.byte 0x00, 0xb5, 0x2b, 0x4b, 0x00, 0x21, 0x99, 0x60, 0x02, 0x21, 0x59, 0x61, 0x29, 0x49, 0x19, 0x60
|
||||
.byte 0x01, 0x21, 0x99, 0x60, 0x28, 0x48, 0x00, 0xf0, 0x42, 0xf8, 0x28, 0x4a, 0x90, 0x42, 0x12, 0xd0
|
||||
.byte 0x06, 0x21, 0x19, 0x66, 0x00, 0xf0, 0x32, 0xf8, 0x19, 0x6e, 0x01, 0x21, 0x19, 0x66, 0x00, 0x20
|
||||
.byte 0x1a, 0x66, 0x00, 0xf0, 0x2b, 0xf8, 0x19, 0x6e, 0x19, 0x6e, 0x1f, 0x48, 0x00, 0xf0, 0x2f, 0xf8
|
||||
.byte 0x01, 0x21, 0x08, 0x42, 0xf9, 0xd1, 0x00, 0x21, 0x99, 0x60, 0x1d, 0x49, 0x19, 0x60, 0x00, 0x21
|
||||
.byte 0x59, 0x60, 0x1c, 0x49, 0x1c, 0x48, 0x01, 0x60, 0x01, 0x21, 0x99, 0x60, 0xeb, 0x21, 0x19, 0x66
|
||||
.byte 0xa0, 0x21, 0x19, 0x66, 0x00, 0xf0, 0x12, 0xf8, 0x00, 0x21, 0x99, 0x60, 0x17, 0x49, 0x16, 0x48
|
||||
.byte 0x01, 0x60, 0x01, 0x21, 0x99, 0x60, 0x01, 0xbc, 0x00, 0x28, 0x00, 0xd0, 0x00, 0x47, 0x14, 0x48
|
||||
.byte 0x14, 0x49, 0x08, 0x60, 0x03, 0xc8, 0x80, 0xf3, 0x08, 0x88, 0x08, 0x47, 0x03, 0xb5, 0x99, 0x6a
|
||||
.byte 0x04, 0x20, 0x01, 0x42, 0xfb, 0xd0, 0x01, 0x20, 0x01, 0x42, 0xf8, 0xd1, 0x03, 0xbd, 0x02, 0xb5
|
||||
.byte 0x18, 0x66, 0x18, 0x66, 0xff, 0xf7, 0xf2, 0xff, 0x18, 0x6e, 0x18, 0x6e, 0x02, 0xbd, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x07, 0x00, 0x05, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x03, 0x5f, 0x00, 0x21, 0x22, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x18, 0x22, 0x20, 0x00, 0xa0
|
||||
.byte 0x00, 0x01, 0x00, 0x10, 0x08, 0xed, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xee, 0xfd, 0x2e, 0xe2
|
||||
23
assembly/boot2_is25lp080_4_padded_checksum.S
Normal file
23
assembly/boot2_is25lp080_4_padded_checksum.S
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
// Padded and checksummed version of: boot2_is25lp080.4.bin
|
||||
|
||||
.cpu cortex-m0plus
|
||||
.thumb
|
||||
|
||||
.section .boot2, "ax"
|
||||
|
||||
.byte 0x00, 0xb5, 0x2b, 0x4b, 0x00, 0x21, 0x99, 0x60, 0x04, 0x21, 0x59, 0x61, 0x29, 0x49, 0x19, 0x60
|
||||
.byte 0x01, 0x21, 0x99, 0x60, 0x28, 0x48, 0x00, 0xf0, 0x42, 0xf8, 0x28, 0x4a, 0x90, 0x42, 0x12, 0xd0
|
||||
.byte 0x06, 0x21, 0x19, 0x66, 0x00, 0xf0, 0x32, 0xf8, 0x19, 0x6e, 0x01, 0x21, 0x19, 0x66, 0x00, 0x20
|
||||
.byte 0x1a, 0x66, 0x00, 0xf0, 0x2b, 0xf8, 0x19, 0x6e, 0x19, 0x6e, 0x1f, 0x48, 0x00, 0xf0, 0x2f, 0xf8
|
||||
.byte 0x01, 0x21, 0x08, 0x42, 0xf9, 0xd1, 0x00, 0x21, 0x99, 0x60, 0x1d, 0x49, 0x19, 0x60, 0x00, 0x21
|
||||
.byte 0x59, 0x60, 0x1c, 0x49, 0x1c, 0x48, 0x01, 0x60, 0x01, 0x21, 0x99, 0x60, 0xeb, 0x21, 0x19, 0x66
|
||||
.byte 0xa0, 0x21, 0x19, 0x66, 0x00, 0xf0, 0x12, 0xf8, 0x00, 0x21, 0x99, 0x60, 0x17, 0x49, 0x16, 0x48
|
||||
.byte 0x01, 0x60, 0x01, 0x21, 0x99, 0x60, 0x01, 0xbc, 0x00, 0x28, 0x00, 0xd0, 0x00, 0x47, 0x14, 0x48
|
||||
.byte 0x14, 0x49, 0x08, 0x60, 0x03, 0xc8, 0x80, 0xf3, 0x08, 0x88, 0x08, 0x47, 0x03, 0xb5, 0x99, 0x6a
|
||||
.byte 0x04, 0x20, 0x01, 0x42, 0xfb, 0xd0, 0x01, 0x20, 0x01, 0x42, 0xf8, 0xd1, 0x03, 0xbd, 0x02, 0xb5
|
||||
.byte 0x18, 0x66, 0x18, 0x66, 0xff, 0xf7, 0xf2, 0xff, 0x18, 0x6e, 0x18, 0x6e, 0x02, 0xbd, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x07, 0x00, 0x05, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x03, 0x5f, 0x00, 0x21, 0x22, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x18, 0x22, 0x20, 0x00, 0xa0
|
||||
.byte 0x00, 0x01, 0x00, 0x10, 0x08, 0xed, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x33, 0x43, 0xb2
|
||||
23
assembly/boot2_w25q080_2_padded_checksum.S
Normal file
23
assembly/boot2_w25q080_2_padded_checksum.S
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
// Padded and checksummed version of: boot2_w25q080.2.bin
|
||||
|
||||
.cpu cortex-m0plus
|
||||
.thumb
|
||||
|
||||
.section .boot2, "ax"
|
||||
|
||||
.byte 0x00, 0xb5, 0x32, 0x4b, 0x21, 0x20, 0x58, 0x60, 0x98, 0x68, 0x02, 0x21, 0x88, 0x43, 0x98, 0x60
|
||||
.byte 0xd8, 0x60, 0x18, 0x61, 0x58, 0x61, 0x2e, 0x4b, 0x00, 0x21, 0x99, 0x60, 0x02, 0x21, 0x59, 0x61
|
||||
.byte 0x01, 0x21, 0xf0, 0x22, 0x99, 0x50, 0x2b, 0x49, 0x19, 0x60, 0x01, 0x21, 0x99, 0x60, 0x35, 0x20
|
||||
.byte 0x00, 0xf0, 0x44, 0xf8, 0x02, 0x22, 0x90, 0x42, 0x14, 0xd0, 0x06, 0x21, 0x19, 0x66, 0x00, 0xf0
|
||||
.byte 0x34, 0xf8, 0x19, 0x6e, 0x01, 0x21, 0x19, 0x66, 0x00, 0x20, 0x18, 0x66, 0x1a, 0x66, 0x00, 0xf0
|
||||
.byte 0x2c, 0xf8, 0x19, 0x6e, 0x19, 0x6e, 0x19, 0x6e, 0x05, 0x20, 0x00, 0xf0, 0x2f, 0xf8, 0x01, 0x21
|
||||
.byte 0x08, 0x42, 0xf9, 0xd1, 0x00, 0x21, 0x99, 0x60, 0x1b, 0x49, 0x19, 0x60, 0x00, 0x21, 0x59, 0x60
|
||||
.byte 0x1a, 0x49, 0x1b, 0x48, 0x01, 0x60, 0x01, 0x21, 0x99, 0x60, 0xeb, 0x21, 0x19, 0x66, 0xa0, 0x21
|
||||
.byte 0x19, 0x66, 0x00, 0xf0, 0x12, 0xf8, 0x00, 0x21, 0x99, 0x60, 0x16, 0x49, 0x14, 0x48, 0x01, 0x60
|
||||
.byte 0x01, 0x21, 0x99, 0x60, 0x01, 0xbc, 0x00, 0x28, 0x00, 0xd0, 0x00, 0x47, 0x12, 0x48, 0x13, 0x49
|
||||
.byte 0x08, 0x60, 0x03, 0xc8, 0x80, 0xf3, 0x08, 0x88, 0x08, 0x47, 0x03, 0xb5, 0x99, 0x6a, 0x04, 0x20
|
||||
.byte 0x01, 0x42, 0xfb, 0xd0, 0x01, 0x20, 0x01, 0x42, 0xf8, 0xd1, 0x03, 0xbd, 0x02, 0xb5, 0x18, 0x66
|
||||
.byte 0x18, 0x66, 0xff, 0xf7, 0xf2, 0xff, 0x18, 0x6e, 0x18, 0x6e, 0x02, 0xbd, 0x00, 0x00, 0x02, 0x40
|
||||
.byte 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x07, 0x00, 0x00, 0x03, 0x5f, 0x00, 0x21, 0x22, 0x00, 0x00
|
||||
.byte 0xf4, 0x00, 0x00, 0x18, 0x22, 0x20, 0x00, 0xa0, 0x00, 0x01, 0x00, 0x10, 0x08, 0xed, 0x00, 0xe0
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0xb2, 0x4e, 0x7a
|
||||
23
assembly/boot2_w25q080_4_padded_checksum.S
Normal file
23
assembly/boot2_w25q080_4_padded_checksum.S
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
// Padded and checksummed version of: boot2_w25q080.4.bin
|
||||
|
||||
.cpu cortex-m0plus
|
||||
.thumb
|
||||
|
||||
.section .boot2, "ax"
|
||||
|
||||
.byte 0x00, 0xb5, 0x32, 0x4b, 0x21, 0x20, 0x58, 0x60, 0x98, 0x68, 0x02, 0x21, 0x88, 0x43, 0x98, 0x60
|
||||
.byte 0xd8, 0x60, 0x18, 0x61, 0x58, 0x61, 0x2e, 0x4b, 0x00, 0x21, 0x99, 0x60, 0x04, 0x21, 0x59, 0x61
|
||||
.byte 0x01, 0x21, 0xf0, 0x22, 0x99, 0x50, 0x2b, 0x49, 0x19, 0x60, 0x01, 0x21, 0x99, 0x60, 0x35, 0x20
|
||||
.byte 0x00, 0xf0, 0x44, 0xf8, 0x02, 0x22, 0x90, 0x42, 0x14, 0xd0, 0x06, 0x21, 0x19, 0x66, 0x00, 0xf0
|
||||
.byte 0x34, 0xf8, 0x19, 0x6e, 0x01, 0x21, 0x19, 0x66, 0x00, 0x20, 0x18, 0x66, 0x1a, 0x66, 0x00, 0xf0
|
||||
.byte 0x2c, 0xf8, 0x19, 0x6e, 0x19, 0x6e, 0x19, 0x6e, 0x05, 0x20, 0x00, 0xf0, 0x2f, 0xf8, 0x01, 0x21
|
||||
.byte 0x08, 0x42, 0xf9, 0xd1, 0x00, 0x21, 0x99, 0x60, 0x1b, 0x49, 0x19, 0x60, 0x00, 0x21, 0x59, 0x60
|
||||
.byte 0x1a, 0x49, 0x1b, 0x48, 0x01, 0x60, 0x01, 0x21, 0x99, 0x60, 0xeb, 0x21, 0x19, 0x66, 0xa0, 0x21
|
||||
.byte 0x19, 0x66, 0x00, 0xf0, 0x12, 0xf8, 0x00, 0x21, 0x99, 0x60, 0x16, 0x49, 0x14, 0x48, 0x01, 0x60
|
||||
.byte 0x01, 0x21, 0x99, 0x60, 0x01, 0xbc, 0x00, 0x28, 0x00, 0xd0, 0x00, 0x47, 0x12, 0x48, 0x13, 0x49
|
||||
.byte 0x08, 0x60, 0x03, 0xc8, 0x80, 0xf3, 0x08, 0x88, 0x08, 0x47, 0x03, 0xb5, 0x99, 0x6a, 0x04, 0x20
|
||||
.byte 0x01, 0x42, 0xfb, 0xd0, 0x01, 0x20, 0x01, 0x42, 0xf8, 0xd1, 0x03, 0xbd, 0x02, 0xb5, 0x18, 0x66
|
||||
.byte 0x18, 0x66, 0xff, 0xf7, 0xf2, 0xff, 0x18, 0x6e, 0x18, 0x6e, 0x02, 0xbd, 0x00, 0x00, 0x02, 0x40
|
||||
.byte 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x07, 0x00, 0x00, 0x03, 0x5f, 0x00, 0x21, 0x22, 0x00, 0x00
|
||||
.byte 0xf4, 0x00, 0x00, 0x18, 0x22, 0x20, 0x00, 0xa0, 0x00, 0x01, 0x00, 0x10, 0x08, 0xed, 0x00, 0xe0
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0b, 0x8f, 0xd5
|
||||
23
assembly/boot2_w25x10cl_2_padded_checksum.S
Normal file
23
assembly/boot2_w25x10cl_2_padded_checksum.S
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
// Padded and checksummed version of: boot2_w25x10cl.2.bin
|
||||
|
||||
.cpu cortex-m0plus
|
||||
.thumb
|
||||
|
||||
.section .boot2, "ax"
|
||||
|
||||
.byte 0x00, 0xb5, 0x14, 0x4b, 0x00, 0x21, 0x99, 0x60, 0x02, 0x21, 0x59, 0x61, 0x12, 0x49, 0x19, 0x60
|
||||
.byte 0x00, 0x21, 0x59, 0x60, 0x11, 0x49, 0x12, 0x48, 0x01, 0x60, 0x01, 0x21, 0x99, 0x60, 0xbb, 0x21
|
||||
.byte 0x19, 0x66, 0x02, 0x21, 0x19, 0x66, 0x08, 0x21, 0x98, 0x6a, 0x08, 0x42, 0xfc, 0xd0, 0x00, 0x21
|
||||
.byte 0x99, 0x60, 0x0c, 0x49, 0x0a, 0x48, 0x01, 0x60, 0x01, 0x21, 0x99, 0x60, 0x01, 0xbc, 0x00, 0x28
|
||||
.byte 0x00, 0xd0, 0x00, 0x47, 0x08, 0x48, 0x09, 0x49, 0x08, 0x60, 0x03, 0xc8, 0x80, 0xf3, 0x08, 0x88
|
||||
.byte 0x08, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x03, 0x3f, 0x00, 0x1d, 0x12, 0x00, 0x00
|
||||
.byte 0xf4, 0x00, 0x00, 0x18, 0x1e, 0x10, 0x00, 0x20, 0x00, 0x01, 0x00, 0x10, 0x08, 0xed, 0x00, 0xe0
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xba, 0x4f, 0x3e, 0xca
|
||||
23
assembly/boot2_w25x10cl_4_padded_checksum.S
Normal file
23
assembly/boot2_w25x10cl_4_padded_checksum.S
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
// Padded and checksummed version of: boot2_w25x10cl.4.bin
|
||||
|
||||
.cpu cortex-m0plus
|
||||
.thumb
|
||||
|
||||
.section .boot2, "ax"
|
||||
|
||||
.byte 0x00, 0xb5, 0x14, 0x4b, 0x00, 0x21, 0x99, 0x60, 0x04, 0x21, 0x59, 0x61, 0x12, 0x49, 0x19, 0x60
|
||||
.byte 0x00, 0x21, 0x59, 0x60, 0x11, 0x49, 0x12, 0x48, 0x01, 0x60, 0x01, 0x21, 0x99, 0x60, 0xbb, 0x21
|
||||
.byte 0x19, 0x66, 0x02, 0x21, 0x19, 0x66, 0x08, 0x21, 0x98, 0x6a, 0x08, 0x42, 0xfc, 0xd0, 0x00, 0x21
|
||||
.byte 0x99, 0x60, 0x0c, 0x49, 0x0a, 0x48, 0x01, 0x60, 0x01, 0x21, 0x99, 0x60, 0x01, 0xbc, 0x00, 0x28
|
||||
.byte 0x00, 0xd0, 0x00, 0x47, 0x08, 0x48, 0x09, 0x49, 0x08, 0x60, 0x03, 0xc8, 0x80, 0xf3, 0x08, 0x88
|
||||
.byte 0x08, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x03, 0x3f, 0x00, 0x1d, 0x12, 0x00, 0x00
|
||||
.byte 0xf4, 0x00, 0x00, 0x18, 0x1e, 0x10, 0x00, 0x20, 0x00, 0x01, 0x00, 0x10, 0x08, 0xed, 0x00, 0xe0
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x81, 0x53, 0x9a
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
// Padded and checksummed version of: /home/earle/src/pico/pico-examples/build/pico_sdk/src/rp2_common/boot_stage2/bs2_default.bin
|
||||
|
||||
.section .boot2, "a"
|
||||
|
||||
.byte 0x00, 0xb5, 0x2f, 0x4b, 0x21, 0x20, 0x58, 0x60, 0x98, 0x68, 0x02, 0x21, 0x88, 0x43, 0x98, 0x60
|
||||
.byte 0xd8, 0x60, 0x18, 0x61, 0x58, 0x61, 0x2b, 0x4b, 0x00, 0x21, 0x99, 0x60, 0x02, 0x21, 0x59, 0x61
|
||||
.byte 0x01, 0x21, 0xf0, 0x22, 0x99, 0x50, 0x28, 0x49, 0x19, 0x60, 0x01, 0x21, 0x99, 0x60, 0x35, 0x20
|
||||
.byte 0x00, 0xf0, 0x3e, 0xf8, 0x02, 0x22, 0x90, 0x42, 0x14, 0xd0, 0x06, 0x21, 0x19, 0x66, 0x00, 0xf0
|
||||
.byte 0x2e, 0xf8, 0x19, 0x6e, 0x01, 0x21, 0x19, 0x66, 0x00, 0x20, 0x18, 0x66, 0x1a, 0x66, 0x00, 0xf0
|
||||
.byte 0x26, 0xf8, 0x19, 0x6e, 0x19, 0x6e, 0x19, 0x6e, 0x05, 0x20, 0x00, 0xf0, 0x29, 0xf8, 0x01, 0x21
|
||||
.byte 0x08, 0x42, 0xf9, 0xd1, 0x00, 0x21, 0x99, 0x60, 0x18, 0x49, 0x19, 0x60, 0x00, 0x21, 0x59, 0x60
|
||||
.byte 0x17, 0x49, 0x18, 0x48, 0x01, 0x60, 0x01, 0x21, 0x99, 0x60, 0xeb, 0x21, 0x19, 0x66, 0xa0, 0x21
|
||||
.byte 0x19, 0x66, 0x00, 0xf0, 0x0c, 0xf8, 0x00, 0x21, 0x99, 0x60, 0x13, 0x49, 0x11, 0x48, 0x01, 0x60
|
||||
.byte 0x01, 0x21, 0x99, 0x60, 0x01, 0xbc, 0x00, 0x28, 0x00, 0xd1, 0x10, 0x48, 0x00, 0x47, 0x03, 0xb5
|
||||
.byte 0x99, 0x6a, 0x04, 0x20, 0x01, 0x42, 0xfb, 0xd0, 0x01, 0x20, 0x01, 0x42, 0xf8, 0xd1, 0x03, 0xbd
|
||||
.byte 0x02, 0xb5, 0x18, 0x66, 0x18, 0x66, 0xff, 0xf7, 0xf2, 0xff, 0x18, 0x6e, 0x18, 0x6e, 0x02, 0xbd
|
||||
.byte 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x07, 0x00, 0x00, 0x03, 0x5f, 0x00
|
||||
.byte 0x21, 0x22, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x18, 0x22, 0x20, 0x00, 0xa0, 0x01, 0x01, 0x00, 0x10
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x27, 0x2a, 0x60
|
||||
327
boards.txt
327
boards.txt
|
|
@ -3,6 +3,7 @@ menu.flash=Flash Size
|
|||
menu.freq=CPU Speed
|
||||
menu.dbgport=Debug Port
|
||||
menu.dbglvl=Debug Level
|
||||
menu.boot2=Boot Stage 2
|
||||
rpipico.name=Raspberry Pi Pico
|
||||
rpipico.vid.0=0x2e8a
|
||||
rpipico.pid.0=0x000a
|
||||
|
|
@ -22,6 +23,7 @@ rpipico.build.led=
|
|||
rpipico.build.core=rp2040
|
||||
rpipico.build.mcu=rp2040
|
||||
rpipico.build.ldscript=memmap_default.ld
|
||||
rpipico.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
rpipico.menu.flash.2097152_0=2MB (no FS)
|
||||
rpipico.menu.flash.2097152_0.upload.maximum_size=2093056
|
||||
rpipico.menu.flash.2097152_0.build.flash_length=2093056
|
||||
|
|
@ -119,6 +121,7 @@ rpipicopicoprobe.build.led=
|
|||
rpipicopicoprobe.build.core=rp2040
|
||||
rpipicopicoprobe.build.mcu=rp2040
|
||||
rpipicopicoprobe.build.ldscript=memmap_default.ld
|
||||
rpipicopicoprobe.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
rpipicopicoprobe.menu.flash.2097152_0=2MB (no FS)
|
||||
rpipicopicoprobe.menu.flash.2097152_0.upload.maximum_size=2093056
|
||||
rpipicopicoprobe.menu.flash.2097152_0.build.flash_length=2093056
|
||||
|
|
@ -216,6 +219,7 @@ adafruitfeather.build.led=
|
|||
adafruitfeather.build.core=rp2040
|
||||
adafruitfeather.build.mcu=rp2040
|
||||
adafruitfeather.build.ldscript=memmap_default.ld
|
||||
adafruitfeather.build.boot2=boot2_generic_03h_4_padded_checksum
|
||||
adafruitfeather.menu.flash.8388608_0=8MB (no FS)
|
||||
adafruitfeather.menu.flash.8388608_0.upload.maximum_size=8384512
|
||||
adafruitfeather.menu.flash.8388608_0.build.flash_length=8384512
|
||||
|
|
@ -349,6 +353,7 @@ adafruitfeatherpicoprobe.build.led=
|
|||
adafruitfeatherpicoprobe.build.core=rp2040
|
||||
adafruitfeatherpicoprobe.build.mcu=rp2040
|
||||
adafruitfeatherpicoprobe.build.ldscript=memmap_default.ld
|
||||
adafruitfeatherpicoprobe.build.boot2=boot2_generic_03h_4_padded_checksum
|
||||
adafruitfeatherpicoprobe.menu.flash.8388608_0=8MB (no FS)
|
||||
adafruitfeatherpicoprobe.menu.flash.8388608_0.upload.maximum_size=8384512
|
||||
adafruitfeatherpicoprobe.menu.flash.8388608_0.build.flash_length=8384512
|
||||
|
|
@ -482,126 +487,55 @@ generic.build.led=
|
|||
generic.build.core=rp2040
|
||||
generic.build.mcu=rp2040
|
||||
generic.build.ldscript=memmap_default.ld
|
||||
generic.build.boot2=boot2_generic_03h_4_padded_checksum
|
||||
generic.menu.flash.2097152_0=2MB (no FS)
|
||||
generic.menu.flash.2097152_0.upload.maximum_size=2093056
|
||||
generic.menu.flash.2097152_0.build.flash_length=2093056
|
||||
generic.menu.flash.2097152_0.build.eeprom_start=270528512
|
||||
generic.menu.flash.2097152_0.build.fs_start=270528512
|
||||
generic.menu.flash.2097152_0.build.fs_end=270528512
|
||||
generic.menu.flash.2097152_1048576=2MB (FS: 1MB)
|
||||
generic.menu.flash.2097152_1048576.upload.maximum_size=1044480
|
||||
generic.menu.flash.2097152_1048576.build.flash_length=1044480
|
||||
generic.menu.flash.2097152_1048576.build.eeprom_start=270528512
|
||||
generic.menu.flash.2097152_1048576.build.fs_start=269479936
|
||||
generic.menu.flash.2097152_1048576.build.fs_end=270528512
|
||||
generic.menu.flash.4194304_0=4MB (no FS)
|
||||
generic.menu.flash.4194304_0.upload.maximum_size=4190208
|
||||
generic.menu.flash.4194304_0.build.flash_length=4190208
|
||||
generic.menu.flash.4194304_0.build.eeprom_start=272625664
|
||||
generic.menu.flash.4194304_0.build.fs_start=272625664
|
||||
generic.menu.flash.4194304_0.build.fs_end=272625664
|
||||
generic.menu.flash.4194304_2097152=4MB (FS: 2MB)
|
||||
generic.menu.flash.4194304_2097152.upload.maximum_size=2093056
|
||||
generic.menu.flash.4194304_2097152.build.flash_length=2093056
|
||||
generic.menu.flash.4194304_2097152.build.eeprom_start=272625664
|
||||
generic.menu.flash.4194304_2097152.build.fs_start=270528512
|
||||
generic.menu.flash.4194304_2097152.build.fs_end=272625664
|
||||
generic.menu.flash.8388608_0=8MB (no FS)
|
||||
generic.menu.flash.8388608_0.upload.maximum_size=8384512
|
||||
generic.menu.flash.8388608_0.build.flash_length=8384512
|
||||
generic.menu.flash.8388608_0.build.eeprom_start=276819968
|
||||
generic.menu.flash.8388608_0.build.fs_start=276819968
|
||||
generic.menu.flash.8388608_0.build.fs_end=276819968
|
||||
generic.menu.flash.8388608_4194304=8MB (FS: 4MB)
|
||||
generic.menu.flash.8388608_4194304.upload.maximum_size=4190208
|
||||
generic.menu.flash.8388608_4194304.build.flash_length=4190208
|
||||
generic.menu.flash.8388608_4194304.build.eeprom_start=276819968
|
||||
generic.menu.flash.8388608_4194304.build.fs_start=272625664
|
||||
generic.menu.flash.8388608_4194304.build.fs_end=276819968
|
||||
generic.menu.flash.16777216_0=16MB (no FS)
|
||||
generic.menu.flash.16777216_0.upload.maximum_size=16773120
|
||||
generic.menu.flash.16777216_0.build.flash_length=16773120
|
||||
generic.menu.flash.16777216_0.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_0.build.fs_start=285208576
|
||||
generic.menu.flash.16777216_0.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_65536=16MB (FS: 64KB)
|
||||
generic.menu.flash.16777216_65536.upload.maximum_size=16707584
|
||||
generic.menu.flash.16777216_65536.build.flash_length=16707584
|
||||
generic.menu.flash.16777216_65536.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_65536.build.fs_start=285143040
|
||||
generic.menu.flash.16777216_65536.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_131072=16MB (FS: 128KB)
|
||||
generic.menu.flash.16777216_131072.upload.maximum_size=16642048
|
||||
generic.menu.flash.16777216_131072.build.flash_length=16642048
|
||||
generic.menu.flash.16777216_131072.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_131072.build.fs_start=285077504
|
||||
generic.menu.flash.16777216_131072.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_262144=16MB (FS: 256KB)
|
||||
generic.menu.flash.16777216_262144.upload.maximum_size=16510976
|
||||
generic.menu.flash.16777216_262144.build.flash_length=16510976
|
||||
generic.menu.flash.16777216_262144.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_262144.build.fs_start=284946432
|
||||
generic.menu.flash.16777216_262144.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_524288=16MB (FS: 512KB)
|
||||
generic.menu.flash.16777216_524288.upload.maximum_size=16248832
|
||||
generic.menu.flash.16777216_524288.build.flash_length=16248832
|
||||
generic.menu.flash.16777216_524288.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_524288.build.fs_start=284684288
|
||||
generic.menu.flash.16777216_524288.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_1048576=16MB (FS: 1MB)
|
||||
generic.menu.flash.16777216_1048576.upload.maximum_size=15724544
|
||||
generic.menu.flash.16777216_1048576.build.flash_length=15724544
|
||||
generic.menu.flash.16777216_1048576.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_1048576.build.fs_start=284160000
|
||||
generic.menu.flash.16777216_1048576.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_2097152=16MB (FS: 2MB)
|
||||
generic.menu.flash.16777216_2097152.upload.maximum_size=14675968
|
||||
generic.menu.flash.16777216_2097152.build.flash_length=14675968
|
||||
generic.menu.flash.16777216_2097152.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_2097152.build.fs_start=283111424
|
||||
generic.menu.flash.16777216_2097152.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_3145728=16MB (FS: 3MB)
|
||||
generic.menu.flash.16777216_3145728.upload.maximum_size=13627392
|
||||
generic.menu.flash.16777216_3145728.build.flash_length=13627392
|
||||
generic.menu.flash.16777216_3145728.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_3145728.build.fs_start=282062848
|
||||
generic.menu.flash.16777216_3145728.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_4194304=16MB (FS: 4MB)
|
||||
generic.menu.flash.16777216_4194304.upload.maximum_size=12578816
|
||||
generic.menu.flash.16777216_4194304.build.flash_length=12578816
|
||||
generic.menu.flash.16777216_4194304.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_4194304.build.fs_start=281014272
|
||||
generic.menu.flash.16777216_4194304.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_5242880=16MB (FS: 5MB)
|
||||
generic.menu.flash.16777216_5242880.upload.maximum_size=11530240
|
||||
generic.menu.flash.16777216_5242880.build.flash_length=11530240
|
||||
generic.menu.flash.16777216_5242880.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_5242880.build.fs_start=279965696
|
||||
generic.menu.flash.16777216_5242880.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_6291456=16MB (FS: 6MB)
|
||||
generic.menu.flash.16777216_6291456.upload.maximum_size=10481664
|
||||
generic.menu.flash.16777216_6291456.build.flash_length=10481664
|
||||
generic.menu.flash.16777216_6291456.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_6291456.build.fs_start=278917120
|
||||
generic.menu.flash.16777216_6291456.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_7340032=16MB (FS: 7MB)
|
||||
generic.menu.flash.16777216_7340032.upload.maximum_size=9433088
|
||||
generic.menu.flash.16777216_7340032.build.flash_length=9433088
|
||||
generic.menu.flash.16777216_7340032.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_7340032.build.fs_start=277868544
|
||||
generic.menu.flash.16777216_7340032.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_8388608=16MB (FS: 8MB)
|
||||
generic.menu.flash.16777216_8388608.upload.maximum_size=8384512
|
||||
generic.menu.flash.16777216_8388608.build.flash_length=8384512
|
||||
generic.menu.flash.16777216_8388608.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_8388608.build.fs_start=276819968
|
||||
generic.menu.flash.16777216_8388608.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_9437184=16MB (FS: 9MB)
|
||||
generic.menu.flash.16777216_9437184.upload.maximum_size=7335936
|
||||
generic.menu.flash.16777216_9437184.build.flash_length=7335936
|
||||
generic.menu.flash.16777216_9437184.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_9437184.build.fs_start=275771392
|
||||
generic.menu.flash.16777216_9437184.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_10485760=16MB (FS: 10MB)
|
||||
generic.menu.flash.16777216_10485760.upload.maximum_size=6287360
|
||||
generic.menu.flash.16777216_10485760.build.flash_length=6287360
|
||||
generic.menu.flash.16777216_10485760.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_10485760.build.fs_start=274722816
|
||||
generic.menu.flash.16777216_10485760.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_11534336=16MB (FS: 11MB)
|
||||
generic.menu.flash.16777216_11534336.upload.maximum_size=5238784
|
||||
generic.menu.flash.16777216_11534336.build.flash_length=5238784
|
||||
generic.menu.flash.16777216_11534336.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_11534336.build.fs_start=273674240
|
||||
generic.menu.flash.16777216_11534336.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_12582912=16MB (FS: 12MB)
|
||||
generic.menu.flash.16777216_12582912.upload.maximum_size=4190208
|
||||
generic.menu.flash.16777216_12582912.build.flash_length=4190208
|
||||
generic.menu.flash.16777216_12582912.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_12582912.build.fs_start=272625664
|
||||
generic.menu.flash.16777216_12582912.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_13631488=16MB (FS: 13MB)
|
||||
generic.menu.flash.16777216_13631488.upload.maximum_size=3141632
|
||||
generic.menu.flash.16777216_13631488.build.flash_length=3141632
|
||||
generic.menu.flash.16777216_13631488.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_13631488.build.fs_start=271577088
|
||||
generic.menu.flash.16777216_13631488.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_14680064=16MB (FS: 14MB)
|
||||
generic.menu.flash.16777216_14680064.upload.maximum_size=2093056
|
||||
generic.menu.flash.16777216_14680064.build.flash_length=2093056
|
||||
generic.menu.flash.16777216_14680064.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_14680064.build.fs_start=270528512
|
||||
generic.menu.flash.16777216_14680064.build.fs_end=285208576
|
||||
generic.menu.flash.16777216_15728640=16MB (FS: 15MB)
|
||||
generic.menu.flash.16777216_15728640.upload.maximum_size=1044480
|
||||
generic.menu.flash.16777216_15728640.build.flash_length=1044480
|
||||
generic.menu.flash.16777216_15728640.build.eeprom_start=285208576
|
||||
generic.menu.flash.16777216_15728640.build.fs_start=269479936
|
||||
generic.menu.flash.16777216_15728640.build.fs_end=285208576
|
||||
generic.menu.freq.125=125 MHz
|
||||
generic.menu.freq.125.build.f_cpu=125000000L
|
||||
generic.menu.freq.50=50 MHz
|
||||
|
|
@ -644,6 +578,22 @@ generic.menu.dbglvl.All=All
|
|||
generic.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE
|
||||
generic.menu.dbglvl.NDEBUG=NDEBUG
|
||||
generic.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
|
||||
generic.menu.boot2.boot2_generic_03h_2_padded_checksum=Generic SPI /2
|
||||
generic.menu.boot2.boot2_generic_03h_2_padded_checksum.build.boot2=boot2_generic_03h_2_padded_checksum
|
||||
generic.menu.boot2.boot2_generic_03h_4_padded_checksum=Generic SPI /4
|
||||
generic.menu.boot2.boot2_generic_03h_4_padded_checksum.build.boot2=boot2_generic_03h_4_padded_checksum
|
||||
generic.menu.boot2.boot2_is25lp080_2_padded_checksum=IS25LP080 QSPI /2
|
||||
generic.menu.boot2.boot2_is25lp080_2_padded_checksum.build.boot2=boot2_is25lp080_2_padded_checksum
|
||||
generic.menu.boot2.boot2_is25lp080_4_padded_checksum=IS25LP080 QSPI /4
|
||||
generic.menu.boot2.boot2_is25lp080_4_padded_checksum.build.boot2=boot2_is25lp080_4_padded_checksum
|
||||
generic.menu.boot2.boot2_w25q080_2_padded_checksum=W25Q080 QSPI /2
|
||||
generic.menu.boot2.boot2_w25q080_2_padded_checksum.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
generic.menu.boot2.boot2_w25q080_4_padded_checksum=W25Q080 QSPI /4
|
||||
generic.menu.boot2.boot2_w25q080_4_padded_checksum.build.boot2=boot2_w25q080_4_padded_checksum
|
||||
generic.menu.boot2.boot2_w25x10_2_padded_checksum=W25X10CL QSPI /2
|
||||
generic.menu.boot2.boot2_w25x10_2_padded_checksum.build.boot2=boot2_w25x10_2_padded_checksum
|
||||
generic.menu.boot2.boot2_w25x10_4_padded_checksum=W25X10CL QSPI /4
|
||||
generic.menu.boot2.boot2_w25x10_4_padded_checksum.build.boot2=boot2_w25x10_4_padded_checksum
|
||||
genericpicoprobe.name=Generic RP2040 (Picoprobe)
|
||||
genericpicoprobe.vid.0=0x2e8a
|
||||
genericpicoprobe.pid.0=0xf00a
|
||||
|
|
@ -663,126 +613,55 @@ genericpicoprobe.build.led=
|
|||
genericpicoprobe.build.core=rp2040
|
||||
genericpicoprobe.build.mcu=rp2040
|
||||
genericpicoprobe.build.ldscript=memmap_default.ld
|
||||
genericpicoprobe.build.boot2=boot2_generic_03h_4_padded_checksum
|
||||
genericpicoprobe.menu.flash.2097152_0=2MB (no FS)
|
||||
genericpicoprobe.menu.flash.2097152_0.upload.maximum_size=2093056
|
||||
genericpicoprobe.menu.flash.2097152_0.build.flash_length=2093056
|
||||
genericpicoprobe.menu.flash.2097152_0.build.eeprom_start=270528512
|
||||
genericpicoprobe.menu.flash.2097152_0.build.fs_start=270528512
|
||||
genericpicoprobe.menu.flash.2097152_0.build.fs_end=270528512
|
||||
genericpicoprobe.menu.flash.2097152_1048576=2MB (FS: 1MB)
|
||||
genericpicoprobe.menu.flash.2097152_1048576.upload.maximum_size=1044480
|
||||
genericpicoprobe.menu.flash.2097152_1048576.build.flash_length=1044480
|
||||
genericpicoprobe.menu.flash.2097152_1048576.build.eeprom_start=270528512
|
||||
genericpicoprobe.menu.flash.2097152_1048576.build.fs_start=269479936
|
||||
genericpicoprobe.menu.flash.2097152_1048576.build.fs_end=270528512
|
||||
genericpicoprobe.menu.flash.4194304_0=4MB (no FS)
|
||||
genericpicoprobe.menu.flash.4194304_0.upload.maximum_size=4190208
|
||||
genericpicoprobe.menu.flash.4194304_0.build.flash_length=4190208
|
||||
genericpicoprobe.menu.flash.4194304_0.build.eeprom_start=272625664
|
||||
genericpicoprobe.menu.flash.4194304_0.build.fs_start=272625664
|
||||
genericpicoprobe.menu.flash.4194304_0.build.fs_end=272625664
|
||||
genericpicoprobe.menu.flash.4194304_2097152=4MB (FS: 2MB)
|
||||
genericpicoprobe.menu.flash.4194304_2097152.upload.maximum_size=2093056
|
||||
genericpicoprobe.menu.flash.4194304_2097152.build.flash_length=2093056
|
||||
genericpicoprobe.menu.flash.4194304_2097152.build.eeprom_start=272625664
|
||||
genericpicoprobe.menu.flash.4194304_2097152.build.fs_start=270528512
|
||||
genericpicoprobe.menu.flash.4194304_2097152.build.fs_end=272625664
|
||||
genericpicoprobe.menu.flash.8388608_0=8MB (no FS)
|
||||
genericpicoprobe.menu.flash.8388608_0.upload.maximum_size=8384512
|
||||
genericpicoprobe.menu.flash.8388608_0.build.flash_length=8384512
|
||||
genericpicoprobe.menu.flash.8388608_0.build.eeprom_start=276819968
|
||||
genericpicoprobe.menu.flash.8388608_0.build.fs_start=276819968
|
||||
genericpicoprobe.menu.flash.8388608_0.build.fs_end=276819968
|
||||
genericpicoprobe.menu.flash.8388608_4194304=8MB (FS: 4MB)
|
||||
genericpicoprobe.menu.flash.8388608_4194304.upload.maximum_size=4190208
|
||||
genericpicoprobe.menu.flash.8388608_4194304.build.flash_length=4190208
|
||||
genericpicoprobe.menu.flash.8388608_4194304.build.eeprom_start=276819968
|
||||
genericpicoprobe.menu.flash.8388608_4194304.build.fs_start=272625664
|
||||
genericpicoprobe.menu.flash.8388608_4194304.build.fs_end=276819968
|
||||
genericpicoprobe.menu.flash.16777216_0=16MB (no FS)
|
||||
genericpicoprobe.menu.flash.16777216_0.upload.maximum_size=16773120
|
||||
genericpicoprobe.menu.flash.16777216_0.build.flash_length=16773120
|
||||
genericpicoprobe.menu.flash.16777216_0.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_0.build.fs_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_0.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_65536=16MB (FS: 64KB)
|
||||
genericpicoprobe.menu.flash.16777216_65536.upload.maximum_size=16707584
|
||||
genericpicoprobe.menu.flash.16777216_65536.build.flash_length=16707584
|
||||
genericpicoprobe.menu.flash.16777216_65536.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_65536.build.fs_start=285143040
|
||||
genericpicoprobe.menu.flash.16777216_65536.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_131072=16MB (FS: 128KB)
|
||||
genericpicoprobe.menu.flash.16777216_131072.upload.maximum_size=16642048
|
||||
genericpicoprobe.menu.flash.16777216_131072.build.flash_length=16642048
|
||||
genericpicoprobe.menu.flash.16777216_131072.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_131072.build.fs_start=285077504
|
||||
genericpicoprobe.menu.flash.16777216_131072.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_262144=16MB (FS: 256KB)
|
||||
genericpicoprobe.menu.flash.16777216_262144.upload.maximum_size=16510976
|
||||
genericpicoprobe.menu.flash.16777216_262144.build.flash_length=16510976
|
||||
genericpicoprobe.menu.flash.16777216_262144.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_262144.build.fs_start=284946432
|
||||
genericpicoprobe.menu.flash.16777216_262144.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_524288=16MB (FS: 512KB)
|
||||
genericpicoprobe.menu.flash.16777216_524288.upload.maximum_size=16248832
|
||||
genericpicoprobe.menu.flash.16777216_524288.build.flash_length=16248832
|
||||
genericpicoprobe.menu.flash.16777216_524288.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_524288.build.fs_start=284684288
|
||||
genericpicoprobe.menu.flash.16777216_524288.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_1048576=16MB (FS: 1MB)
|
||||
genericpicoprobe.menu.flash.16777216_1048576.upload.maximum_size=15724544
|
||||
genericpicoprobe.menu.flash.16777216_1048576.build.flash_length=15724544
|
||||
genericpicoprobe.menu.flash.16777216_1048576.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_1048576.build.fs_start=284160000
|
||||
genericpicoprobe.menu.flash.16777216_1048576.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_2097152=16MB (FS: 2MB)
|
||||
genericpicoprobe.menu.flash.16777216_2097152.upload.maximum_size=14675968
|
||||
genericpicoprobe.menu.flash.16777216_2097152.build.flash_length=14675968
|
||||
genericpicoprobe.menu.flash.16777216_2097152.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_2097152.build.fs_start=283111424
|
||||
genericpicoprobe.menu.flash.16777216_2097152.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_3145728=16MB (FS: 3MB)
|
||||
genericpicoprobe.menu.flash.16777216_3145728.upload.maximum_size=13627392
|
||||
genericpicoprobe.menu.flash.16777216_3145728.build.flash_length=13627392
|
||||
genericpicoprobe.menu.flash.16777216_3145728.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_3145728.build.fs_start=282062848
|
||||
genericpicoprobe.menu.flash.16777216_3145728.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_4194304=16MB (FS: 4MB)
|
||||
genericpicoprobe.menu.flash.16777216_4194304.upload.maximum_size=12578816
|
||||
genericpicoprobe.menu.flash.16777216_4194304.build.flash_length=12578816
|
||||
genericpicoprobe.menu.flash.16777216_4194304.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_4194304.build.fs_start=281014272
|
||||
genericpicoprobe.menu.flash.16777216_4194304.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_5242880=16MB (FS: 5MB)
|
||||
genericpicoprobe.menu.flash.16777216_5242880.upload.maximum_size=11530240
|
||||
genericpicoprobe.menu.flash.16777216_5242880.build.flash_length=11530240
|
||||
genericpicoprobe.menu.flash.16777216_5242880.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_5242880.build.fs_start=279965696
|
||||
genericpicoprobe.menu.flash.16777216_5242880.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_6291456=16MB (FS: 6MB)
|
||||
genericpicoprobe.menu.flash.16777216_6291456.upload.maximum_size=10481664
|
||||
genericpicoprobe.menu.flash.16777216_6291456.build.flash_length=10481664
|
||||
genericpicoprobe.menu.flash.16777216_6291456.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_6291456.build.fs_start=278917120
|
||||
genericpicoprobe.menu.flash.16777216_6291456.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_7340032=16MB (FS: 7MB)
|
||||
genericpicoprobe.menu.flash.16777216_7340032.upload.maximum_size=9433088
|
||||
genericpicoprobe.menu.flash.16777216_7340032.build.flash_length=9433088
|
||||
genericpicoprobe.menu.flash.16777216_7340032.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_7340032.build.fs_start=277868544
|
||||
genericpicoprobe.menu.flash.16777216_7340032.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_8388608=16MB (FS: 8MB)
|
||||
genericpicoprobe.menu.flash.16777216_8388608.upload.maximum_size=8384512
|
||||
genericpicoprobe.menu.flash.16777216_8388608.build.flash_length=8384512
|
||||
genericpicoprobe.menu.flash.16777216_8388608.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_8388608.build.fs_start=276819968
|
||||
genericpicoprobe.menu.flash.16777216_8388608.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_9437184=16MB (FS: 9MB)
|
||||
genericpicoprobe.menu.flash.16777216_9437184.upload.maximum_size=7335936
|
||||
genericpicoprobe.menu.flash.16777216_9437184.build.flash_length=7335936
|
||||
genericpicoprobe.menu.flash.16777216_9437184.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_9437184.build.fs_start=275771392
|
||||
genericpicoprobe.menu.flash.16777216_9437184.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_10485760=16MB (FS: 10MB)
|
||||
genericpicoprobe.menu.flash.16777216_10485760.upload.maximum_size=6287360
|
||||
genericpicoprobe.menu.flash.16777216_10485760.build.flash_length=6287360
|
||||
genericpicoprobe.menu.flash.16777216_10485760.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_10485760.build.fs_start=274722816
|
||||
genericpicoprobe.menu.flash.16777216_10485760.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_11534336=16MB (FS: 11MB)
|
||||
genericpicoprobe.menu.flash.16777216_11534336.upload.maximum_size=5238784
|
||||
genericpicoprobe.menu.flash.16777216_11534336.build.flash_length=5238784
|
||||
genericpicoprobe.menu.flash.16777216_11534336.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_11534336.build.fs_start=273674240
|
||||
genericpicoprobe.menu.flash.16777216_11534336.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_12582912=16MB (FS: 12MB)
|
||||
genericpicoprobe.menu.flash.16777216_12582912.upload.maximum_size=4190208
|
||||
genericpicoprobe.menu.flash.16777216_12582912.build.flash_length=4190208
|
||||
genericpicoprobe.menu.flash.16777216_12582912.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_12582912.build.fs_start=272625664
|
||||
genericpicoprobe.menu.flash.16777216_12582912.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_13631488=16MB (FS: 13MB)
|
||||
genericpicoprobe.menu.flash.16777216_13631488.upload.maximum_size=3141632
|
||||
genericpicoprobe.menu.flash.16777216_13631488.build.flash_length=3141632
|
||||
genericpicoprobe.menu.flash.16777216_13631488.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_13631488.build.fs_start=271577088
|
||||
genericpicoprobe.menu.flash.16777216_13631488.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_14680064=16MB (FS: 14MB)
|
||||
genericpicoprobe.menu.flash.16777216_14680064.upload.maximum_size=2093056
|
||||
genericpicoprobe.menu.flash.16777216_14680064.build.flash_length=2093056
|
||||
genericpicoprobe.menu.flash.16777216_14680064.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_14680064.build.fs_start=270528512
|
||||
genericpicoprobe.menu.flash.16777216_14680064.build.fs_end=285208576
|
||||
genericpicoprobe.menu.flash.16777216_15728640=16MB (FS: 15MB)
|
||||
genericpicoprobe.menu.flash.16777216_15728640.upload.maximum_size=1044480
|
||||
genericpicoprobe.menu.flash.16777216_15728640.build.flash_length=1044480
|
||||
genericpicoprobe.menu.flash.16777216_15728640.build.eeprom_start=285208576
|
||||
genericpicoprobe.menu.flash.16777216_15728640.build.fs_start=269479936
|
||||
genericpicoprobe.menu.flash.16777216_15728640.build.fs_end=285208576
|
||||
genericpicoprobe.menu.freq.125=125 MHz
|
||||
genericpicoprobe.menu.freq.125.build.f_cpu=125000000L
|
||||
genericpicoprobe.menu.freq.50=50 MHz
|
||||
|
|
@ -825,3 +704,19 @@ genericpicoprobe.menu.dbglvl.All=All
|
|||
genericpicoprobe.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE
|
||||
genericpicoprobe.menu.dbglvl.NDEBUG=NDEBUG
|
||||
genericpicoprobe.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
|
||||
genericpicoprobe.menu.boot2.boot2_generic_03h_2_padded_checksum=Generic SPI /2
|
||||
genericpicoprobe.menu.boot2.boot2_generic_03h_2_padded_checksum.build.boot2=boot2_generic_03h_2_padded_checksum
|
||||
genericpicoprobe.menu.boot2.boot2_generic_03h_4_padded_checksum=Generic SPI /4
|
||||
genericpicoprobe.menu.boot2.boot2_generic_03h_4_padded_checksum.build.boot2=boot2_generic_03h_4_padded_checksum
|
||||
genericpicoprobe.menu.boot2.boot2_is25lp080_2_padded_checksum=IS25LP080 QSPI /2
|
||||
genericpicoprobe.menu.boot2.boot2_is25lp080_2_padded_checksum.build.boot2=boot2_is25lp080_2_padded_checksum
|
||||
genericpicoprobe.menu.boot2.boot2_is25lp080_4_padded_checksum=IS25LP080 QSPI /4
|
||||
genericpicoprobe.menu.boot2.boot2_is25lp080_4_padded_checksum.build.boot2=boot2_is25lp080_4_padded_checksum
|
||||
genericpicoprobe.menu.boot2.boot2_w25q080_2_padded_checksum=W25Q080 QSPI /2
|
||||
genericpicoprobe.menu.boot2.boot2_w25q080_2_padded_checksum.build.boot2=boot2_w25q080_2_padded_checksum
|
||||
genericpicoprobe.menu.boot2.boot2_w25q080_4_padded_checksum=W25Q080 QSPI /4
|
||||
genericpicoprobe.menu.boot2.boot2_w25q080_4_padded_checksum.build.boot2=boot2_w25q080_4_padded_checksum
|
||||
genericpicoprobe.menu.boot2.boot2_w25x10_2_padded_checksum=W25X10CL QSPI /2
|
||||
genericpicoprobe.menu.boot2.boot2_w25x10_2_padded_checksum.build.boot2=boot2_w25x10_2_padded_checksum
|
||||
genericpicoprobe.menu.boot2.boot2_w25x10_4_padded_checksum=W25X10CL QSPI /4
|
||||
genericpicoprobe.menu.boot2.boot2_w25x10_4_padded_checksum.build.boot2=boot2_w25x10_4_padded_checksum
|
||||
|
|
|
|||
BIN
lib/libpico.a
BIN
lib/libpico.a
Binary file not shown.
|
|
@ -32,13 +32,14 @@ PROVIDE ( _EEPROM_start = __EEPROM_START__ );
|
|||
PROVIDE ( _FS_start = __FS_START__ );
|
||||
PROVIDE ( _FS_end = __FS_END__ );
|
||||
|
||||
|
||||
ENTRY(_entry_point)
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
/* Second stage bootloader is prepended to the image. It must be 256 bytes big
|
||||
and checksummed. It is usually built by the boot_stage2 target
|
||||
in the Pico SDK
|
||||
in the Raspberry Pi Pico SDK
|
||||
*/
|
||||
|
||||
.flash_begin : {
|
||||
|
|
@ -62,12 +63,11 @@ SECTIONS
|
|||
*/
|
||||
|
||||
.text : {
|
||||
__reset_start = .;
|
||||
KEEP (*(.reset))
|
||||
. = ALIGN(256);
|
||||
__reset_end = .;
|
||||
ASSERT(__reset_end - __reset_start == 256, "ERROR: reset section should only be 256 bytes");
|
||||
__logical_binary_start = .;
|
||||
KEEP (*(.vectors))
|
||||
KEEP (*(.binary_info_header))
|
||||
__binary_info_header_end = .;
|
||||
KEEP (*(.reset))
|
||||
/* TODO revisit this now memset/memcpy/float in ROM */
|
||||
/* bit of a hack right now to exclude all floating point and time critical (e.g. memset, memcpy) code from
|
||||
* FLASH ... we will include any thing excluded here in .data below by default */
|
||||
|
|
@ -249,6 +249,8 @@ SECTIONS
|
|||
|
||||
/* Check if data + heap + stack exceeds RAM limit */
|
||||
ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed")
|
||||
|
||||
ASSERT( __binary_info_header_end - __logical_binary_start <= 256, "Binary info must be in first 256 bytes of the binary")
|
||||
/* todo assert on extra code */
|
||||
}
|
||||
|
||||
|
|
|
|||
18
pico-sdk-lib/boot.sh
Executable file
18
pico-sdk-lib/boot.sh
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
mkdir -p pico
|
||||
touch pico/config.h
|
||||
|
||||
for type in boot2_generic_03h boot2_is25lp080 boot2_w25q080 boot2_w25x10cl; do
|
||||
for div in 2 4; do
|
||||
../../system/arm-none-eabi/bin/arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -DPICO_FLASH_SPI_CLKDIV=$div -c ../../pico-sdk/src/rp2_common/boot_stage2/$type.S -I ../../pico-sdk/src/rp2_common/pico_platform/include/ -I ../../pico-sdk/src/rp2040/hardware_regs/include/ -I../../pico-sdk/src/rp2_common/boot_stage2/asminclude/ -I.
|
||||
|
||||
../../system/arm-none-eabi/bin/arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -Wl,--build-id=none --specs=nosys.specs -nostartfiles -Wl,--script=../../pico-sdk/src/rp2_common/boot_stage2/boot_stage2.ld -Wl,-Map=$type.$div.elf.map $type.o -o $type.$div.elf
|
||||
|
||||
../../system/arm-none-eabi/bin/arm-none-eabi-objdump -h $type.$div.elf > $type.$div.dis
|
||||
../../system/arm-none-eabi/bin/arm-none-eabi-objdump -d $type.$div.elf >> $type.$div.dis
|
||||
|
||||
../../system/arm-none-eabi/bin/arm-none-eabi-objcopy -Obinary $type.$div.elf $type.$div.bin
|
||||
|
||||
python3 ../../pico-sdk/src/rp2_common/boot_stage2/pad_checksum -s 0xffffffff $type.$div.bin ${type}_${div}_padded_checksum.S
|
||||
done
|
||||
done
|
||||
|
||||
|
|
@ -6,3 +6,12 @@ PICO_SDK_PATH=../../pico-sdk/ PATH="$(cd ../../system/arm-none-eabi/bin; pwd):$P
|
|||
make
|
||||
cp libpico.a ../../lib/.
|
||||
cp generated/pico_base/pico/version.h ../../pico_base/pico/.
|
||||
cd ..
|
||||
|
||||
rm -rf boot
|
||||
mkdir boot
|
||||
cd boot
|
||||
../boot.sh
|
||||
cp *.S ../../assembly/.
|
||||
cd ..
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ build.eeprom_start=
|
|||
build.fs_start=
|
||||
build.fs_end=
|
||||
|
||||
|
||||
build.boot2=boot2_generic_03h_4_padded_checksum
|
||||
|
||||
# Allow Pico boards do be auto-discovered by the IDE
|
||||
discovery.rp2040.pattern="{runtime.tools.pqt-python3.path}/python3" "{runtime.platform.path}/tools/discovery.py"
|
||||
|
|
@ -107,7 +107,7 @@ recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compil
|
|||
|
||||
## Combine gc-sections, archives, and objects
|
||||
recipe.hooks.linking.prelink.1.pattern="{runtime.tools.pqt-python3.path}/python3" "{runtime.platform.path}/tools/simplesub.py" --input "{runtime.platform.path}/lib/memmap_default.ld" --out "{build.path}/memmap_default.ld" --sub __FLASH_LENGTH__ {build.flash_length} --sub __EEPROM_START__ {build.eeprom_start} --sub __FS_START__ {build.fs_start} --sub __FS_END__ {build.fs_end}
|
||||
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" "-L{build.path}" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} "-Wl,--script={build.path}/memmap_default.ld" "-Wl,-Map,{build.path}/{build.project_name}.map" --specs=nosys.specs -Wl,--start-group {compiler.ldflags} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "{runtime.platform.path}/lib/libpico.a" -lm "-I{runtime.platform.path}/pico-sdk/src/rp2040/hardware_regs/include/" "-I{runtime.platform.path}/pico-sdk/src/common/pico_binary_info/include" "{runtime.platform.path}/assembly/bs2_default_padded_checksummed.S" -lc -lstdc++ -Wl,--end-group
|
||||
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" "-L{build.path}" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} "-Wl,--script={build.path}/memmap_default.ld" "-Wl,-Map,{build.path}/{build.project_name}.map" --specs=nosys.specs -Wl,--start-group {compiler.ldflags} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "{runtime.platform.path}/lib/libpico.a" -lm "-I{runtime.platform.path}/pico-sdk/src/rp2040/hardware_regs/include/" "-I{runtime.platform.path}/pico-sdk/src/common/pico_binary_info/include" "{runtime.platform.path}/assembly/{build.boot2}.S" -lc -lstdc++ -Wl,--end-group
|
||||
|
||||
## Create output (UF2 file)
|
||||
recipe.objcopy.uf2.pattern="{runtime.tools.pqt-elf2uf2.path}/elf2uf2" "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.uf2"
|
||||
|
|
|
|||
|
|
@ -36,7 +36,15 @@ def BuildFreq(name):
|
|||
print("%s.menu.freq.%s=%s MHz%s" % (name, f, f, warn))
|
||||
print("%s.menu.freq.%s.build.f_cpu=%dL" % (name, f, f * 1000000))
|
||||
|
||||
def BuildHeader(name, prettyname, pid, boarddefine, variant, uploadtool, flashsize):
|
||||
def BuildBoot(name):
|
||||
for l in [ ("Generic SPI /2", "boot2_generic_03h_2_padded_checksum"), ("Generic SPI /4", "boot2_generic_03h_4_padded_checksum"),
|
||||
("IS25LP080 QSPI /2", "boot2_is25lp080_2_padded_checksum"), ("IS25LP080 QSPI /4", "boot2_is25lp080_4_padded_checksum"),
|
||||
("W25Q080 QSPI /2", "boot2_w25q080_2_padded_checksum"), ("W25Q080 QSPI /4", "boot2_w25q080_4_padded_checksum"),
|
||||
("W25X10CL QSPI /2", "boot2_w25x10cl_2_padded_checksum"), ("W25X10CL QSPI /4", "boot2_w25x10cl_4_padded_checksum") ]:
|
||||
print("%s.menu.boot2.%s=%s" % (name, l[1], l[0]))
|
||||
print("%s.menu.boot2.%s.build.boot2=%s" % (name, l[1], l[1]))
|
||||
|
||||
def BuildHeader(name, prettyname, pid, boarddefine, variant, uploadtool, flashsize, boot2):
|
||||
print("%s.name=%s" % (name, prettyname))
|
||||
print("%s.vid.0=0x2e8a" % (name))
|
||||
print("%s.pid.0=%s" % (name, pid))
|
||||
|
|
@ -56,6 +64,7 @@ def BuildHeader(name, prettyname, pid, boarddefine, variant, uploadtool, flashsi
|
|||
print("%s.build.core=rp2040" % (name))
|
||||
print("%s.build.mcu=rp2040" % (name))
|
||||
print("%s.build.ldscript=memmap_default.ld" % (name))
|
||||
print("%s.build.boot2=%s" % (name, boot2))
|
||||
|
||||
def BuildGlobalMenuList():
|
||||
print("menu.BoardModel=Model")
|
||||
|
|
@ -63,23 +72,33 @@ def BuildGlobalMenuList():
|
|||
print("menu.freq=CPU Speed")
|
||||
print("menu.dbgport=Debug Port")
|
||||
print("menu.dbglvl=Debug Level")
|
||||
print("menu.boot2=Boot Stage 2")
|
||||
|
||||
|
||||
def MakeBoard(name, prettyname, pid, boarddefine, flashsizemb):
|
||||
def MakeBoard(name, prettyname, pid, boarddefine, flashsizemb, boot2):
|
||||
for a, b, c in [ ["", "", "uf2conv"], ["picoprobe", " (Picoprobe)", "picoprobe"]]:
|
||||
n = name + a
|
||||
p = prettyname + b
|
||||
fssizelist = [ 0, 64 * 1024, 128 * 1024, 256 * 1024, 512 * 1024 ]
|
||||
for i in range(1, flashsizemb):
|
||||
fssizelist.append(i * 1024 * 1024)
|
||||
BuildHeader(n, p, pid, boarddefine, name, c, flashsizemb * 1024 * 1024)
|
||||
BuildFlashMenu(n, flashsizemb * 1024 * 1024, fssizelist)
|
||||
BuildHeader(n, p, pid, boarddefine, name, c, flashsizemb * 1024 * 1024, boot2)
|
||||
if name == "generic":
|
||||
BuildFlashMenu(n, 2*1024*1024, [0, 1*1024*1024])
|
||||
BuildFlashMenu(n, 4*1024*1024, [0, 2*1024*1024])
|
||||
BuildFlashMenu(n, 8*1024*1024, [0, 4*1024*1024])
|
||||
BuildFlashMenu(n, 16*1024*1024, [0, 8*1024*1024])
|
||||
else:
|
||||
BuildFlashMenu(n, flashsizemb * 1024 * 1024, fssizelist)
|
||||
BuildFreq(n)
|
||||
BuildDebugPort(n)
|
||||
BuildDebugLevel(n)
|
||||
if name == "generic":
|
||||
BuildBoot(n)
|
||||
|
||||
|
||||
BuildGlobalMenuList()
|
||||
MakeBoard("rpipico", "Raspberry Pi Pico", "0x000a", "RASPBERRY_PI_PICO", 2)
|
||||
MakeBoard("adafruitfeather", "Adafruit Feather RP2040", "0x000b", "ADAFRUIT_FEATHER_RP2040", 8)
|
||||
MakeBoard("generic", "Generic RP2040", "0xf00a", "GENERIC_RP2040", 16)
|
||||
MakeBoard("rpipico", "Raspberry Pi Pico", "0x000a", "RASPBERRY_PI_PICO", 2, "boot2_w25q080_2_padded_checksum")
|
||||
MakeBoard("adafruitfeather", "Adafruit Feather RP2040", "0x000b", "ADAFRUIT_FEATHER_RP2040", 8, "boot2_generic_03h_4_padded_checksum")
|
||||
MakeBoard("generic", "Generic RP2040", "0xf00a", "GENERIC_RP2040", 16, "boot2_generic_03h_4_padded_checksum")
|
||||
|
||||
|
|
|
|||
1
variants/generic/pins_arduino.h
Normal file
1
variants/generic/pins_arduino.h
Normal file
|
|
@ -0,0 +1 @@
|
|||
#include "common.h"
|
||||
Loading…
Reference in a new issue