From c867420e9be0cbe920cd33d36a09553fdc8f5996 Mon Sep 17 00:00:00 2001 From: soypat Date: Sun, 8 Sep 2024 10:48:21 -0300 Subject: [PATCH 01/16] add linker scripts for rp2350 --- src/machine/machine_rp2350.go | 109 +++++++++++++++++++++++++ targets/pico2.json | 10 +++ targets/rp2350.json | 19 +++++ targets/rp2350.ld | 51 ++++++++++++ tools/gen-device-svd/gen-device-svd.go | 5 +- 5 files changed, 192 insertions(+), 2 deletions(-) create mode 100644 src/machine/machine_rp2350.go create mode 100644 targets/pico2.json create mode 100644 targets/rp2350.json create mode 100644 targets/rp2350.ld diff --git a/src/machine/machine_rp2350.go b/src/machine/machine_rp2350.go new file mode 100644 index 0000000000..62cea7cf17 --- /dev/null +++ b/src/machine/machine_rp2350.go @@ -0,0 +1,109 @@ +//go:build rp2350 + +package machine + +// GPIO pins +const ( + GPIO0 Pin = 0 + GPIO1 Pin = 1 + GPIO2 Pin = 2 + GPIO3 Pin = 3 + GPIO4 Pin = 4 + GPIO5 Pin = 5 + GPIO6 Pin = 6 + GPIO7 Pin = 7 + GPIO8 Pin = 8 + GPIO9 Pin = 9 + GPIO10 Pin = 10 + GPIO11 Pin = 11 + GPIO12 Pin = 12 + GPIO13 Pin = 13 + GPIO14 Pin = 14 + GPIO15 Pin = 15 + GPIO16 Pin = 16 + GPIO17 Pin = 17 + GPIO18 Pin = 18 + GPIO19 Pin = 19 + GPIO20 Pin = 20 + GPIO21 Pin = 21 + GPIO22 Pin = 22 + GPIO23 Pin = 23 + GPIO24 Pin = 24 + GPIO25 Pin = 25 + GPIO26 Pin = 26 + GPIO27 Pin = 27 + GPIO28 Pin = 28 + GPIO29 Pin = 29 +) + +/* memory.x +MEMORY { + /* + * The RP2350 has either external or internal flash. + * + * 2 MiB is a safe default here, although a Pico 2 has 4 MiB. + * / + FLASH : ORIGIN = 0x10000000, LENGTH = 2048K + /* + * RAM consists of 8 banks, SRAM0-SRAM7, with a striped mapping. + * This is usually good for performance, as it distributes load on + * those banks evenly. + * / + RAM : ORIGIN = 0x20000000, LENGTH = 512K + /* + * RAM banks 8 and 9 use a direct mapping. They can be used to have + * memory areas dedicated for some specific job, improving predictability + * of access times. + * Example: Separate stacks for core0 and core1. + * / + SRAM4 : ORIGIN = 0x20080000, LENGTH = 4K + SRAM5 : ORIGIN = 0x20081000, LENGTH = 4K + } + + SECTIONS { + /* ### Boot ROM info + * + * Goes after .vector_table, to keep it in the first 4K of flash + * where the Boot ROM (and picotool) can find it + * / + .start_block : ALIGN(4) + { + KEEP(*(.start_block)); + } > FLASH + + } INSERT AFTER .vector_table; + + /* move .text to start /after/ the boot info * / + _stext = ADDR(.start_block) + SIZEOF(.start_block); + + SECTIONS { + /* ### Picotool 'Binary Info' Entries + * + * Picotool looks through this block (as we have pointers to it in our + * header) to find interesting information. + * / + .bi_entries : ALIGN(4) + { + /* We put this in the header * / + __bi_entries_start = .; + /* Here are the entries * / + KEEP(*(.bi_entries)); + /* Keep this block a nice round size * / + . = ALIGN(4); + /* We put this in the header * / + __bi_entries_end = .; + } > FLASH + } INSERT AFTER .text; + + SECTIONS { + /* ### Boot ROM extra info + * + * Goes after everything in our program, so it can contain a signature. + * / + .end_block : ALIGN(4) + { + KEEP(*(.end_block)); + } > FLASH + + } INSERT AFTER .bss; +*/ diff --git a/targets/pico2.json b/targets/pico2.json new file mode 100644 index 0000000000..13f07e18cb --- /dev/null +++ b/targets/pico2.json @@ -0,0 +1,10 @@ +{ + "inherits": [ + "rp2350" + ], + "build-tags": ["pico2"], + "linkerscript": "targets/pico2.ld", + "extra-files": [ + "targets/pico_boot_stage2.S" + ] +} diff --git a/targets/rp2350.json b/targets/rp2350.json new file mode 100644 index 0000000000..210f04b2ef --- /dev/null +++ b/targets/rp2350.json @@ -0,0 +1,19 @@ +{ + "inherits": ["cortex-m33"], + "build-tags": ["rp2350", "rp"], + "flash-1200-bps-reset": "true", + "flash-method": "msd", + "serial": "usb", + "msd-volume-name": ["RP2350"], + "msd-firmware-name": "firmware.uf2", + "binary-format": "uf2", + "uf2-family-id": "0xe48bff59","comment":"See page 393 of RP2350 datasheet: RP2350 Arm Secure image (i.e. one intended to be booted directly by the bootrom)", + "rp2040-boot-patch": true, + "extra-files": [ + "src/device/rp/rp2040.s" + ], + "linkerscript": "targets/rp2350.ld", + "openocd-interface": "picoprobe", + "openocd-transport": "swd", + "openocd-target": "rp2350" +} diff --git a/targets/rp2350.ld b/targets/rp2350.ld new file mode 100644 index 0000000000..209b1e4db0 --- /dev/null +++ b/targets/rp2350.ld @@ -0,0 +1,51 @@ +/* Reference: https://github.com/rp-rs/rp-hal/blob/main/rp235x-hal-examples/memory.x */ +MEMORY { + /* 2MiB safe default. */ + FLASH : ORIGIN = 0x10000000, LENGTH = 2048K + /* RAM consists of 8 banks, SRAM0..SRAM7 with striped mapping. */ + RAM : ORIGIN = 0x20000000, LENGTH = 512K + /* Banks 8 and 9 use direct mapping which can be + specailized for applications where predictable access time is beneficial. + i.e: Separate stacks for core0 and core1. */ + SRAM4 : ORIGIN = 0x20080000, LENGTH = 4K + SRAM5 : ORIGIN = 0x20081000, LENGTH = 4K + } + + SECTIONS { + /* Boot ROM info. + Goes after .vector_table to keep it in first 4K of flash + where Boot ROM and picotool can find it. */ + .start_block : ALIGN(4) + { + __start_block_addr = .; + KEEP(*(.start_block)); + } > FLASH + } INSERT AFTER .vector_table; + + /* move .text to start /after/ the boot info. */ + _stext = ADDR(.start_block) + SIZEOF(.start_block); + + SECTIONS { + /* Picotool 'Binary Info' Entries. + Picotool looks through this block (as we have pointers to it in our + header) to find interesting information. */ + .bi_entries : ALIGN(4) + { + __bi_entries_start = .; + KEEP(*(.bi_entries)); /* Put entries. */ + . = ALIGN(4); /* Keep a nice round size. */ + __bi_entries_end = .; + } > FLASH + } INSERT AFTER .text; + + SECTIONS { + /* Boot ROM extra info. Goes after everything in program. */ + .end_block : ALIGN(4) + { + __end_block_addr = .; + KEEP(*(.end_block)); + } > FLASH + } INSERT AFTER .bss; + +PROVIDE(start_to_end = __end_block_addr - __start_block_addr); +PROVIDE(end_to_start = __start_block_addr - __end_block_addr); diff --git a/tools/gen-device-svd/gen-device-svd.go b/tools/gen-device-svd/gen-device-svd.go index 0c49986ab9..ed19978305 100755 --- a/tools/gen-device-svd/gen-device-svd.go +++ b/tools/gen-device-svd/gen-device-svd.go @@ -902,8 +902,9 @@ func writeGo(outdir string, device *Device, interruptSystem string) error { //go:build {{.pkgName}} && {{.device.Metadata.NameLower}} -// {{.device.Metadata.Description}} -// +/* +{{.device.Metadata.Description}} +*/ {{.device.Metadata.LicenseBlock}} package {{.pkgName}} From 583eef31791bf5d2c798995e80e81930b69702b2 Mon Sep 17 00:00:00 2001 From: soypat Date: Sun, 8 Sep 2024 11:29:27 -0300 Subject: [PATCH 02/16] add bootloader --- targets/rp2350_boot2_generic03h.s | 392 ++++++++++++++++++++++++++++++ 1 file changed, 392 insertions(+) create mode 100644 targets/rp2350_boot2_generic03h.s diff --git a/targets/rp2350_boot2_generic03h.s b/targets/rp2350_boot2_generic03h.s new file mode 100644 index 0000000000..d76c908e6c --- /dev/null +++ b/targets/rp2350_boot2_generic03h.s @@ -0,0 +1,392 @@ +// ---------------------------------------------------------------------------- +// Second stage boot code +// Copyright (c) 2019-2021 Raspberry Pi (Trading) Ltd. +// SPDX-License-Identifier: BSD-3-Clause +// +// Device: Anything which responds to 03h serial read command +// +// Details: * Configure SSI to translate each APB read into a 03h command +// * 8 command clocks, 24 address clocks and 32 data clocks +// * This enables you to boot from almost anything: you can pretty +// much solder a potato to your PCB, or a piece of cheese +// * The tradeoff is performance around 3x worse than QSPI XIP +// +// Building: * This code must be position-independent, and use stack only +// * The code will be padded to a size of 256 bytes, including a +// 4-byte checksum. Therefore code size cannot exceed 252 bytes. +// ---------------------------------------------------------------------------- + +// #include "pico.h" // https://github.com/raspberrypi/pico-sdk/blob/master/src/boards/include/boards/pico.h +// Figure out what boot uses... + +// #include "pico/asm_helper.S" // https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/pico_platform/include/pico/asm_helper.S +#if !PICO_ASSEMBLER_IS_CLANG +#define apsr_nzcv r15 +#endif +# note we don't do this by default in this file for backwards comaptibility with user code +# that may include this file, but not use unified syntax. Note that this macro does equivalent +# setup to the pico_default_asm macro for inline assembly in C code. +.macro pico_default_asm_setup +#ifndef __riscv +.syntax unified +.cpu cortex-m33 +.fpu fpv5-sp-d16 +.thumb +#endif +.endm + +// do not put align in here as it is used mid function sometimes +.macro regular_func x +.global \x +.type \x,%function +#ifndef __riscv +.thumb_func +#endif +\x: +.endm + +.macro weak_func x +.weak \x +.type \x,%function +#ifndef __riscv +.thumb_func +#endif +\x: +.endm + +.macro regular_func_with_section x +.section .text.\x +regular_func \x +.endm + +// do not put align in here as it is used mid function sometimes +.macro wrapper_func x +regular_func WRAPPER_FUNC_NAME(\x) +.endm + +.macro weak_wrapper_func x +weak_func WRAPPER_FUNC_NAME(\x) +.endm + +.macro __pre_init_with_offset func, offset, priority_string1 +.section .preinit_array.\priority_string1 +.p2align 2 +.word \func + \offset +.endm + +# backwards compatibility +.macro __pre_init func, priority_string1 +__pre_init_with_offset func, 0, priority_string1 +.endm + +#ifdef __riscv +// rd = (rs1 >> rs2[4:0]) & ~(-1 << nbits) +.macro h3.bextm rd rs1 rs2 nbits +.if (\nbits < 1) || (\nbits > 8) +.err +.endif + .insn r 0x0b, 0x4, (((\nbits - 1) & 0x7 ) << 1), \rd, \rs1, \rs2 +.endm + +// rd = (rs1 >> shamt) & ~(-1 << nbits) +.macro h3.bextmi rd rs1 shamt nbits +.if (\nbits < 1) || (\nbits > 8) +.err +.endif +.if (\shamt < 0) || (\shamt > 31) +.err +.endif + .insn i 0x0b, 0x4, \rd, \rs1, (\shamt & 0x1f) | (((\nbits - 1) & 0x7 ) << 6) +.endm +#endif + + +// #include "hardware/platform_defs.h" // https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/hardware_regs/include/hardware/platform_defs.h +#ifndef _u +#ifdef __ASSEMBLER__ +#define _u(x) x +#else +#define _u(x) x ## u +#endif +#endif + +// #include "hardware/regs/addressmap.h" https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/hardware_regs/include/hardware/regs/addressmap.h +// Register address offsets for atomic RMW aliases +#define REG_ALIAS_RW_BITS (_u(0x0) << _u(12)) +#define REG_ALIAS_XOR_BITS (_u(0x1) << _u(12)) +#define REG_ALIAS_SET_BITS (_u(0x2) << _u(12)) +#define REG_ALIAS_CLR_BITS (_u(0x3) << _u(12)) + +#define ROM_BASE _u(0x00000000) +#define XIP_BASE _u(0x10000000) +#define XIP_SRAM_BASE _u(0x13ffc000) +#define XIP_END _u(0x14000000) +#define XIP_NOCACHE_NOALLOC_BASE _u(0x14000000) +#define XIP_SRAM_END _u(0x14000000) +#define XIP_NOCACHE_NOALLOC_END _u(0x18000000) +#define XIP_MAINTENANCE_BASE _u(0x18000000) +#define XIP_NOCACHE_NOALLOC_NOTRANSLATE_BASE _u(0x1c000000) +#define SRAM0_BASE _u(0x20000000) +#define XIP_NOCACHE_NOALLOC_NOTRANSLATE_END _u(0x20000000) +#define SRAM_BASE _u(0x20000000) +#define SRAM_STRIPED_BASE _u(0x20000000) +#define SRAM4_BASE _u(0x20040000) +#define SRAM8_BASE _u(0x20080000) +#define SRAM_STRIPED_END _u(0x20080000) +#define SRAM_SCRATCH_X_BASE _u(0x20080000) +#define SRAM9_BASE _u(0x20081000) +#define SRAM_SCRATCH_Y_BASE _u(0x20081000) +#define SRAM_END _u(0x20082000) +#define SYSINFO_BASE _u(0x40000000) +#define SYSCFG_BASE _u(0x40008000) +#define CLOCKS_BASE _u(0x40010000) +#define PSM_BASE _u(0x40018000) +#define RESETS_BASE _u(0x40020000) +#define IO_BANK0_BASE _u(0x40028000) +#define IO_QSPI_BASE _u(0x40030000) +#define PADS_BANK0_BASE _u(0x40038000) +#define PADS_QSPI_BASE _u(0x40040000) +#define XOSC_BASE _u(0x40048000) +#define PLL_SYS_BASE _u(0x40050000) +#define PLL_USB_BASE _u(0x40058000) +#define ACCESSCTRL_BASE _u(0x40060000) +#define BUSCTRL_BASE _u(0x40068000) +#define UART0_BASE _u(0x40070000) +#define UART1_BASE _u(0x40078000) +#define SPI0_BASE _u(0x40080000) +#define SPI1_BASE _u(0x40088000) +#define I2C0_BASE _u(0x40090000) +#define I2C1_BASE _u(0x40098000) +#define ADC_BASE _u(0x400a0000) +#define PWM_BASE _u(0x400a8000) +#define TIMER0_BASE _u(0x400b0000) +#define TIMER1_BASE _u(0x400b8000) +#define HSTX_CTRL_BASE _u(0x400c0000) +#define XIP_CTRL_BASE _u(0x400c8000) +#define XIP_QMI_BASE _u(0x400d0000) +#define WATCHDOG_BASE _u(0x400d8000) +#define BOOTRAM_BASE _u(0x400e0000) +#define BOOTRAM_END _u(0x400e0400) +#define ROSC_BASE _u(0x400e8000) +#define TRNG_BASE _u(0x400f0000) +#define SHA256_BASE _u(0x400f8000) +#define POWMAN_BASE _u(0x40100000) +#define TICKS_BASE _u(0x40108000) +#define OTP_BASE _u(0x40120000) +#define OTP_DATA_BASE _u(0x40130000) +#define OTP_DATA_RAW_BASE _u(0x40134000) +#define OTP_DATA_GUARDED_BASE _u(0x40138000) +#define OTP_DATA_RAW_GUARDED_BASE _u(0x4013c000) +#define CORESIGHT_PERIPH_BASE _u(0x40140000) +#define CORESIGHT_ROMTABLE_BASE _u(0x40140000) +#define CORESIGHT_AHB_AP_CORE0_BASE _u(0x40142000) +#define CORESIGHT_AHB_AP_CORE1_BASE _u(0x40144000) +#define CORESIGHT_TIMESTAMP_GEN_BASE _u(0x40146000) +#define CORESIGHT_ATB_FUNNEL_BASE _u(0x40147000) +#define CORESIGHT_TPIU_BASE _u(0x40148000) +#define CORESIGHT_CTI_BASE _u(0x40149000) +#define CORESIGHT_APB_AP_RISCV_BASE _u(0x4014a000) +#define DFT_BASE _u(0x40150000) +#define GLITCH_DETECTOR_BASE _u(0x40158000) +#define TBMAN_BASE _u(0x40160000) +#define DMA_BASE _u(0x50000000) +#define USBCTRL_BASE _u(0x50100000) +#define USBCTRL_DPRAM_BASE _u(0x50100000) +#define USBCTRL_REGS_BASE _u(0x50110000) +#define PIO0_BASE _u(0x50200000) +#define PIO1_BASE _u(0x50300000) +#define PIO2_BASE _u(0x50400000) +#define XIP_AUX_BASE _u(0x50500000) +#define HSTX_FIFO_BASE _u(0x50600000) +#define CORESIGHT_TRACE_BASE _u(0x50700000) +#define SIO_BASE _u(0xd0000000) +#define SIO_NONSEC_BASE _u(0xd0020000) +#define PPB_BASE _u(0xe0000000) +#define PPB_NONSEC_BASE _u(0xe0020000) +#define EPPB_BASE _u(0xe0080000) + +// #include "hardware/regs/qmi.h" // https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/hardware_regs/include/hardware/regs/qmi.h +// Thats a lot of content... +#define QMI_M0_TIMING_CLKDIV_LSB _u(0) +#define QMI_M0_TIMING_CLKDIV_BITS _u(0x000000ff) +#define QMI_M0_TIMING_RXDELAY_LSB _u(8) +#define QMI_M0_TIMING_RXDELAY_BITS _u(0x00000700) +#define QMI_M0_TIMING_COOLDOWN_RESET _u(0x1) +#define QMI_M0_TIMING_COOLDOWN_BITS _u(0xc0000000) +#define QMI_M0_TIMING_COOLDOWN_MSB _u(31) +#define QMI_M0_TIMING_COOLDOWN_LSB _u(30) +#define QMI_M0_TIMING_COOLDOWN_ACCESS "RW" +#define QMI_M0_RCMD_PREFIX_RESET _u(0x03) +#define QMI_M0_RCMD_PREFIX_BITS _u(0x000000ff) +#define QMI_M0_RCMD_PREFIX_MSB _u(7) +#define QMI_M0_RCMD_PREFIX_LSB _u(0) +#define QMI_M0_RCMD_PREFIX_ACCESS "RW" +#define QMI_M0_RFMT_PREFIX_WIDTH_RESET _u(0x0) +#define QMI_M0_RFMT_PREFIX_WIDTH_BITS _u(0x00000003) +#define QMI_M0_RFMT_PREFIX_WIDTH_MSB _u(1) +#define QMI_M0_RFMT_PREFIX_WIDTH_LSB _u(0) +#define QMI_M0_RFMT_PREFIX_WIDTH_ACCESS "RW" +#define QMI_M0_RFMT_PREFIX_WIDTH_VALUE_S _u(0x0) +#define QMI_M0_RFMT_PREFIX_WIDTH_VALUE_D _u(0x1) +#define QMI_M0_RFMT_PREFIX_WIDTH_VALUE_Q _u(0x2) + +#define QMI_M0_RFMT_ADDR_WIDTH_RESET _u(0x0) +#define QMI_M0_RFMT_ADDR_WIDTH_BITS _u(0x0000000c) +#define QMI_M0_RFMT_ADDR_WIDTH_MSB _u(3) +#define QMI_M0_RFMT_ADDR_WIDTH_LSB _u(2) +#define QMI_M0_RFMT_ADDR_WIDTH_ACCESS "RW" +#define QMI_M0_RFMT_ADDR_WIDTH_VALUE_S _u(0x0) +#define QMI_M0_RFMT_ADDR_WIDTH_VALUE_D _u(0x1) +#define QMI_M0_RFMT_ADDR_WIDTH_VALUE_Q _u(0x2) + +#define QMI_M0_RFMT_SUFFIX_WIDTH_RESET _u(0x0) +#define QMI_M0_RFMT_SUFFIX_WIDTH_BITS _u(0x00000030) +#define QMI_M0_RFMT_SUFFIX_WIDTH_MSB _u(5) +#define QMI_M0_RFMT_SUFFIX_WIDTH_LSB _u(4) +#define QMI_M0_RFMT_SUFFIX_WIDTH_ACCESS "RW" +#define QMI_M0_RFMT_SUFFIX_WIDTH_VALUE_S _u(0x0) +#define QMI_M0_RFMT_SUFFIX_WIDTH_VALUE_D _u(0x1) +#define QMI_M0_RFMT_SUFFIX_WIDTH_VALUE_Q _u(0x2) + +#define QMI_M0_RFMT_DUMMY_WIDTH_RESET _u(0x0) +#define QMI_M0_RFMT_DUMMY_WIDTH_BITS _u(0x000000c0) +#define QMI_M0_RFMT_DUMMY_WIDTH_MSB _u(7) +#define QMI_M0_RFMT_DUMMY_WIDTH_LSB _u(6) +#define QMI_M0_RFMT_DUMMY_WIDTH_ACCESS "RW" +#define QMI_M0_RFMT_DUMMY_WIDTH_VALUE_S _u(0x0) +#define QMI_M0_RFMT_DUMMY_WIDTH_VALUE_D _u(0x1) +#define QMI_M0_RFMT_DUMMY_WIDTH_VALUE_Q _u(0x2) + +#define QMI_M0_RFMT_DATA_WIDTH_RESET _u(0x0) +#define QMI_M0_RFMT_DATA_WIDTH_BITS _u(0x00000300) +#define QMI_M0_RFMT_DATA_WIDTH_MSB _u(9) +#define QMI_M0_RFMT_DATA_WIDTH_LSB _u(8) +#define QMI_M0_RFMT_DATA_WIDTH_ACCESS "RW" +#define QMI_M0_RFMT_DATA_WIDTH_VALUE_S _u(0x0) +#define QMI_M0_RFMT_DATA_WIDTH_VALUE_D _u(0x1) +#define QMI_M0_RFMT_DATA_WIDTH_VALUE_Q _u(0x2) + +#define QMI_M0_RFMT_PREFIX_LEN_RESET _u(0x1) +#define QMI_M0_RFMT_PREFIX_LEN_BITS _u(0x00001000) +#define QMI_M0_RFMT_PREFIX_LEN_MSB _u(12) +#define QMI_M0_RFMT_PREFIX_LEN_LSB _u(12) +#define QMI_M0_RFMT_PREFIX_LEN_ACCESS "RW" +#define QMI_M0_RFMT_PREFIX_LEN_VALUE_NONE _u(0x0) +#define QMI_M0_RFMT_PREFIX_LEN_VALUE_8 _u(0x1) + +#define QMI_M0_RCMD_OFFSET _u(0x00000014) +#define QMI_M0_RCMD_BITS _u(0x0000ffff) +#define QMI_M0_RCMD_RESET _u(0x0000a003) + +#define QMI_M0_TIMING_OFFSET _u(0x0000000c) +#define QMI_M0_TIMING_BITS _u(0xf3fff7ff) +#define QMI_M0_TIMING_RESET _u(0x40000004) + +#define QMI_M0_RFMT_OFFSET _u(0x00000010) +#define QMI_M0_RFMT_BITS _u(0x1007d3ff) +#define QMI_M0_RFMT_RESET _u(0x00001000) +// ---------------------------------------------------------------------------- +// Config section +// ---------------------------------------------------------------------------- +// It should be possible to support most flash devices by modifying this section + +// The serial flash interface will run at clk_sys/PICO_FLASH_SPI_CLKDIV. +// This must be a positive integer. +// The bootrom is very conservative with SPI frequency, but here we should be +// as aggressive as possible. + +#ifndef PICO_FLASH_SPI_CLKDIV +#define PICO_FLASH_SPI_CLKDIV 4 +#endif +#if (PICO_FLASH_SPI_CLKDIV << QMI_M0_TIMING_CLKDIV_LSB) & ~QMI_M0_TIMING_CLKDIV_BITS +#error "CLKDIV greater than maximum" +#endif + +// RX sampling delay is measured in units of one half clock cycle. + +#ifndef PICO_FLASH_SPI_RXDELAY +#define PICO_FLASH_SPI_RXDELAY 1 +#endif +#if (PICO_FLASH_SPI_RXDELAY << QMI_M0_TIMING_RXDELAY_LSB) & ~QMI_M0_TIMING_RXDELAY_BITS +#error "RX delay greater than maximum" +#endif + +#define CMD_READ 0x03 + +// ---------------------------------------------------------------------------- +// Register initialisation values -- same in Arm/RISC-V code. +// ---------------------------------------------------------------------------- + +// The QMI is automatically configured for 03h XIP straight out of reset, +// but this code can't assume it's still in that state. Set up memory +// window 0 for 03h serial reads. + +// Setup timing parameters: short sequential-access cooldown, configured +// CLKDIV and RXDELAY, and no constraints on CS max assertion, CS min +// deassertion, or page boundary burst breaks. + + +#define INIT_M0_TIMING (\ + 1 << QMI_M0_TIMING_COOLDOWN_LSB |\ + PICO_FLASH_SPI_RXDELAY << QMI_M0_TIMING_RXDELAY_LSB |\ + PICO_FLASH_SPI_CLKDIV << QMI_M0_TIMING_CLKDIV_LSB |\ +0) + +// Set command constants +#define INIT_M0_RCMD (\ + CMD_READ << QMI_M0_RCMD_PREFIX_LSB |\ +0) + +// Set read format to all-serial with a command prefix +#define INIT_M0_RFMT (\ + QMI_M0_RFMT_PREFIX_WIDTH_VALUE_S << QMI_M0_RFMT_PREFIX_WIDTH_LSB |\ + QMI_M0_RFMT_ADDR_WIDTH_VALUE_S << QMI_M0_RFMT_ADDR_WIDTH_LSB |\ + QMI_M0_RFMT_SUFFIX_WIDTH_VALUE_S << QMI_M0_RFMT_SUFFIX_WIDTH_LSB |\ + QMI_M0_RFMT_DUMMY_WIDTH_VALUE_S << QMI_M0_RFMT_DUMMY_WIDTH_LSB |\ + QMI_M0_RFMT_DATA_WIDTH_VALUE_S << QMI_M0_RFMT_DATA_WIDTH_LSB |\ + QMI_M0_RFMT_PREFIX_LEN_VALUE_8 << QMI_M0_RFMT_PREFIX_LEN_LSB |\ +0) + +// ---------------------------------------------------------------------------- +// Start of 2nd Stage Boot Code +// ---------------------------------------------------------------------------- + +pico_default_asm_setup + +.section .text + +// On RP2350 boot stage2 is always called as a regular function, and should return normally +regular_func _stage2_boot +#ifdef __riscv + mv t0, ra + li a3, XIP_QMI_BASE + li a0, INIT_M0_TIMING + sw a0, QMI_M0_TIMING_OFFSET(a3) + li a0, INIT_M0_RCMD + sw a0, QMI_M0_RCMD_OFFSET(a3) + li a0, INIT_M0_RFMT + sw a0, QMI_M0_RFMT_OFFSET(a3) +#else + push {lr} + ldr r3, =XIP_QMI_BASE + ldr r0, =INIT_M0_TIMING + str r0, [r3, #QMI_M0_TIMING_OFFSET] + ldr r0, =INIT_M0_RCMD + str r0, [r3, #QMI_M0_RCMD_OFFSET] + ldr r0, =INIT_M0_RFMT + str r0, [r3, #QMI_M0_RFMT_OFFSET] +#endif + +// Pull in standard exit routine +// #include "boot2_helpers/exit_from_boot2.S" // https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/boot_stage2/asminclude/boot2_helpers/exit_from_boot2.S +#ifdef __riscv + jr t0 +#else + pop {pc} +#endif + +#ifndef __riscv +.global literals +literals: +.ltorg +#endif \ No newline at end of file From d0486b8be9d05a1c44e4e10293a72a94c4d43ab3 Mon Sep 17 00:00:00 2001 From: soypat Date: Sun, 8 Sep 2024 12:11:36 -0300 Subject: [PATCH 03/16] add placeholder runtime and machine stubs --- src/machine/machine_rp2350.go | 105 +++++++++++++--------------------- src/runtime/runtime_rp2350.go | 83 +++++++++++++++++++++++++++ 2 files changed, 123 insertions(+), 65 deletions(-) create mode 100644 src/runtime/runtime_rp2350.go diff --git a/src/machine/machine_rp2350.go b/src/machine/machine_rp2350.go index 62cea7cf17..b8e981f5e8 100644 --- a/src/machine/machine_rp2350.go +++ b/src/machine/machine_rp2350.go @@ -2,6 +2,16 @@ package machine +import ( + "device/rp" +) + +const deviceName = rp.Device + +//go:linkname machineInit runtime.machineInit +func machineInit() { +} + // GPIO pins const ( GPIO0 Pin = 0 @@ -34,76 +44,41 @@ const ( GPIO27 Pin = 27 GPIO28 Pin = 28 GPIO29 Pin = 29 + + LED = GPIO26 +) + +const ( + PinOutput PinMode = iota ) -/* memory.x -MEMORY { - /* - * The RP2350 has either external or internal flash. - * - * 2 MiB is a safe default here, although a Pico 2 has 4 MiB. - * / - FLASH : ORIGIN = 0x10000000, LENGTH = 2048K - /* - * RAM consists of 8 banks, SRAM0-SRAM7, with a striped mapping. - * This is usually good for performance, as it distributes load on - * those banks evenly. - * / - RAM : ORIGIN = 0x20000000, LENGTH = 512K - /* - * RAM banks 8 and 9 use a direct mapping. They can be used to have - * memory areas dedicated for some specific job, improving predictability - * of access times. - * Example: Separate stacks for core0 and core1. - * / - SRAM4 : ORIGIN = 0x20080000, LENGTH = 4K - SRAM5 : ORIGIN = 0x20081000, LENGTH = 4K - } +// PinMode sets the direction and pull mode of the pin. For example, PinOutput +// sets the pin as an output and PinInputPullup sets the pin as an input with a +// pull-up. +// type PinMode uint8 - SECTIONS { - /* ### Boot ROM info - * - * Goes after .vector_table, to keep it in the first 4K of flash - * where the Boot ROM (and picotool) can find it - * / - .start_block : ALIGN(4) - { - KEEP(*(.start_block)); - } > FLASH +// type PinConfig struct { +// Mode PinMode +// } - } INSERT AFTER .vector_table; +func (p Pin) Set(b bool) {} +func (p Pin) Get() bool { return false } +func (p Pin) Configure(PinConfig) {} +func putchar(b byte) {} - /* move .text to start /after/ the boot info * / - _stext = ADDR(.start_block) + SIZEOF(.start_block); +type timeUnit int64 - SECTIONS { - /* ### Picotool 'Binary Info' Entries - * - * Picotool looks through this block (as we have pointers to it in our - * header) to find interesting information. - * / - .bi_entries : ALIGN(4) - { - /* We put this in the header * / - __bi_entries_start = .; - /* Here are the entries * / - KEEP(*(.bi_entries)); - /* Keep this block a nice round size * / - . = ALIGN(4); - /* We put this in the header * / - __bi_entries_end = .; - } > FLASH - } INSERT AFTER .text; +// ticks returns the number of ticks (microseconds) elapsed since power up. +// +//go:linkname ticks runtime.machineTicks +func ticks() uint64 { + return 0 +} - SECTIONS { - /* ### Boot ROM extra info - * - * Goes after everything in our program, so it can contain a signature. - * / - .end_block : ALIGN(4) - { - KEEP(*(.end_block)); - } > FLASH +func nanosecondsToTicks(ns int64) timeUnit { + return timeUnit(ns / 1000) +} - } INSERT AFTER .bss; -*/ +func ticksToNanoseconds(ticks timeUnit) int64 { + return int64(ticks) * 1000 +} diff --git a/src/runtime/runtime_rp2350.go b/src/runtime/runtime_rp2350.go new file mode 100644 index 0000000000..8445e86761 --- /dev/null +++ b/src/runtime/runtime_rp2350.go @@ -0,0 +1,83 @@ +//go:build rp2350 + +package runtime + +import ( + "device/arm" + "machine" +) + +// machineTicks is provided by package machine. +func machineTicks() uint64 + +// machineLightSleep is provided by package machine. +func machineLightSleep(uint64) + +type timeUnit int64 + +// ticks returns the number of ticks (microseconds) elapsed since power up. +func ticks() timeUnit { + t := machineTicks() + return timeUnit(t) +} + +func ticksToNanoseconds(ticks timeUnit) int64 { + return int64(ticks) * 1000 +} + +func nanosecondsToTicks(ns int64) timeUnit { + return timeUnit(ns / 1000) +} + +func sleepTicks(d timeUnit) { + if d <= 0 { + return + } + + if hasScheduler { + // With scheduler, sleepTicks may return early if an interrupt or + // event fires - so scheduler can schedule any go routines now + // eligible to run + machineLightSleep(uint64(d)) + return + } + + // Busy loop + sleepUntil := ticks() + d + for ticks() < sleepUntil { + } +} + +func waitForEvents() { + arm.Asm("wfe") +} + +func putchar(c byte) { + machine.Serial.WriteByte(c) +} + +func getchar() byte { + for machine.Serial.Buffered() == 0 { + Gosched() + } + v, _ := machine.Serial.ReadByte() + return v +} + +func buffered() int { + return machine.Serial.Buffered() +} + +// machineInit is provided by package machine. +func machineInit() + +func init() { + machineInit() +} + +//export Reset_Handler +func main() { + preinit() + run() + exit(0) +} From 11bb05eef741dbfc2c3dbcf12bb5ef6aa0cb13f6 Mon Sep 17 00:00:00 2001 From: soypat Date: Sun, 8 Sep 2024 12:32:45 -0300 Subject: [PATCH 04/16] ok, example/blinky1 now compiles... --- blinky1.elf | Bin 0 -> 368220 bytes src/machine/machine_rp2350.go | 3 ++ targets/rp2350.ld | 78 ++++++++++++++++------------------ 3 files changed, 39 insertions(+), 42 deletions(-) create mode 100755 blinky1.elf diff --git a/blinky1.elf b/blinky1.elf new file mode 100755 index 0000000000000000000000000000000000000000..84f3c1de8ebbb1ac365423c6049a1d98fb4a9fe6 GIT binary patch literal 368220 zcmeFa0eDo!)jvFQ_a?bnmYgL9h?pG~2pTn#h*6_P4Hz+CR1{RSK?4K{8ZbgowAetQsD4Jp3vMSX(C$0ZQ~;;LUDBXPbwkfJ;gQT?aK>AzHc+Md^w@)5Ux zLIek$5BPk*=k*^SrTmBS=l`|7TK64%B+eh)>v)HNL%<>65O4@M1RMem0f&G?z#-re za0oaA90Cpjhk!%CA>a^j2si{B0uBL(fJ49`;1F;KI0PI54grUNL%<>65O4@M1RMem z0f&G?z#-rea0oaA90Cpjhk!%CA>a^j2si{B0uBL(fJ49`;1F;KI0PI54grUNL%<>6 z5O4@M1RMem0f&G?z#-rea0oaA90Cpjhk!%CA>a^j2si{B0uBL(fJ49`;1F;KI0PI5 z4grUNL%<>65O4@M1RMem0f&G?z#-rea0oaA90Cpjhk!%CA>a^j2si{B0uBL(fJ49` z;1F;KI0PI54grUNL%<>65O4@M1RMem0f&G?z#-rea0oaA90Cpjhk!%CA>a^j2si{B z0uBL(fJ49`;1F;KI0PI54grUNL%<>65O4@M1RMem0f&G?z#-rea0oaA90Cpjhk!%C zA>a^j2si{B0uBL(fJ49`;1F;KI0PI54grUNL%<>65O4@M1RMem0f&G?z#-rea0oaA z90Cpjhk!%CA>a^j2si{B0uBL(fJ49`;1F;KI0PI54grUNL%<>65O4@M1RMem0f&G? zz#-rea0oaA90Cpjhk!%CA>a^j2si{B0uBL(fJ49`;1Kx#I|7fMG`&s)B7RAlh^BiY z`m#*4n$~{@fbRD^-W{eniSj`W(_oaP#W0syJ zx@LFJ9Fu#JtP)-RnuagZn?#pbbId1Q=k59;tHB#KskGsXtfuu}Tz&7$+q>@7{j8yD z&c0x!csaiQz}|1xi(!wB4%XM5^{a{UxUW7A#_jqddefYjT4t863e`L?<(-+gjP_aP zohf3dS9Q}D(WbhyG=3~~^PHEeR-I83T6JjEsH(B6#IQb9p__l-_}D}5|escCJHK^rYRuy@gVt$*I%Pg&!4iuMD0+t;sr zF=b3VF1m(y`(yIh`XSwsv9fB^p{sW1dK*6R<9*xG$BFo;PtxN-`KWF`l2$%sOm^YR z+gFwz*!z?9TDMrQ_08j$zs~X2`ZW@_uFP9?t+6CzESXdBLHjl5ik9=bQp0_B2Yt@# z62Tuo2}Zwg^sI3O&z^k_?PCq`bqle&#z?Kqe7AX`Bd2=;&+@`+SSz1`nwiU~l<>x|+gOyS@k-#M+uMlgEm#*6zx3-LC5v@!x&o2}ZGD&P%IiHZWpe ztvax`^nlO){j7V^m?2{h>^h}>5{NzK&# z$IfgXedOEE*ZfFp4_#O}d|zm9T30CT!|iEZF|Y3cJ;OuYfBYmOW#OpZLcYpWO8ezI zHr0jO^tq<)^SWdtwcU#^DjmKL?-5;-fF>`Fw=t1w$xP>*1qX)cKIw*Dc&FLvS+T`N~ z>pRjSZ6aNC4eP!+NZC@Y;XPW5BTZ4I0hlGYomTL$+j#Oye{WXVF4%;DR zzln*p6MZoln>zH4n#RD}Q5urPk;%FHLSKZsLLu+yJ#Dfu`m!)Wj-cZ>Ee1)<u-frR?7!`_+l*i^( zZYd3RM?<13B)q&`ZT_c`L)YvU^!v8=x`kLe`iOUyj~@QEIPB*1FyoZaeMedj<8)x} zy$5b$J*D1NI>uk7c7;+yBdDzp$9vEj(Sj={`fv3qmqVgQjH>h7gSX|=qq>g}^2Fu4 z{UCj}pZ;4@HFOO7nP?`k(D7?{F&M`yeArEcN{?Oj^%uKS&n_Kw^PojlndyV3aQwe% zVBEBv5P^w#XzbXUbY4}o-Wz*huV*mTF-j{B#)_d$qh*`l`t`@D<*8%S#|o~1r&s;qlZ^OVpLla8j-L6cNbNZ6+D}7% z_)l*iI%(8z_)Jh!Go^IQuewFcfxTnDIk5M*Z{llb&J;&(dn>;F!;fpK#LNSGgKvJ* z?YC?(_KL2N-CZvZ7&pFV+MrPGCuG;*GH~oi)UGr&5 zTI8L@hdn(?OJvrFqq=&05JOVhzZf+AQz65O4@M1RMem0f&G?z#-rea0oaA90Cpjhk!%C zA>a^j2si{B0uBL(fJ49`;1F;KI0PI54grUNL%<>65O4@M1RMem0f&G?z#-rea0oaA z90Cpjhk!%CA>a^j2si{B0uBL(fJ49`;1F;KI0PI54grUNL%<>65O4@M1RMem0f&G? zz#-rea0oaA90Cpjhk!%CA>a^j2si{B0uBL(fJ49`;1F;KI0PI54grUNL%<>65O4@M z1RMem0f&G?z#-rea0oaA90Cpjhk!%CA>a^j2si{B0uBL(fJ49`;1F;KI0PI54grUN zL%<>65O4@M1RMem0f&G?z#-rea0oaA90Cpjhk!%CA>a^j2si{B0uBL(fJ49`;1F;K zI0PI54grUNL%<>65O4@M1RMem0f&G?z#-rea0oaA90Cpjhk!%CA>a^j2si{B0uBL( zfJ49`;1F;KI0PI54grUNL%<>65O4@M1RMem0f&G?z#-rea0oaA90Cpjhk!%CA>a^j z2si{B0uBL(fJ49`;1F;KI0PI54grUNL%<>65O4@M1RMem0f&G?z#-rea0oaA90Cpj zhk!%CA>a^j2si{B0uBL(!2eYUY>*-vt`=gGZl?oA;R3M8`(AP z_pTPg*X?v60^NRJh=^{#D@0Vc4MJq;_9h{+b$hcA`MSMDh(g^q3Q?@vTZJgm?QKGo z>h^Xa%5>W#M7eJ75TZi2cM36Hw|5CKQMb)POw#S$LR9MZ9wDl9d#@1Hx@{4nMz{9~ zQLEegg{af*147j6cA*gSb^D+Y3v~OC5DmJ0Scpd5E)t?iw~q+XtlLM0XwmIrAr|U( zi4co)`vW1C==L!omg@G0LM+qmQX!t>R{cnbHMT8f{Jcw9UgKE9@|Itr`9pZY8%`ezk5{ezWdpJGNTBUAMJtmu^|^Gj0{nyGOU| zZ@2B=uUob^p2lsR5V^X&Mu!*8NxWVw8V_x|mS4&IL~ciCMDLNed$)!feUWR=`JC_F(%62F zyvw^Ybcf%Ra(n7+X}1QA>7z4>p<_Siwe~kz2hK$~XU89OPGg|wuHtiXZuMBrH!!b# z8J!W_BOARQJC<{Q^xxZ21ARQy=sK8(etka9f6$*Sr!h&E8^C;-wIf+h`<2Y=asL%R z=)XCC@OW)QvOdix+ohQQPwdxY{=cwa15f%nJ>%8?#avK za|s-Jb2eGe!I)}3dF;^t!iIk}Hd(h`vxvtUuA7BM7w7BkUXS0~xnIxMGmh(8Q4(Lo zd~Oo2>#43kkk|E8&jDW7&t$viGhdl>Ue`^1K8OGGI@-c~HMgTPvb0^dg>Lm5Q<#T7 zQ%{q4CWWqbQU3c^wTQ1v=Fq-t9pJUi|87ik(in|}7fRUYd3;^5d_K4OsNg?+e!On^ ze3j+351OyDe7)rxEZ=DP<(6Mz`Buws;8q_U{HOJA*DdP{xRz)>qFd&(EuUlgJj>@> zzS#05mM^z_h2?p_Wc1Zop7%S3=lzb+zufXGEWg3>8!f-t@>?vw)AC)G&te<3z1iIA zBiHhImM^k=vE?f)Ki=|{manpWz2)ayo=dIK-(>lPmS1G~WtLxV`PG(RWBCo1-)Q;G zmfvFe4$E)1{2t49TRy_RY5$`9r;i-V$1PuE`C`kLS-#xz6D>c<^3|5Fv3$Mdd7o#F zM$0!@exc=g-)D|xmS1l9)s|ml`8LaMwtTzgJ1oE7@@C_~8ngX`e>vRhBhT{rmM^w^ ziRC9+ev;*@Enj2#ddttZJYTXC@zX71y2SEJEx*F@D=ojy@~xKNWcfDBZ?$~8<#|7A z^mkc)zvTt5aXnu|x9l@t>kXe{`MBjvEMIE*3d@h@Rv&eiueUt!1B^aXwD>&le+|$3 z0COD5>w-<-!)GdS6x3WjYkEQ5l=`a+%C4R^Z`SnL^>Yj6&Y4zFKck?2=IrZdTy41O z>DSJjHoaiVoLL3auAWmreg3Qw6U2W%R!pm%GJ8h++UaxV&b)ed{Mh0V$Bq~o&#S4g zubX>vLBWif^)>URj+l1!EIZdRSI?PIP+NQLtYhltTz%#AY4!1<>SK$GjywL?PeBY$1OKaw?SJo}0cYmy z`ss6KPpK`apECC<^UvjT>!(b+>hk}^P$gok?VM9Tk=!+5;SN^bKB7gbZ>t@zZ ztC@K9glRR?tLFjF;Vh-M`3Fn&s5yZJ^uE7WU`k!j$us$+{tzGzGk~AQtS?VsT3@aH zL%`?En_WMX({{?-S(kH4{%=f0AUJKx>@()gnZwI!f=-E^gw&sJfKTn!vu9j6tInJo z#weKMJ^t4hll8yyC59*94;=b~jb58}HO{Fkm{T{hu&8jv-2VW%|HEssZ2A@dv=ViG zX+Ok?CidSm&V9=?U+JTIiT(%iPp%GJi)Pi$Gl5`Q{?hw15NPthEGG`^`4qmnibMj4mM(mGm-0f94%#nlEa(#}`V+R-Vm5 z5pf5P8>z4AL->@8gpSb?dP^@w%6U9dnoK?S`>Zo9A&}+q-3lS|dgVgG(>r!KqPHt* zyN(mjYi<8D-*6pFT(HgIYauQPctjiN7}1ULcS)& zHGDPxXRF`VR{!m6YxU?rlfAa2iIjOfogY}Z(ux|b)n^Bq?3D~e+6s=0o=9F8XtMWQ zib#9?$9!9n&v{*eCVS7NinMPzoAfxZJJ4k0Db6P&D`lYR$c>L#fpi&YI`R?wYa}vd zpy|jDM_Y+OGSGBH@og<5F-!)Uj%?w?GLsxF15HQXfkhK!py|l%tl13tjtn#%(W}CA zOqYSCBfA+J(=kg1nvQhBj_YKg>B!^7R^t0I&~#*E#CF^v15HOxZ?qlv$w1R-L+vb~ zPXkS+-DjN*eGzCfZ867FPa4`EXfhJqnQ$cJ%RtkSTdJ%;Um0jRk}s@8e;H^x@&r^U z8E87Pf=$z4gbtU1rX#UTtK(c5XgcyJ=c<|YA{l5p@&K~{lA_Kqcy_Jp0tZw@q>_O*?qzcA2bT3UtG zwItAF+E|XvDIqR5L7>TAU2%~%g(tsQpNj^X>^&D2X{$J0=jwC)15Ngx>m$-GWuvtB zsgnaurs>jP_!)sF(;lu8;-@?|?esvCy<@Qpvkn6{EwCmP6{-cwv98| z@TUcuOey#$dr9ovPLgsDl4x2SHo!>+rT%O^%y&^ zX(G}zeG^T_ziKGa8BH|(5>4j+HI2A|J^$yT`wgR%R?SJE^H+|NnlzD!p2!^xILhry zyg1L*J(o#MhWO^X@U=`-1k9Wz)2iz+t0Tfg*ci^CR>r7*LHnNdkL!;q`IB6)v(`Sjk+BsuO zR193K9hKgZ`jjn$+DfnI%ozurN$ojfA}pFH9N8Xa&H$IK#a^WRG>xr{vCu-kZK zyvNY|o;}eq_#dkWgVPRzrmx5t&zPRb{dS`NnOfMy3jZP4p2+y%$3iUqe=*U&Uq64- zZX~atLqx{j>K^ROT1rjeEpPCKvV(F#qFjA1!8Mo_Aa71Ijfv*A#JQ#fcV{9f&57oo zMAKqoDDO`+3lq&l-n@WkSk$}d(uLQgyB_WB3X6n>C1!=n#}acbO$>cJVcfFB%ugno z}7bh7VFJV;`A4+^snI&+xaPZfBH!N+?2 z%+fCQ`ro9hQn8oV>z!=*(>zmrWU1vx_q2)aUYX^~ynZIf%Du#F+S1Y#D}qK}pLm=ZAiWuSTvGZC7Tyiq z6-w$lGO=Y19V?B`Aur*3C~Vt9JOgZq*D0gO%`Xm8aCBm88(Qg^JPaiQ68cQ`(*X&6 z+? zX(AH(Ak`qq=IRy5Ht9=g=-QCkg@>vnd@|iH57bfTO~gZb@`rov%(AXMmWWGeeaKsT zkbNT)sT5imG9eFr7V@?pByxl>sm?~|JPb93`W?^`ZzKV7sOWbHzjYLPH>q!sfRVZu zuqQ=YA}Ml**s0I+ZA|RU{d7?a-RCC^YV=KRho<`djC-qm@5X}^6(l}6guYJo79Diz zL}At<+pZHkw8S?HCUl*j0Q4fy&S}<7XrGNex4N2#9+aNmVTRsCFmzh7C*K}4%Lw81 z%g|?fp)V9(?m=BS=(3SUlYr;Y==8*h^ zO_<89E&-uYsX%d=o_a-kjhbgIoYv+A%6ZcRgQ66tBZ@^mVs zNmIR8+tdL85i(}1ir;= zN_O^tuqXWYC3~^H9^>l$6fAY3b7bpHO z^51TVl0J+K_?9iT^JcuucHVCF@DA?3)${KW`yFff2gLe`0cWtq){}uhIE-PE16L2w zjmJ;AdNN+aTO`CI9PocmgY&sK4HS%qlmiPmDY?;{CkH+rHH|&@8G~ofaq|-+IbddE zV*U^#9J(ffo~HXOOMFmaI-`>jxLJqre`pU&`ZMid&QktNJ7_*zuM^k*$k*hc>}<<- z_?jH_Cd-=hfAuwKJoLXBxQ<=(_a(Tm6U~0J#qz&NaNj1H1O2t5{N84N4UI2le>2jv zZOFF1ZBuNUYUR@`A6P!!@?n|K+sE<|+xE3>hHc5VQ9Hh$pqYRY$e0=oJx9tV?`~*90qHQm<{TIppde!YZujue9w| z7XMl+H_OV+wtB9%ZJo9A8mo7XOzX$hM!)&vcl(;m{43M?2tH%tZ+xdNoo^-lcv#Q< zvq#S7ON_?Sr%JxK88V)7S>X|PS~5Gl4;pg9H$gTYp31lx+1&8t5thsg|Aot{>CF$H z!gnqVSs1>b!7^k~_-0H|9KIc7Nw}HG3$?wa;oJBUY-G#BsqmsAEY2`r>EPrKpUPg> zYuT#smwacoL6i02i`a8BtVsl8xT|FmBf;T)kpua6bL(G(%=syN(gWVTU4GK(6w%iV z(V{8Bdq9skBC$8qT_s}BiHxMaka$P22ukT^eg)L=v(xrrk^k%h+&E?}T(x|56$Im=h`??-}{o zM!6Teog;RGnKP8+VUXlub`o8jBvT^NKCKesAs+12`I^l9A=CN@mg~-PMmXw+ALF%T zkQLz-47wrx@LI;*kU@AAKV>vzL?mup6p4rCv+Mu#*1(mFXe7)*Kbq%|cS&Epq zN5D9VISirRfi2>Unl@Z3pgLEAGD@#7V1~@1@3A&RX45?&bLd3|*Yw6oe`~;yxwN;~l6kcM0ZZo7 z*HxA*q+p6Ai)d1|C5vehBVsg^&@W(FDb0jH8O_HO<&-zi%2rScFGDkIJniI!Gvq`% zld&-5BpMIrE9p|+jhfynI+xurWHr6M$dWY_U1-T#%7T$~^cW&rPwzu^J~i;FG8z`p zZLq9?egJeD=?0kIL{niyGu?~c7K&lEh4eQrQbyS#dXSfyA(znOAeYiQ&REmCjP}9J z<@8fnwt}7jd@HF18MK-fW41N)8bDn~D`8|S{Sh(VK#yYBMtTm)Hqm9s!8Q@OfKe?9 zakkwjeNAVc%8WjOF--iL2c?($G#kzeI*eC~vD&A#EM~}nJ_U#ont_N!DG#z)H1G^7 zn@uT)STcu>N6_Q+1l-D{KMk`2dDM#B&ZjRiMIpTaUyA5Au%VcWFk1KaQ1Gz`8(Xc5vRN}GAO zK_iPELvJ>1fvGuk7Z*t*5T~?COXgA-Q{>SqK#)(zEVBZIR1Z9hXbl94DUMt&q2B?c zQaS|CmeG;O#B!R3cvsMsAji{aU_X)i!kkGo7QK~p4P>jR2TPXD;t6?Ga1-Xa{;pP$= z1m~C1czCglhM;#jbzw!Wpev9SE9tLrXf@?Qb`4#Rj9*7bBHXRifZh%CH@LY`L^g8- zuIF_tAC$hPGjC=_AHiKr3}tKe!``I4x(#}KdJR<|pa;<#q3wuil(OJ#7EMJ7%odR! zvv8-L^I_?0I`d1+d4P#^TxN1gJ)g1=T0tiQDxXFp1Oe@Y`w{h9|8r}*| z?O`xY`uLvmb1fZsYAt4ocq;mc?T>njzj$O9qo;c6VYa7kht3>NoeR6;p2~sFTu;q} zmwBF=0O#{PRe1HhC3TlSH zczP7%M7poh+AxV8LcUbeHfX4#$I)9&&w;F=Q_JnJT6z-7>gX%LS5H5L-uW~ZvJ0pH zxza#)!?H%YAKB4Fmm%=YbRnE?p>>#eA>EAyu!x?;6icWQOK2&b0(6$qV#qG1M=;w8 zIvufCN$rTmYFZ61*3endu#TRG%AN?0)r^5tbBET?tHl zsitCJAk`5Nk4Uux)if$q6gFi^m5aQ}mg+TlkR#Pj02Y^O9W2O|>NMDxCsjKj$(QQS zSg(arbz`m~srErnu~c2iwGye`!J01RxiGd&sw=Rn%B8BnToqD1f2#F&yi{jm2~Cvh z1;lNVRMU`0l~VNstW{Ed2l1+wY9oB9k!k|MUn|wq$e=o@UO|S`OZ7HFIbW)uL1sbX zL)#3#;V2uVx)%6z9eoEFavhxn`?-$R!!NF*fwI1E9i0K&vbYv5v;AC0FT_&fI+}xc zaUK2oLMy{{^j^%%b@cbJnd@i?=&9sLXNFY(mXz^&9%TOm{CscT?E zxu=dpE>(DHH1v=6R6FpQ=&2haKgm-gkyn+TYJiVbp1K(JRD0@q*k9wR`zowowVu-N zGMF^4^VCk{SiPsV!M6FH8UhR#cagB7d+HA0zr|BW1H-MJ`V6?Wb1YzU z2jh&nwtH$Ga$u*YmcX7aPrV5{_ju}Zte0+29e^+UIYy1vUlCINy_WVv>X(Rb5K=pl zCy|i47T88Z>Mh7*h14DB&km`vh!KAi(_H8IJ!ig4BqBL{1#i>~Z?W_>oq0Di`UoCk z;#XV_()l6Q18`H&5}@MKVHa8B_|6%BWPeMmiO>kvV$zLYr_(zMGZWu>*v(7oGcEF% z^fjHi7c=SmuyYs;eLJ!VzzLd+c=B>3Rp~boYcN8Pyvu6$MPyt9ZzHWMX0c{;ymm*ml9EM#o=X%#EN+o(YdUik^!%KOZ`shn`WIAu%0)s58rYM#G#Rl8XaoczGzS1g=|Y4li)s+kZ0ZBA zbI7~a8WX22xIpDnF_h)eL+~M=N|1hqv<ULnel~gwnZ6|dM^mLGlBNW?7b;6#Vq*g;u7pdq4*3Lbo9tQB;qzY?o z|9(>XmzhkM_{V8ZM!z35eiIKNellpU` z>L}Qsm(-shRWC!nFsZ*Ns=m9->Mu^}FNvy2z_T=|zbvYrMaGmT^;bky6D~O8llmt{ z)p>~Bq(uKmI(C&&RSY}V4K|o0VmesefE?R2Sp5>1w+&VkkTaVHt22S;mci4*0usu(}CLscW#B3V-(uR+BMT_h5A&a%TTvH4OSi zTup{weq8+mm;`b40Q5)V>S)ME^FHp6>p`$=u z0Ux&)sEvrl&I0v2*x6N}u0%oGQ=pc>_wE8U2y0}2!p?8B{i0Bvh_&XotNzICpuKlp zMB0^pzG2o*v|Z^39EQ$nSNaKup|jhSe#BwuoW$7h;jBO2uIk{s_=_s(nd>h`{{Sr$ z{6)=!j}3oOb76mDl1$TI)LZaZY*RM^TYp=Uo^9$r#G+xFDo4IGCdo8yQ+J>SijUL; z$oL;6>G?=qhW>_+)Qh+(G$zS3eWVs64@HNX33QIqutxR!; z`XlnBq{H|-RO4UTq4cv-6FbqV^utm^`<+TZEj4t|sr2JgLq|H5eqL(mXs6N-ObwmY zsq_<5LuYp?{m9hNIh{&BGc|O)Q|X7MhR*F&`l+d*^E#D&Y-;HIPNkol8oIDk=?ABV zF6vbJ$*G}>JB|IOZkKebZCFR8o$6|=k+M$p1Y%U)sg4D16`krLtmW~YY87ys*r^^v zj3%*Of~Dr`l{(v&tk6HPUT%;?X2rmTamZ*NjA^#R09#01&MyM zp>AN?5Tho>1axz!YD2wh=~U;{TKx+<)rTipdQqq9gL#*9su*g>(oS_4=33UNZi8RT zJJmw0g%un}th<$+>S^S|>Q2>!J?5Gu``2}8c+R~|xfNfhl)#0$Yo#PHWJ37^Mi0Squ8+LZ81?cbUR6jt@@99)8!v5|~)qvWv zKgl-nnVJL)gU?JZ73j4P`An@ue8n!)e~Rw+cd4HvPl|S_LfBlqOZ@_KmF!Xlu)lPd z`YYmIwo7FpF69ZGXK9@kyVQ?zZS2-1`V-gOUFsa*xoMYbMDDfiQlCQS=3QzBa(>G$ zH3<5*?ozkG-}YVVMflROOT7d9x9?IHLI2KO>Uh}PwM%`BeA}~2osYWIy-PiZJl~(N zbAq;Cbj5!R%>Ae@hUkxlb|>YF_+`L1!sp`8z|$xsjjvhy+$%sZuDK=HKjcEv=*-jS z*1?~A&9x#Tg_@fTpNcehIaYWvbH=i%+U62{t^^)8;M{C|u2G+x1g}f`*>PsCUB+De zbD-a#xrJC4jhb7EmDHrU_pnx*HMb31i{{2)_JzzD%WlxKFVg3}#lEN&=Wf&IHt2JA zArIO$*M*hUp}7-~kJ~l31eWd8+ziB_OLH$G4tq4W8#&aixl^$N+0UG@%+w^2$>*Mi ze}U#6#@dW9XC&{}c1HENt1;hFoHITw)8}4C{91ADG2@>;w+vQC4`J?c%#g*Lnc*2N znXS*A25&o*J!f)hJ9F`Uh|wOLGuhLv&uzx+`*H4PTBjJy=L!zBD{-mj_?Jr)*O_I^ znc07>C70`S?_(XU(cI0bKP|`!#IYuem5@ z7x84Qedgjtm_4ew;6ZC=mgeRo3$itriE}xc`wCeX*W7AkR<7o{k=J>eI}d9mUvsBn zzCz8-=vnWYdl_1aHFrD^EMd;X@6E$Gex>@Hf-Orm*9be8X>J8_aJlB{FvAMX-2iT- z=3YcaT&=nFi1ZrGy$V~_F=u8s^}bb~`>evERLGC|n{mkNotj$f*z{x_4@IU^~2ndElUzx zmqh0!(K$(UOA=j?pp6@w`XrrLnnXvF=&GavOZtk)Zx~#2L-ASZYdW%)qZ>Yg^L3^4 zHJy0~Gx`W}m>A0$ls?g?YGj0<-ym2%U5#7_C=UxcLcc>MN9i6c=q!32t1_ELAuV(0 zL9CBB&Bx-%rSZrkzP$(y`Se4`7SgArl=U-CcRgs;?XuKeOO=k{a#-MQ&6X)?-(_gDj?^%!LzMv@#Nw=y4%78$G z-g(4Y5+(lmvxHGu^fji>rd?Q;IU@2TPx-K({w3*aI&&$ee_Bt^1xnvGzOw-3fGPnc zziWs>z_*PbW7Iy>de%x`)0z4u5#z>gCMGew`q9F5fJ4v#80^yrfFmGzvYjYG`o(+$ zXq0Zjuq^&LAdX2n8!FdHU(=cAGh-&Yl!>EQtNwC!FJAN~z~R$R5!!(M24o`Cgm6Vg zm&rLXD8o19fA9L4thTKbyKJe?WiZ8;Oqb6C=M`t(QCFF`+pi#}~+1qQ%? z?nC?{)TVl1eG39vG!ly`n@$0lL+2pV<8(b1UM}S^3Px`pJqnle=`#RYNH5_sT12NI z%EfdSf>=U-z{I8WCzxJF9aur-vGNm-i2%(rH-`@)zetaHlH2?W(#O3+-#s9qqmXnxz`SBqIp;e&GZ`tpoK;O z$%XU;G%TXWVeb;U0@wegv>bYuQ7w9x)8}w=1s#c$T1j64oz>J0fi?6Ed|OA`;9D!r zzSbJKf$E@lBaJ`^H_-_o+lX%jB?7ydR>0mZ^c*bPN_q{L$hXr0Ox!_Xtl8}%@(IuU zw|vgm-$-B6nY)-V`P$9I4xS)~f9#m%!YV(bYB<{8WwOe>i9f>(`xmYP)Y-arca^l5{go!_Oy@{07bmkTqrQfcZ#mgwY%cnk1*ujF*0!#X| zyssq#YJ;f}Y5{0bdI>mX(LTVMO=GZ}a!CJJqp>1#0L;thZX4a*pk-qwA16^|TH(bv_M%-UZZz1ZVg`OuU2+pb{*l-(%us^gdF5IYr0XVJqlQaA+lc2SBYRe~uMcL)GYA zM@Pf5R_cem+CcpVTiK0N1c6QTI96gCZNtQy=`6%}3w2=Pt-Tl7_TGzZNAE>;d+$Yd zr-&?IOzu3EQ}_4M*L3Cs%;+On!o)TPL_f(-T2KCPYaef55NZDP8cZMQ^*h?@cUG_8 z*}Z<}^!gp|^*guMZ+?=W$MHRCB-{6v^fjG%95cqg5+?Rc<{G-Ok57+XV675#0y4s< zZOGt&1|dcf>O05EMrjam&!Ue}_OhwrRx6N0gAk24bvM}FTuKK9d2|c%B%f|UXbWit z%qgONSn9>}9zigid|J4qHn1K-n^S9OQB;h3pF2fgD>&`H0(UIvwO1dIw0Z zqY3D3rK{l32KpTNu#pxcZkwnb#iETo-bWfQHq&q*xrO#(;;obgfp+RwW@S5Q2zs~E zASBmLdKy!7(G9R+4|QU;ZqolDikWS{8U%cWRIdYeehV|d$cpe=n8#rjehc#@M3mpc zoC06@EzEJili$Kz4HWq;%ua+oF4cM@C%=XH6mpB-!rTG)_$|!4VKBdic^E1)zlAvo z;o!G0UqsUITbRFwJ*85Of}Q*prnl7E&u?Ltz!!cCb2wH7zlAvfsl#t!WG z!*5|054U=%q*{pl;XM?Z()u^82ByBeW>dE7UmIvoZrIS0-P5}H3B|1 zNF^88xf-R)gKbSxZGykeQk{rJ&>~eWFj*+oTfkuvk3~$Eus!g1sZ^rS>R%?+T*PiU z;{zL3FoqbrQmXec?`p;k_^e^S5Yu&1O-9^XIX94Z8>Bi3@*6offd3|`#-hJXst(w^ zncsGuWo_HSm}3QOmFhRp+0JjWg6@!NIj&3FrTRJOo!pNYbxHL*TS%M<*D(=y=+gNjvUDG)b|jhxTpRG z`*S^Y3GB)9)EMZ`_tf|C39ryom!ZGNQ&&O0nBQtee~G7FgukWywl3x^^He8dSI#;y zw!%}*&_AAaK4CGR=&5P2f0Cyj#Tu++orqnPr@lnIsy)^BVmr2m-@*i4%Wnh2hB{B3 zf}F4CH%-w$pWhsX%?mu0i?}!Nw=;V3-&0NSv5DV^z17au%-_g>&K8z|&V~HuE__+! zscYfO5>I`Lu}eL5D{_9Br)rP`%RP1XaI1fXry{pmdL?6mSg&SGFm{cnCStv;^Hdx* zw|eRuV7|dqCjyg=oDW!on>>|;HQ45<;V9&rJyj0*Eu3%Y-|DG-$eDJ2gBe(L@Eh3Y zT06IU>JebIll4HR%Tuo-hxagUu%X*i--Yk{`P(Rn1;6>)fqdpSUk3pPe)F~O3_BOU z`FbC4<~LvOLT>Y$uZs~2e)Dw?^yGxp4OG^8GbJ!K)a9P;HMbu@gb2&n?ZYkWwph0Mf|nhrga zSO&ILvTcYjQ|%R=gU z_`5u$ropcjA@yVUwKAmM#9XUG>N>22HT-5X>{%C5Z@`zFsW zhRtmu^%-jKW`5HeG2IeUcjDT*HKbkvhV3Es1L*7ssa3FZdq`b?^|CXh=EL8vkouq} z|3hjw=iy;y|Gdap#NGE*MvKkWz*naOw}{{SZG@<=mch;}U!8}s*}mF# zfgPLU_kLp`?yF{CnCq)DT*vc#^*sE__j|w9Q0S}asJ%tLIu&_a?5ou4to{;T_1w}b z^;OS3tukM|4Lr+zRfOED@YOT0dAzUAfX<1&ia_TizxSn{N?(119H{cuBe-@{voFY> znuPpx-et>LU#)>J4ZgY?I5+z06xh(@tAUuS*;ntu&K6&lAa57?>MYQUe6!>Ykc(uXdE_kK46a|Qq%_Is-L1B25v!$%0iAsQq=vhCz_)6 zVeMz7sL&v5XLgD@7xBtTQO5v>c#7JNe9KKyZvd0L6m=EyCqG5igDy-_9l*ROMV*P< zE>2N@MGYxQQSSot(iD>qH)_AiQq-HkLO!ok)tq$iZ?>{nsU zbJAiF*~gK5%B&>mYdUi!Gx`YDGVxuuH@(8Az3`duye3UQCbBT zv#1j*A)78Jw2tS{EMOL=$ROLBOQ&LrJo*+B=hKZn>x#xeposQBZ*lKUv69}KVx_$| z#mahbik0*KrT38a`(5d4I`TCuTFLIp_oc7t%(cuIAYNgDF5|mUQR<%$TSNS_AKV z>JQ@sdIKSgP}xH*y1p0pEBqPO5%CGCUW zD*6@+x|-4tx3V=f2oBZKIS5xB-2}_(X%8HlPpv?50TE_vppEElq)d*GLA{CkVTxvY z69O%?cBvIuNCTl^5$(qmOGy9EJVwJ(8Vbvn(Qef98q&{{kljd+-DW4=M3(^SHhLGP^BrE)x-B#fC44JAg<P(mpLgZ{q8G=7oX?tpv(Z zy5U?4R~ChlE4)HcbaLoeD2toNW9A*8T>23fN zr8EnTz{E9l zBWA0mLtt+mEr5o4`Z0i-PeYMy3+OYXL<5aLZzCOr9BiT(lr__DVOa~60<(p*4wfyV z+hM~J`Vi}2Y43B-WpooTTW)%%jpLxNphXzAhh9e(cT;$-b#s5xJ2_n7%h*hlEgwl= z(-Ho!q{V$&(_f{p>C8u&G3oPTCZ6Lsnn$(2fd7Jy$1?Y+2%hqDMVK5R5w~+k>5@WA zX3+!yluaK_wY@oXD3U5pg@|pgaqp(H*{D3V5Ki-h)>mKzKWIG}Q}ct?Jj9DIeIs}^^wB7=mAGG%V0>&DC>Kd@=291xUuj$A+9IBPtk{#05bmm%S^bx$m z#Cr^QP7|-Lq{l=LB8PoC2_6M>JWPzxas(_&v739~X}imk*>nZW&Y@b=qBvaxGMDtF z*Q9CxVW_BUW%Os`#RWlQKRpjS#mVM7^}AhPAu2g)kwe8`Tc*D&!! zx)$b4qWIBPZzU~;^HuaVWUJ|D2-MI`7*06LZ6eep!Gi_aJ$ric>`>%!64ICEHb_gt?XOS&SX)PvRMq@DBa{2&Xte^pyVkLco z-qkb!K&_#-f$ut63%#xM1Zw358aUTlwvo!={3iN4l(o@NDBDcGfjL{qpJs<`r6W;K z+Nl)D)j?MwVYbsb=-o*df$X9h;Jb%TKrFgx4{+G8ZUj(#{VT#8eEs_k{NU?f6lO&D zEP&X?*c$QSbOVgS}6 zsp{cKu~Z83B~q;d$fZ&>BgM+3I;$t6rCNqXQ6W|6Ogry*seXyE6Qvr87*CSwx9G3r zCnlh)q`CmvQ7u&gCCU0G4}cA3o+_PTtT;U1?~Ov8Qt4r75VfgaQuh;Nfk0XN;e@PvZx3iWYf^C;i{q&VOax>f^UuVDV9SM{S1+8rpm?E$QF7S z@GYcHq}w9;3d5FA6v@Ao-o4EZTSmjsyPUSc-WBvTl&z%6uy-|uC)r_Z=qGS~9gTs# ztuz`)ZlEh+*+yCiWt-?P$fh>h0UI{cB9xLX^afqI{nz1cTgc`kZqLk$014>Y;x1tB|E zDL=X`wKNyK-yki@rD_AsMehKzfs5XSu%C-w1i8*dZ$5nFqBjuzRZ{)oE~}r5-nH8AY;KTh7xJNzAHicyH%WCX7F4rT z{h_BN@#8_}`#uY$`V2|2lnXd)UY3wCpGTIn9?ZLvFD|fcwN$qN&oxp#h`H8r0f&4m z>x7RRq`CyDwvjJJ@OP6`$6($z)(H$ZOSK=iZIP-G@>}_0dY{FlU8=w0;?ltd|0$Hq zulU7grXw*%Y2-y*5cW%7)0w9*qmQ7BiHCTuoP7Ro_H^CYqQ!)I5VngzjYr||1N9nm zE#TXqSizA%9TT^+w_?(4`YYVZp=M-AoJK+e zzioQFog$B}z{L5q|2ErONPhu%Mf5Om;Vn2)qlA80Xl42BXDre(ng`4Hvo6xTf?8nN zc>6DhdeYM4a((OXFqk%?8b95__dM$A@2R|4i*I_ngxp^gelEm==5Vc2}CK@D9% zb1|%eCS!_5IvK;7dhc2^_ujQ=>Ah>Qu=lRTB9pD-F5#FiQH$Z5kSYrv`BL49`2wka zgp7{x%RPu_RH}y$w?=2lq>s7PB9d0a{|}|spW^wN&a7ibAHnrZ%w+p>cJi+(>qYac zOIb{)Lr_fFjAt<&oADBY$7VbLlh}*}2o#%f$c;T_s0<`VHvcjl7I_Z8`!e6k#CgXF zow-uYLH6WHbrd3=FI6`56ms!J@QT=Fq+@ZSz$LyM#=B}jQJUyCUp6b_u~_t6?7o9= zbFte98@SkwfSs+0v5BvnO7$LOxJc>$(Z>{n4!!^&E4EwM6APWI*NcqYhZ@kp^EI8h zof(7sZYFMI-1YZAx}i%@E28PssaRb>?>8ADbOcf&O6_+6X8ymOITYm_J=w?eHJy1r zGiIVonOM(Y{3hS&>jfH zX(D=a=}RcfqfY=`KHUbi3aJHT5p73Ic|*cCS`4%$^b(9LrOzQyMz?4UWT$RT7p8lhu*=Jp_`sXMcl8h0Xkfj zeui$YN-Mu# z1cn*`vmee4|B^4?rnk`a-pHoQk>NZ>-}Kgof6Cw+a<&mLPtEJX*TbCU;pT-iON@qJhHrsvYxvEh zZSN~)nE9oJ4Y8?!M9A1ic;w00V$MvX!|r>WDP#A+_beG}m&0Z3C|+e|t~?p5;M6npQ8HG<)y>en`gTG82-b<@D3r0&Av03O z&O%-m$=C$YC&<`4z>xP1m!tn=8B00O>MxP8P4M?L8CwZ_ct7z2U@}_9K7^h!8JiEB z$H>@K&{-~HJ0LSo#y;S>X6&z!vBR;F&XuuSC)ob+GIl(Czd*)rfzF9CHV%GWBxB2A z!z3B&hqzxVV=YLeN*TKtxLw8=A|I+)26Ii7u|INEG4@o;SSjYcLdGV~w*56SHVt~N zl(FX!-&z@~fy`_fTY`D(WbE(ocaDsW#5${&vDL8oTFxcV^JVNJ_;rJfZ2{)|i@2L0 z^Swl+{gGZl4KlVCx!0m%ji@E}tJvAFf1!%?LmVGcvAM8wk&4{~`A1c3F>qL-Vi#cS zV=A@<^Db4f+3@{w6?+5Ae3^>1!iFbRtO7Z_T*ZEYJb6aNroyikDmDQ!&#BmJ7`sx% zvSH`*Di%W=SF6~ikbgW4H+eU z$uwjZ=}V>|`CEvLrXh3ano>)~NnbKeZ!YOerXll4Uos7uZ>}ZgYovvwFPWydl=LOj zkYz^T(s}GlIq6HL>8&!oSLohq(w9uryM^>6(~w)~T6ob;ck@~?y&cqrDYjD+N7?l5 zq%S!*hU}uxIadt1hYn|$4B1Wh!i)XtGEO+t%Uiwspn|u0kAmi{UN%E+WO%E00J?dr z_c$+X)6ZMIpMd7A-Vn(1R&OLHmXYDD-p71FGBj`XUgw2mXx{2Q1c&nZXUZYZTfG8U z%v-%hFqyY{OA#gB>a9g=c&oPn81Yu`D+?-r#BqN2Hxu3j(*}!17ja0wTs+z1eXq&jnh4&Nm;F>!s5B5u;~5KdyrB z3;3=b6q*p|FV`*}!+>jp3<8V)4$MDdQ)QPMV``|5<@THFKA4# z^ioghO^NAW<|(}?G4ygz=}n2DS9nTqN({ZyQ+iWk=+*plhr!|e!tECzGi1;XYQGu znccHzPr%bfiOJ{9fTxQRWABkKgZTOE4S2dJG2#2=izI%WkL9)F{&7DIc)BPtalVjO z$@}NU(SWCm5)*!0`jT&dFJCP3>-A&6(?yAi^RxKhkMo=TJ+<-I$l&P6mlyoLS3bwn zMTv=DImgpQiLtBZc)BPtc1Dh;ixOkk&hd0nV(fZ3o-Rs^-7v?~MTxPqb39#?7`thX zr;8F}Uz+3TqQuy(b39#?7`uIrr;8F}=jC|1C^2@o98VV|#_pBl>7vBg{c=2Alo)$Z zj;D(fV-L;obWvjLD|0+ulo)$dj;D(fV~@@8bWvjLi8-DwN{l@@$J0fLv8UyDx+pRB zj2v%`-!3=ic)BPt;WtY;ldx~g@pMsQ!taoL{P4SSJYAHS@Fh8(E=r8OEXUJDiLqDY zc)BPt_JcW|E=r8OHpkONiLuw`c)BPt_TxF8E=r93M2@G65@SD|m*F4x(ulX(Z?D!7 zuZmxW_7Sgxf2_QSx7{y)w}^K*OnG`myp4X^ei3h>KQ<1Ecn$shheo_Uem+-5ysz#f z?I`h;-w($|yqEm)PmFj!`f(;lykmZur$xM{{eChd;!X4Yd}G9Wz(4NI5pSs9pKptJ z-}>!-N5p&0PkWd6)3=vIyfc3O%OYOUmXvLUl;1xW9*lVN{9~<+cqjb2ua9`{GU7ij zzViF?6A^EmUxue6-ci3DpO-TD?edb?ejnH-G^UM5c#CzUvmoFmT^}e5vM!d6r`Hx4uL%turk9b%3`TQ91;u5IW z&k=9BUzgt^UdXSnlk3IJCQdNdtK;{XxLj|&-xfu3y=QzoA=f+ZAFD*JH_<;<$z1P{ zU-vS(UVHzXEuZTJGRVJju2xF&$ zL9zX|Sexs`CKG3Uu6L{7Hy+RR64MEPBG$zSrzfIrF^}h7|vq$=d-==$Wy(Ru}_vd=Gd_RAj>y`7%@Tv3%zkhy_>y_}! zd^Fb^?zidjTy-aiSe-1TYo#ZbPxO`pT{qiw$YzAa#I39wG(&wDfWu- zTz$O+mQS9x`=^r=e$p>(Fr48xPFy&{uYZy7^L`gi2siN~ln8sib4!LN`sYHK@C?6- z<-^VWURXK2%g>=|IMp8)<##dsL(~qJ@q0+U@C4tf4Z{cgWZB_tziFC=-|avJeKfiQ(gONj5ngQyOzx_%pwdGs26b2)!|UwV&+faE4#w+rmHlaqkERvx$3G z_$R--OTyKCpUHbU{A#WUAMxwWgp_|G-DXDZbB+hfCZ{X5WX$`sMvG+|Fes*JmY6cq0Y2(J)pNE!bTAh;qk4vZ4kOP~Tu|YKhLo{Yw ze#{gn^*O1ti4qr7GvzitMxoTi3IrDls+satiUh}}4v{jO*zrL%ZS2CSU8V6%aN(eu z=I6%UBB{Cl;fn;-OgXK27fr3{=Up_Yrm0pSCbf&4R+>p5Ca7jg*)on36`gua&J_)g ziVmt7+hvX8)N;i~F|L}W$0RyVZ^_+hBio-H*EUXal%qJVYwKN8>}20V$yY3KoXv$L ziW^KG(pjFEw6-($FEe{iGE3DTJ2wR!>7s{BdsX_5 zwVl$jA^Gw3>l~-bu!?d^RJK3^H+^fiX!iUViS4YET2g_k?Yhg5=gh0)IK!o*>0fQB zbD)|Senq5XJCT2?2q~&PA_b9&!ilOJjE#~n_EC2Mazm(S5PDm$0-lL(C^LQo?(wNA-?AEWCg*Ks?al@R%>eyK#Nu95oRF+!#| z+1!vV^}7;kN*&Tt*L6FaLWZS0oh z@KclwniM|!DK4<4a4L_Hw$!aq)1XWtZrWVw=GJx+wJ+&ky|I#~oE+lFaT6U!x2T#? zHQS0SHsonPR=?GnDV4cVA_fGa>K3cj>U=&&XIH6zT&YhP(x2No>Rk6VC_yxra z?5-nwG{eSH-&?3nRK2jNjnA>IZT&Csh59e>Q`Am0DSYGU-|m}5!o#GLCNv@Z`#{VR;m%Sr z6IwEyE8~PQ<=uobYZ$Y<^s{c#&txl9A-`JIPSf%gs-WdFH7ry?)0i3-s-P7}*Rd)p zRYTLYsD;cZm9DuLDr-Wu)P<7NbQ(V{PL<8hdRHLaF zFRAgV7`w#C$&->juF3lriNweWHb^+KM)rKnCWJG%+>KReVMeL+qBFE$u==!4lKQ^ zl^CO!Nu$V9xjICuD`lq9fzy~lr}9Y|P;`rGsv&Ng@wu@JmZ);s<&L9Up{xS^#@LQ? zyUEp)W(d0ZlXUf>GJP$PGst!SZb^~yOq%XaJuZ`>UKY94T{QzewIr-fE*HC{Kc%Ov zGx?<~ETs`rPL)&%%=ts~#*VYImR8ghsldA71}T#M4U(d!-kjh#KZPZO)S#NFqi(iy zxtkfMW@@_%_N)n%3aXiUuPnB;(*{z5YNmD(CmJptR5SH4X;#B!f@-D~9s`#Rs+oH8 zJ@Px_Qpu=7acZVqmncOH$Ig)@`ZH1{`OQN$i#L`PLy=(o^*6|iA2rwsPn4NVGnVzn zOB^E@=al%A%B0>XrPck><$}iCCXotD4Fj#?)QoP{QvSuIJSHp6m`YaCs{MAS415wP zwv4~{DXBqm%_OW~kLfE+k1=M@NgOIc`WJV#7zNiyHtt`qkHWe>8n#N@oeDLvaZCo4P-c72d;p^NaeGPZaW9UXVX^w{f$4z=(S}|s` zo3u{(NjFI^4PuH0k^-7fi9ph1<AodL@j@BuzNSvA}udWn3zt0vbunZR4 zEXCs86g^7eqN(S)I?j8Qq{;dR)l6L>h0vBM8Xr`%#Rt*?I=qGI`F@VmplU_49Or2n zXF~P;@FE&yR>bARsCH1+xF$lDA0a`5S~NL)ZarH=IC&?8n> znA0=#M2h~5aOl~Txf*j=%DpP@rR-4oI4;rrsqZ zhjy=E*`S)KKgn5T*bAy@dS$VQ>7&K+Qnb#+x}@ldRIFQyo(IJir)Wir-DeI^Y=xDF zY=U(uZ;8{2ZL$fTG9y&6=dHY)GR>2HubJ{Cx+aQ<<|(45mWcYK_%)`Z6rXHmsttV2 z((6`snOYZ5u&q)&#h%N>dyAJfhrXz^qV~t)*V=Qx_+&RlTe(OnQ->n$Ox7h5Okh%K z%JY&osf;OLQaN*}oK(?t)1)+0z@(}vlf=16HSE4xrqW4u%msT=eH*i(joHM;jM$jX zO*NA)GhH~TwLL;R8`#mfC#kb>WKwr?;hxmnX5BwUJ73ZuQ|Y8(7p{_%?NzcVeoDR6 zE^Fk))#AsJ_Ub)$u(0;T*pjZA)xMRpM2FVcvi?X=LW8Q6k`8fJ>KyC&XLdskiqo-w zlnk$zO_1)J6e|(rcXQNE^aS)TE?tZ-WvnZd5R8wSZez(PKf0OYw3l5n(=3v?NXIpq zX%f5p$p(ngs-+~83*x#mT~f!jH-%*+w%f>6n_vrdi3bQa44% z`B*pQCzT#4Kg#(cq=RhJSC)c&HPuVE@jo)Jr*qEQB z=o}Dx-1N@a(`KZPmAj)R^mo%iN(qV2M6_*EYgYPBR?oVXDC)NCRa1T#LbhUN!R|I1 zucw2t8!eKKSFD|xb1VHY+i`R&cDLJ7e-cBtVwdSY*TyrpQ@Qzk$I&gelQy4ST3Oqv zvagTh=vJnPn?9wYj4);e?X+4Z$I&gc!gX8gS}gRqtEt=QQZMwpt82a1eI?V-dROP~ z%q#Umpp2Sr-jHRSq|>#4Q)Q`?UAJyWTj(xj zH?3VA-%jtK=H2It${~J}LWJt++~~9l%gR!>&?q^C$#%5Kw)Md^5_ok$4_Dw2>G6Ff zxRKs@v6UVbFqNx3KuV!oXj6eB8#~h(B*9zi#$R+~Tb`%1JWgqy4Qn@)@{ba?>lRv8 zAQxk&o!06v`^#MJH@V28v{Gf+LSqXgHg>vpr_ea#-*_oapp-ES_@VN`nvSDeXk>xJ z#&%lXEVb3GNOkp@+elZ4)^2p`5;ctr+RE}g;b-X$ZvPh2Ep-cpU31~pZf2C@XjBQ% zxb0_2WyRL)GG3H@ca0TppkD28P%vAITglau)T}KHkUB-UzGB8;!As@%p@tf};|#(0 zM8R?<B1QhET>*PHx0dmQg5RgU*)pApshQ%eXNnq2r z#CS)HycI-|Va^FX>=tf1M;x|Z0&Cr|R<436aG8XXwI>(gvezXzS+1-JM@t0B$|;jr zv8i6q7L~Btx1P5b+H|GFttWv^pBE!n45!mF$^RCK zQ$*uzaFd&TAiExuz%D;VB*s`V@}|kZEfQCHn-gjmNNnJC zyG_S1)ITH%WQ27>JKf?v@$8sD zlJD8OB!cnm6Ji+8=AD-KJtV5>Nizcp5;aEbu7P6mznj~ojP4-IYb9QSmZQ5{EK(>= z?yTrhD~n+=y;Ka7Y4>bN^tgX~CvS`3PC@m%ocQJCcHMRf%DS##_^1jJJWoQJz9{+J zrN#j<9uPwg|E|a$$wES$&}6r;6!S9)Y7n^7`Br0?llN1JU{2m;z@uGr|lA?VkdQ!v)nOD*bMo{&Hj%4gufdh`@c2p zwETXJ2>KIUSL}Zf@rvObk7PD@zR1Dt!XQnm#50rZ2oDhV5V)r?JG*1fjv& z!SYPEsV2oRQQL@N&+_VWD=(qEso^#4-QxINZtm1UZc4@#sOx`ocTrVKs3!gQW9%!$G) z$4Z2=?vBG!uNWD^OoN>_``eg~S=cmg$4#=&GkwZ5#V` z;ezYDy1Fkq@LVlfZkY~l^X;W)?5FC8U)^w|ixjB61VpYDqo){6=ZP^y3@2}vj48*Z zZml(P;Xv)kr?P9I1UBs_MY&&$EOqJ$i6SS06S}2H1Gk@P@CvfuG^-0i0WMQy1CuV5Mg?2TZv@4ap^#1>1VdD zcFXUp?Pb5|t7QXanjZDb6DK}0AJ#R|XFxq(7iy1wuOimga6Bh&@f5h_oUJm@Dm?-nyj`~W}61=b{v z&I^tm)$W`x!+%Z3NlR%W&0Ax=lvNj&7PIx5rfFwI9d9xU$-k2m1XIl|=SQXgrIkJ; zZD|$-nyHS~X{n{nOzZQ7SyBUZTu9Ro-STHiKe*s5nbl8SE`KI|Y3m1{i!HW(xWIp` z)Y6J_?IYJkX%)0mb=^EuB?H-&r4FXx6|~^lxq_yK6-*7U^lMmAYj|SKmpW}CLFrZvk*2s_RVgJf^@Keu1Cf2wGvRJ7ZLRgRR+G?S@lH@m32 zxT4knb^B>^yZt*$u^YCM!qqLtxY8NHS<> z992UqYaC^7)nyDwYou{A zeibxcY^->3r5pX5N}JY|#krJuRXZ6`WJ}Ant*Z|vnnLHA)@>qqK>KvAIr3mZ)0|Ds zsb~t(O!r*eXPf?0Q?`(%?E2SD+4ZlQvf00>l^I`bQ=XU027Q<$t#!esG$2iBD%4tw zZClT#nIu>6b7g)?>rgO_0Y6O#O(V^3PTdaLP>ykBs&VB2={vfmb+N9T=DV_sai!iC z{a~o>Hm-c#cV$;|W_&Ja+-dio6Ewv%c(Hf8{*!lm{+HhE7WXekgaY1uX@pFy($~}a z74(z=@sz1!zk;6Xr=ChTwd?;!uj|_+bLFZ#ZAihq4ET8s(KI&sq0|a^;y_O>P*O-fOYHplK`f;cmtpLDPFD7?-aUG-L8a{Xp(wA5ZuvA73Lr{%E~XB)PbQ?-^CS8M7&RqJ}G zR{n!2>SsMU{(dr<_HQPW#+r}Z$Cu$|k2JS#X)~itgO!%Tng*L`t7(VXnOZM@m^F~m z%&*lf({}v?O^2HO=eC>mPnDc2mHclelG*>d?d(XBCDY-0oiT4K*mi)e;cW$LXuv7Z z_&?{#WYAnPxYIaklJ6vox^guWiN$vW%|vpi=?!ND%|vqNMH7jkj2gw6NET|`jFy7N zi;EO5o=6t{n@XFOwG&BMS-=Ihm3};Ksap%fDb0RJ^jk(G%#=W}t z;vT#7pBi)7e>vFQ`)}%H+QK&GaA}8?vRqADS+FqyJC&@|V%zq!X-agKd!RafKU^>k zVADLTY5b|=VKbE&XQrCd^kGlLM3qLdgIQ@f~HmN z-dsWBdxIBycl|$k_woPIyN~^wsic5+Ps>F>Qyu1>Ea)k~P9;wk^wg92Q^}S;di|(4 ztcl#tPkXLlUVzQ(IZb1ylIKnGKH_e92vvus^OF1<8A{XMxU`mBlZ+6znf_}qd%2*Q zO5QMo?7M=d2ft}t{;i;yO5V~t(--^r&42Ro?*DSkee2)!-~tsZG(|r2kz%F2rxo+B zOAKVk%g0fs;O}X{W!Y&f`JSm{W7%mcxmPQBajo|LQ?2$%t^S({^8J4^lbF?({&V{$ zt(6ZDWlK8{W!kH|6xOuY0mba8f@Y9BpcTu0TF?xV1~b0*Yxa?8zQWQ2%o+3XpPTQa zf2!!GQqk^zy_W6%S8Lgi|8?`pieDS>NuPx^Ekj;^{m#%c{BKaszwzQyYoZ9oaBs5M9 zx|(adM48LY#1eEhr;eS4ja#G5N5CCN2^+t%f1a>u1z_`omwy+$wKl zY8p1XoC0}{k^2ON^=iDtMR{6k_obg_36s!fl4LU(bbB{x1{t&hRn5(C*L;Q=sA}4& zpO#u3=k|}1HQdNS60Mf*$&M~1&)7(iMY$}}k5esVm6yWkpZYU!NeQ_Pc!>$A@?N%l z)FNBxq?`VNOlzT2npeRa_BV=e0`|dLd9J|;oi-8jZ%(H#kuDJWRYMDW3hvZJV~-fGs_~5&yTx#_^rM!&{!PeTg{1Q4lNPtL`Jlz=cU1OC zb4W@1$hu&+oCIY|eX}dbf%Um!iy8Xb|NO@x%*UUaRDD{;OEDjR`m7&+I`y1bC!wCn zxSlL|b*oY`Dx;@lqi0i6}CHx>r(lu+H0TD#ZhN3&p~CCc@1pL$Zd%BFOaWSDtg z>Y0?>K~C=)o23X^ZHqNO6znBkDJf-}?9E&$BSTWjwo+^J%s^5v)AFZf>PYI9A8Ib< zGfike4b94sl4Qvd19HTqlv3u&{|h`mt^V2re|qxY->n~R=kMmp|Ez|RVMEDK&xNF3 za(BFQ8wu&8-zaD-!E#I|sgYZ${u6)B*x#=i=kNA29w^yF{EYi)#$)}AoBA2IcPrL^ z`p+5r`!(bI-G0V8Mz!~I7+k^JP4U^kzj}f7wz0XPp692yD%NS(OF(jwt~#)x<6JFU zN~g;QNuaDOC2+K~t8VE@Q9~z^&h4LaqlBbXswO*hOR4MDn=CtZBysz1lXF_P*cDO3 zoO;rIVpr*NTQz@_R_`GFFxE76&4ki&FJ+KmS$*KAW|rWPc7mRXe7T@L4;1^D**jfO zzYbF^-r&80zexXxEvFBB)!gDoep&Zs{y0MRJgrY_Wj-QZEB0B9l&KGXRgX4i4Jm%? zn|hqg%2ULA$C&1DAKDz`jE((R<95C_!*RA!@z~cBYn@#yUqTg@!NrOFws5m|paPSDeZLDVuJw z-Lxb;MP=-?JG4~YOj(Uv`>C0(U&^YMptELXzB@DXU74v5(8ms|n<)|UT_`_RAld6* z_5D(&p<=lG-~PWc~qx3L;{DMK}a&n^S)2#o)7Yy|AWZ7LSEB`BvtM8F+ zCquV>y)jNs0spIx3k$@_YM&pzM@E2?(wQ`VY%o9k#)0|ab1LNLIZiI3{XCy&B{QY2 z7u;ZIkNA3zR7UJVWrE=ctBNZnTh|G1>&t7<0^zn2LFXuW0<)cz!I*L3kL08^W|8>C zGOHy^*K-q`qMAHdQJ{$b40ZA`If!4mdJFRl5;ZR0F8pAA!5fZ|hc0Ab(*lm_E#E1V z-2U$ceCm${EbN57D-*6yufTiOurMWU||DbNxI;ABT6p zvT`iR?30J=jmD$$c({INz)iLf`MaeF_gtIFd7Jw6^B#31ZMhYoq1~A{ZYPw zqLm5-tR~p+2Dl!|cLiKuD--^ATAlsA)`dm&11z^*z&x(+%G-nga(ML0OKtSq32qtl z0J?~AdKvRLwOiJFS3qQsjKK2a8TyR0h@oon(q*08m$k#d_>I>SIDrCRntwQOK*>z>*+u(r+R67$fw zdx<@I9a}%7uC04ro1m^uUe5;Bvw`(&*7a>*eH&Qc)*;IVX4xY&u++dtX<(1u&;~ZN zfemdn8<{V8xQ%RJBO9f$4Qy-!8{6VGvHP0Xz$Pi<9}_QS+d5?1z-(K<92=NpTP$KJ zVspv0lxwM}rKYhZy2%4QI$V|xs##ngwc%TA&q?s#ev2(}o9xxUxVOY;A_J!`Ee^^_ ztdE{ZvYm2n8#69`gDgDtcV^^kVHjyuCHe`eXvHY@gBNu%GBcNYeYSxjtChVMes6i;=M z%T8hOY5h$3DqbZq4oequ}=dZG`{r_W)zBlL>scWa-`&R5R`av4?39iv+`iL~YNAPnU}Q zAiJa%iNA`PqC`nAx^b1nEg?UNEY&eR!wG*VL%A{C@b$9Sn1T51(((~WAoZFi)A4dO z6P)5(q@U4uuh5{s`vzv>SlMfidYu?|NKp%wj0@{cI$b!&IpOo_Pc`GhUrWoFqb4|U z`nBVuat!sSz76zEa}Z-zm+mbK!XvWRtoLN5-miPLo5(u+u-N(+cT9{u5~)l=LR|bT zDSM(MjC0DqC1JLa6TJLZPLNk5%6^l}44J@m*{C@NZNJ|oZb)9XDu1rLyV-?qnA}L# zFa8`FlvBpH4~a*8`zBd9`t~O>`}_7}IW_&cxJQ9C(aH+>alRMF`0@X4b$#E>7uHS5 zXT-f@57^bkH0cb?-N~8K8~kyw{os@eh1L5KSz?%Ln51-$S;{wgF?RZ7f}lDA1| z{927FlV7sYo%8LYawOl&|CeiSz6|8Pl>td|tUKC-Q)7XV|hb&b9s`)^j% z$-1KU)6SBf#AQnI>eJXO+y1{zbsOlFt(q`G0*8 zU?vswGkpaom9P`qEgdW|);c8nUpVAnU2$D58D6;J(m^EJ2`!QHkZL49FVl=)?V~al z_^mcx&K=(cPfC2>eLD-da+tW!cjYtUGT)U4Bv0REJ7jF~kF`MZ^p7=9dW)auC(@k$ zao?3=`8_QlP2k5rD1)9Ke`fv|5&F46{x3;S^Si=E$=@%3YdMSkw10E$5sDgn!THJe zN&bG?M`cVQZRiO(3pU5u2CDb}tAT=r{?I@{C$w6IjxrLigV+DMpP7qIeN%#7Y#z)X zVq;H9kJd@Y{UWHQ6E3b(%OCI7yk1^L!Iz~V)g_9%DX3=A9fu`qmITCHxRx^4AzkdZ z`Q5Je+x%`f`#o;AyZyGm+k^c*;a+a3!_v^VJ}Oyvc7tl$i?V+9tHf@9bO1UK9fS@> zhq$FmOD{1Q^>u@4+l+=2;R^Ih^eS`&Iuad)UX6}M$Dm`;ac-%Ka(lxZaG3mzs@UcQ z2JSUfjW0jDlkAtE-N_`p&VD)Coq|rqCDU-#^|)?2`P_ica7#Tcqp3Nd{4AB)=1mFi zdv2*E(y^P$2`+X}ZS$pew|P{lqOxQ#JDNuY)wWl-g=0!JmZ{V1C>#@1+g_SBkFnY! z#yam(^fJO*#+a|eyRFdHXq%W)8F_YX>NblBs%@^~0tvBoSIalSWYrT$2&$QQwZ9a) zR*Xz(CjBuly&b~paEF{{_sOoH{Q6CExoaI|&WgAPC1~*)i7ji%-LkB(>%(|mD{a-- zvfSMv`Zp_LU4Lm5U49i@5&xp$QmB9&MgQUoi&1bzY$N<{SHy|>?q`$lC&ia9 zVC$#Di-hHS+a1L7rn15KeljCID`kmG2rn0zq9<5MCvKTUtS!6zHRsDFq4|Z^U%rqA zzj)30mhRQlQtGr%Z2gNnB*xz?!++8EvJ4N%5l!5}V*J}>cvzR=MWqld!&^#PS%$}T z5-qq)o~Yr@-xYa=?xo23ZXi>Pg<|;2l?E)KPtO$lUdVq(HJYOQRFEZ-~;lYb5zq{Q0=IYfGJH;C;CH~$)ba$(q!@ciHuKC zGlOwz#~zcJFH7UKk5e-)SL_CI`WI>%SFj^DkmB5-(cZSyvx`N7c?g5Z!c(Gkp#wZyTm9qQOY6E|^Ni$RYnW|BABLC%Rx%Qp9o>Rz#+H^!7$^6N zQ`5W^BseEfs<|9V$1SmgYMWPje$xR#~gRcUXkM75@pBakx_Px9v@`~^9kt0DDz4b z_xGqIb06(|v{k95zQ{$x^=%(+k)Y)w!Q}ShDP7aV$|ofL9b&bIbhcL}YQLE-XWvm9 zr;fDkH^;19PtG4*lSv%&Diyb0Fv+}c^Rnn9y;JRWj!rUnv%5zpnLAdON89q>9Bs>= z5pC-ws;^pc`vz_OuR*5-&5MED8_>Byn{Fk#8r_Kg2Yo$gULWC}3MK_sNWQ1hU)aC< z5Bf#WmMbRO9xpj)%Ok2UF>wp1S>gzr+qhf*UiF1Yn$8@*fSUXsjJElT>Pu7HweV}v zc5WRMW77>quZ=OUu5s^x??qRmYh&zezc|MFQ`8*yMszH?G3Jl`!n`siZn>4m%&o_` z$1H6$H{9Ybi1wVg&E}*K(O2Dwn7}7(;FIQ#R@{>|@M&N4wq2l+p6%moBD@bGg`O7w7Un?Yp=}12GXdx~pso%xN zvmQ*oLR`+kmb^vo5%>e7f0IiGMgJpYwLg}5%#Tx5Zcgbf9SvVC>kdD>tqhjFT|=fk z-+ogD3g7lGNHwkhVVK(fjXAab8*^$OmE-C~uG)3wxO%ayb`e=i>&3X*^<=%`=l@H~ ze0#;3eA~YzrSbh+Qfilyddy<5?;(qZ*-Qe>R^_5kLC0);UxDEZ}?t4)F9t`$Hk__&Bru_8l+5=vrXSKC#w??oqOej zQ8V?*Tg1#%EN>Ch4(zrJ*rh}pJ{inI-KzpHm0_NR$Zh!I_$R~_r17@U^ zm#pc*qr!IPjk*?H6rI#vR{$05OVHd}WaqM?h(cr0LQ!^5Z*4xWjB9V^tEjVf-4gYU zn{-7fIZB=ABz>J@RD)>qsc%%SozJ4CMX1CnU z&_;-!=$ger^h2n;rBNsO=nse|s*B3#@6pq4sh=Bg@IWA_wpl$z7YdlwUUb8N`J6J^ zIwjgot|qH^&e~8D83HFtb~0d3iTkHXV&VC?1Rrjvg#M(v5P{OoAwrz!@yD{#?u}rE63kA)Q(`x0E?fn!ZoM z+D-}c{T)eKxw&MmTVTEv%W=&cg{|$B(4Q7Ce|6#ry`&pK>`?g{F@IN99(whc5i`bU|K zZ8MliG1o|-ZHAZ`V%lbiwawrRlaQd(P%`n$q26dvCBGbc_yXmy{!wp4g=Koyhlt&1 zMJL!p{@DWswIwfVZ&M4sM^Qxf1mtis#yJ70{#jMYU*Aiif0aZvUNu#TS5sBurAZu( z*A5+p&O`4~m2~&2N;>^CRny(3ZWMd1sQztMmUz#oO1u}?uXm(0-c90E)jL!r-eOgW zcQ4_3S4;OlB>PlfLiLt~#(zh3kbHRp{YX{PAA&zum2^MAKf?j>v!>IxbE%d=(^civ z)>{@Do&`6CTcKUh-so^u$$J#6(}t$MR#nQg0KOaDrz-J3hCf4(s7m~A;L~WV_*U}^ zp-E_Y^b#~1y$tP$_CN=tSEJXWGtt{rrCbZ)CFn9$DVP32gO+1G`T{Bs{F?Ax=sxr- z^duT3d6;^j<eHDEj-HU#R zeu*AKPorni*h03RMbMIHS+puz6K#m*psmpkXm4}?IszSo>O(N<*BPk3CP(>B^nO%d zVx!?3(9P(J=r(i@`aXIXJ%XM@&!GCoD9twxErFIo)6nW@eY7Ro8SQ}%Mu(&0&{^nw zbRl{_s-L%NIUYkdp)a7j(GSsM=uc>jOnREW7@CY$K&zmapv}<^Xcx3UIt0BM9gkj* zEA+ehPgBeG7d@RpNaJe~NyEoje*lN21dSzXe^2 zu19yHM^SyHu^y)knt|3sFGc&ILs9+Wyr!FoK8kKZ52HV#_2uTI#&3pRi7rAPK#!vV zxizZs^&8cud}v*?2YMZ{09kN3vYyM_z-*qJ_etJPs8WnqMr3zF;!{Dl5iQg5}Xca!gb(Au>6X= zNq;Gv2ls;q!B?VV(Cg9LRi&TZtt#z!ANqi*^s@(5rF`qqP3SY|OXv=CH~K#Mv8v?z zDSQ+@4*v-M3_EhqTjPh(;;M4|RM>;l;A(JfxE|aD&V^gTZDIX3svf61+#encUkP80 zjw5_Bd_6jo@SEZJ@LlMA=qmIP^l|hlbSt_Y-Hq-;528oV6XRmT5jaC>wBIvgE`PDAIS3(@=0wdiJaEBXey7d?a?Lw`b@G+U3tXfj#>%|IKV z&Cw2MFZ4=uEILs&=r}jSYv5WI8yChmhRocA*TocVjTcP^n z?3zy(xCh)H9t>XvUxUs?Z$}rYNo;5@h++!r1Q4~Iv<DK-7;xRqe-c7*2sJq4m)mw3(`;YYn%DyTU!;0q_v` zD)?%6B0L$s0iF%t0xy8?hL^%C;0NJ#@J4tG{4D%3{2Kfwya)aO{s{gIJ_3IW{{a6C z{{}~8Sii=qihn|IB3ueC3s;7#!nNSKaAPtE8sEkRCGRiH@Z|+%Dn=9 z5MBpwgtx%Y!Y{+G!EeHQ;1A%B;LqXjP&d<-J012W|$pf%Wx{ntyk=H#`^~244-2 zgRg_Hhv%S+2)`G77=0Rj8GTJvj{7FO2mS#52>uK{0)Gqt0RIgC21nJlev4I={6lae zTna7=SB9&?wcxsNV>kj|2DgFp;BIhVcpy9+9s!SouYsq*GvK-Kt?)v4F?>I~5?%|h zhd0Ad!CT>1;5Xp6;JxsE_z?U#d<;GT{{;U6JC|602UW%2h2b!q45z{s;50Y`t_?SU zo50QCmT(8SGu#XA2VV|f0gr~q!`H#r!#Bb=!?(kW;Ctca@I&w;@Z<0k@N@8s@OF47 z{0{s+{4x9~{1yBSd=fql{|>u#tiR(_bv+9ghf`n=t_W9yYr^_n2~FP+&V^gRZQ+h^ zcepn^2p$TLgvY?w!c*Xx@J;Z1_)d5!d_VjU{0RIX_(}K$_+|JF_$~N-_(S+G{3ZM? z`~&<8{5u?7*ZQZBs`T$-a1vY=t^ikqYr^&6MsPFuGPncW8SV}Dhljye!QN{{;U6yY;L;i=xF;#jmB{ zvTzz)4ZZ}f59h$m;5KjvxI5e%9t;nIuZG9L*TL7rH^KAZJK?+G`{9-FBk*JJlkhX} z%kXRPTkt#Zhwvxxm+;r{5AaX$@333n`md0xoX17sB)Ak@0ZxN!!k55};2iiexDDJH z?hf~d2g6svSHsu9*TFO4o8bBIo$ylle)u8y5%@pwlkf}h%kUfUTk!kvhwx$eOZZ#( z2lyBGcQ`uB`m>O#p7(GPTo$eXSA%Q9_2EWvGx##N1Kb(z4fltK!B@fK;A`OP;hFF} zcs_hLycAvuKLkGp{|9~segS?Begl37ejok>J`8^ie+&Nv{{p)WtUsew#h*ptVsI(A zESv^cgD-*W!#Qv>xDDI^?hf~c2gAeQ(dZPy=b%f_73hPiQr>m&MtBSSEc`P3Cc204 z{pc5je~$(lT7Sf&Ayqj}5?l%{4_Ah3z_s8kxG~%ez6@>;=fOSUzVHxuIIJ%a*KuSV zd>wofdJp;lx>{Ar{V2Qv-U7dZ?nOUFKUI};HmH|cn&-tz7t*oFN0UZYv2v=Ciofn1$Z0$I{Y^L9(({k2!9EG4Sx^+2%m+| z!!b>)zvES!wDY^PeG>>J_lZiE+%|A{3yDC z@GbBw=yt+)!w1lVgdc&A!6)I<@Hse;ZT%6iD*Z78C&Q_5MYsx_3DY$S930cs`YjPnR+awf!4=`^a2DE_@aAw!xFg&L9YFYS zcmzBio{r8U{1$ityck}EK1}!qcoY0AydB+1_`C2v_#pfld<;GTpN4;h1I?^|VpN0D zzu-hT753mNaCNv2oCQbV=5SlMBisY-0}p|R!=vHx@DzADJO^HgE+%|Ayb694-T-fb zpM_t6x5K;Pci{u@LHG!K3_b~;hR?x)=GKq#s)NLza59_L#3-5G;KNY3re46lA;O+1p_#pZj z;m6@$(Q|~ywYK>sqp7OW{*~dXa2>cQdMV)@;eO~K!biZ9(P@Owf$u_>5WWh27=9ey zioQbloA4g^0DKfZPWWl~S2)X!&7!{y=1a3)*_&W4-9ZQ+h^FSs8(93BBr zgeSwZ;5qOe@Llk7con=JejI)lejR<2@O|(B_zURo8uRNw^GL1+IrSB)mD?63&AMphE~B1&@WNz&E3}5xy9H5M4|7Cio?E z8{xa*kI_#FKL($Ge};d9W7^yL#;ZzyC;^v*E5cRa+HgHM0yl@-!+CHYcmRAQJPN)R zo&w(p-wZE=7sD&j4d}DzcJy8JAbJcvg9ba;dKN>=qSeqWv^m-l?So#0UW3j==c7x} zhtU6^ThX29KJ+v6J5}j-XHlo4~cse`_o(Io|?}C@W55TM8N8t_dlkhX}OYk;$7yLH74?X}NhQEZ5!{5Va;InX` zll5zis*ZnfDw=`TLmR3}yj-{~+L7??aBp}JJQN-YkAbg+r@%Aeo8bBIQgj`<8P(rw z((-JDUxD9%--6$V52L5hv*>wM$tNaHRQg@Ks&Fwl2`&SdhtuI2a2+@cj=*ive&|s2 zN>w?|7~;5Kj`+zsvv4}^!qBj9oHHSjce20RzO6GY;oa~)_yGJFd;~rLpM-yf&%rU>tzY9+#jlBQGF%R>f!0Q| z(T->jw2!LfGZ-EQkAla-li;cFEO-t)AHEY_0xyGC!)xFT@Fw^f_yzbi_#O0f^c(a$ zRVnvr_*dBNVf_=WD*KDT32+Kr8mr=mPhE`@@6b zD`EZVM~y!Lo&-;aXTkH}`S4xv68HglHT)>N0e%vG27U?N2JeF3hWEh-;KT5j@NxKi z_zZj&4)n2pj8T>P6@`nzCE+q~B{&_)SKYyBOs zs_R)e2`&YfhbzN1;977N+!$^KUk0~_^WdIvUw8;S9KISJ2Tz8l!L#AH@B(-tycE74 zeh^*@Z-h6)&%#^b*WfqcJ@8)mBlr+}1U?4;0RII420Q(%zhhO!--Y4ga0*-wt_0VB zYrzfRCU6V572FB#3ipKv!dJi};R*00_y%}3d@FoAd=Gpdyc%8uZ-h6)&%rOkJK$aL zd+-PFA^3Cn8~8i;415-j>TmrSt19D17%mQ%hRea}a1FRF+yKsnTfpt$PH<1SFMK(C z1w00x08fQ)fak)u!i(U0;0NH<@H%)S{1p5g{3^Tyej9!d{s=wxg>Q!!!S}%r zz-!=j@Mica_(k|tco+OO`~mzC{5kv;{2hD>J`10RV+UG)7FL!1S{zP+%fXf48gMPR z0o(*`0k?uX!Cm3L@Id$qcqBXlo&?_j&xUV>Z-?)J?}JyvYv7IWX81YyMR*6i3w{s& z06qkN4u1oG2cLn@!co#UwSUH{>iG{BhfBld;B>eKTo-Nt=fW-Ec5o-SC)^jl9KHe` z15bdb!Z*Nk;alNF@ICMY@M?G+yb*p1ehz*W-T}W2zXyK=AA-MvzkyG|XW;X2)L`q+ z!m1J$hEw3ua3we$t_9bHo4~nnE4Urp748WSgfE9j!eih`@Kksep$4OfEG;aYHAxCxvKw}RWjUE!YaK=^WaBs>P51W$!$!*k)=;YIL$@B{D~cpbbM zehPjOeihyYzYTu?e*}LHe+7RBpMuZA=i%64)}Mt{gL3}EDR4Qs5?lkW1vh}3z%Afb za3{Dc+!r1QUjdJVC%}{78{paSt?=#eJ@9?-YIqI25#9_x2fqmKfOo;~!5_ef;LqW2 z;P2ow@L4!&xb1YkY>%tA-T(||?4(^HeCH!*u3U~}W0iFuq0MCVQ zg%`p1zz@Ky;dSsv_$l}~_*HlZ{5Jd^{1JQz{tEsEJ_VnF&%;qySpOAP)$<)rflI@c z;B>eaTo-Nv=fbVvc5qjCAbL6BBjGXdBzP)38=ec_4ljc5gCBs`!0X`6@Kf-M@T>4H z_-*(D_#^mp_$&B3_!N8=J`cxU`Ty9v@A#VU{_+3sKq@ zBxw?RR?V6+0uweLsKvZny8bUB@H$ z*ZZ9Jc)ib(L@#R|J+=Bg$3D0iE`=-MTC^VHjqw|}HSS7-8IQ)@aWWoEKV*Cio`9#} z1#}7HtMHe26W&GlGX4`jj?dw1^d{pE@L$*#%j1mZ)yg~-!o_eoT%Fcpya8^Eo8ykO zE92of8YkfXbTH#1@fbWA&!Gz#{~WKv8}N3zi}3^aCwv-Trq>w1gCF4M*z-N+M=SH< zgA3tO*q>HsydG|V-@tFvj*JK6a2!Yb&|&mrI!i0B3(M#xx}EOQ%6{(0hw({#7GK0y z@J)ONKgQ3nqr0`;tXf&W7xu=5a4}pKSHx9u4O|~L#Bbo{_$}N4zk@?@435LexHlez zhvLzA9G;5j(ZzHv-9dk(hqQ9sC-52kE53|x;M@2Sev0jJ);xM>WqrADUR)3t#bs~> z9DoCHJ=_2{#X-0&ZjZa+5FCxW<0RY*55ynfQFtt#jHlt*cs^c+zrgG8M!Xeo$9wR8 zd=#I==kY~+4d2A~@nh`P!2y8TZ43@NhgDPsCI3XLt@?jF;mzcs<^Xx8YrQFFuTq;j{PxzJjmgJNN;9hTY?> z`Od19*Q*@Z8~fs7xD>94{csIj2RFn`aC6)mcfeh6D2~K&I1%^8{qayd0*}KV;~97s zUWAw7HF!PVg7?rf^dh~YmB-~xdEgl7Z|^Suj4!T0e*(v z6RrKvs@2CM_Qt-r7%qh?Vn191*TD^O6WkoP#vO1M9Eu}x98Sc&aeq7%kHF*b$9OuP zi5K7{cqLwozsBF<9e6iBfPccL@Xz=X{vF@Kcky5NId;Bp&387fJbrTHe7GxybOPV*WrzLE8dRx;Qjb0K8erci})J8 ziSOgb*e%7HZ--XqJ3IEmKDZDriOb?DxGJuV>*L1w4crR9g*)SSa0HIQ2{;+|!-Mc} zJQ`2LQ}Aba4ql9x<286a-i){5U3f1(jE~{7_yWFyuj4!T0e*(vds_3IRjcn?*clGE8h5~5a43$%aX1n8#{Kb7JOYoyALAK#7G8vx;Wc7x3@+4}1?l!fw5-`E+Py zK6BvQxBxDK%i?OZ7Hv$M(RMV7#?vINY^N_Ch=<`(cmke`KgF~0BD@T*#_RAVycO@n zd+;HA6raK8@fCcRI{R4jl#Axo%5fCLMR6Hi0SDlEv;pHyaS(2c+v9FH1V`iUI0^T{ z1MvrV6dsEw<7s#{o{yK|FYr3N5pTuY@gBS%AH^r}d3+IH!#DAL{206SwdU8Mm3hsM zy|521giGSGxC*X{YvcO3F@6KL!f)Zu_#GU9V{iga#{KXhJRFb46Y&)M8J>d|nix1;t_$ zALD1(+25MqY+8AI=fU}LQCt#N#D2IYu8Uv8O>ryy7Vd)I#ZmY@oP>MfL3k+s2#?2~ z;7{>&9O z6TgasXe-7$;4U}}$I~Rn`{6-&1pWw5!k^&Tcs^c^SK_bmH~4$J6Ys}|@hSW>{taKn zxAA@a47(4s<}aI8p8q+q4=zQ^(?Hskwx(U^yIMIPQTRQagnQvZcqsk|kH??jPw{-b z7_Y=@@i%x2-ii0%!}u6JN3S#fkY*cX%|jlVUn|E`1ed@Sa1HtfZA05><$hgpFpk3S z;rDS*JOB^DBk>qK34elT;dyu|UV*>F8}JtVJ^lgzh>zeC_#FNfU&S}@J^Tn8gRS|q zYvuSoaW0%67sMrS8C)3$;99sIehoLpEpc1i33tQcI2y;}B-|Gd#KZ6?JONL}pW@kg z5nhH@<8^ow-imkPJ@^nliqGKl_%gnRZ{z#;DfSp*&3ksO%)2-C#l>-HTp0)8+PFS$ zf}7#C^c}`yX@5G5PN0*uvLBz}Id}>F9Dj*7;H`K&-ir_5qiJ`>lW}i67=MVz;0bsdUO<;Hz6yVd zH{q>#H$BSu1$u}6MW1VB9-Kq1dC8^~=f?SPVO$)S!FgJ?GzNn^FLokX01 z`{TiQ1pWwrjHlw6crIRoKgVnFSNL1}9o~)i;h*qv{4@Rq|BnB_ckx5~9NRv$jxU=w zMBZ0%K3o77$E9&4?2l{Wy0{U39k;-3a7Ww~hv6vP1HX^^-~sqUJQ9z`lkf~Y3opb= z@hbc!{swQs|H41ugZKzOjnCoV@KyXLzK5S+W0*DHS+p|Wo;VNAkBi_ExIC_mtK(Yu zRs0%$6Su_ea3>s$!|{7K9{0q3@en)=kHHi0C-_r54==(i@M^pPZ^GZ>o%lz52%o@b z@UQqXzJYJ!NBAkW54YyqLu;4s@8i6G$D{Gbcq*QS=iz1e3%nkGNB_n6kN6NiiO=Fo_;>s#zK5S;w-MGnX4T5$I0w#$ z3*ZvC46cH!;yU;h{5pOUx5e%8J2(`_;vTps?u&=w@pLX-M%U4;bPqjB&(mx4K6M*u z9d~x>Lrc;sv^H%_ThY!mf+o;@bU2+zKckE38oHV8qKD~OdWGJh&uG?B*8Y3bVzd&i zMH|!Bv@4CK$#gIsL#NRNbQRr1chR5dIeLvgptjN0e&(WuXgOM)HlWREM;cBOXn#7A zPNs9{=X3+zP7l!2^fJ9epHt6|to`+&rKmrxN8g}t(_q@2_NE`w3G_3%gnmi4(!KOJ z{gvLNf6**sto_VOi_uE77Hv#h)2=j{Cey)m44p<7&{cF3-9>+*=jb*1fZE1#{%Ijv zj#j4)Xmi?;hSLPvpN^!H=^Xkw-9Wd~1N1b#Oz+U=)N>r?pO&Kjv>ttfzDEg^ zXYoaR1>eMX@MHW8J0@83npG?3#S44m!nimtk1OLqTpKsUO>hg`26w{Ua0HIQi8uuh zz(epTJQh#E)A3xq5U;?i@kYEE@4&n9L3{+C!RPT6d>!A#53w=Pnoqk{<}*9?!oIjL zE{)6M033+xH`Y zTp0)A+PEQZf?MD=xD)P%BXA5(#3^_H9)d^Vv3Lrej_2Zqcm-aKH{#8B2i}bj;v@JB zK98^9>-a8yh>gkCeA>18e8*nc7Z=8*ad{ko195%a5I4gua68-yhu{bthZAuhJOB^F zqwqvL1<%BD@lw13ufyBu4#xN4gZKnKgD>JM_!hp4pI~E(HIE)zecoel?2C)z(zr4X zz_oFG+ypnnZE!o>4Ts|J)oPr17A$SxX zi>Kh}crIRuSK!rnBi@X6;NAEjK7!BS^Y{wBj_=}!*!YCUC-u_Gy!zt8xHK-018^X& zj~n7yidW-xcr)IHcjJBd2tI+&t4M*S@oQPBK06YYb!ej9iJRQ%)3-JoP8gIm#@eaHjAH+xS8GIgJ!PoI! z{16*6togKS^?e?DVP9Mrm&WCB01m|UaYNh;x4`XiCmez!a2!s=eeeK043EMS@f180 z&&5me3cL<)#M|%=ybmA5C-5135nsW#@Ll`_8=qS9>7mu7Ei>}@l3oBFU70zI=mTg!@Kc5d<37s=kY~+9pAza z@e^$S%$iRRtv>&;H!h5edVC^cX!yf7QzEuHqZ`9)5(4S=RRKTDiR^ z&V}>ig17`OgDc|zTnpF3ui>V+C2os5;chq_N8@;$g!|%wco-gqC*aBWQ#>0l!prb# zybf=|Tk%f32Oq*m@fmy`U&hz)ZG0a;#cs2$`S#H2>m<&LeQ;4+5?8=ga3HRY8{oz` z2)DxRac3NYBXD<|fP3M7_yar~kHr)5H2fK!j~C-F@EW`kZ^qm4F1#Nf#wYPvd=X#4 zH}M_(7(c^~Io5n<)ym`D3wz^2xEL;rE8?oS2Ck1A;x}+}{1)zj-@&0c2FKxK+#3(V zL-A-l4o|_;@nWsRFjg?WmVTx6FpN!FIqvTn--&<3C-EhGo!(;n0k+Mx){{#skKeqw zATEZ>;)=K`u8Cj4jc_yE61T&ha4?R*-Eji$h5O^7cmy7YC*c`*7G8*#;njE@-h{W& zz4Rct=#?~%a7C3 zjQ@%+@ugPwa|7M3&0`q5@L_xmpV7*GUts(auwlj za0Ofw*Tt{nH*rTCjAOO3-#utwt?c(e{1KhX_zXNpEBmpK@uiG^i8tWy>5p2u{UNRF z_gQ=a-@v!AvCz7`gJ#vr{d{myT9R=;Tn)d9U&C#1I~;-|a3W5@A8KV@M$*Z2Da+U5 zujm%7%-i?)N3C6sSF6X1FW?9G2{jg3x67}!%l}U(Ey=hau7+R5ui-Yh9S*?}I1#7d zp?CzIgg?Ra@nXCVZ^S$BZhQovz*p&Wnsu=pm&|7l>P>xVY3fgFXk{Mi;)eKj+#I*T zU1=!eQFt&NNyo5!68;3w!t?M_yaIoTH{dP!d;A0b5g)-P@HzY|zJ_nozo>JGHBY&z zk5=ZPFfNJ9;VQTqu8m*8jd3&F3b)hB2)DxT;xHVq zmE%cbysuUsuLJ3D`Z1kKXVH0dCHoAPwxGin3^)QSsTG@|K#v^eL{66kWhcG@2kHORM0=yirp&RK=dO|Dv^|Myy^CG>X zmHoP#@86Zi<`J){J++U1>1mFFdf>+ShTDkq#EZ@rb4!WD=hgg1`@iX*1%YSG2O~&uihb(vd z!rHz=EAyF6E8ERYeQ7aTmR6yGv>ttpzDe8Aj`Up`Nt5Ydt!#fC-b{DUee?)DLod?n z^e%lu?JKSI=F!SL`{E+Bv{sI{G7Y5lX%pIlwxiu>1dXF9bO0Sj$I?%=a-56ka=Mb` z>+v^q3*-O7d+;H8f}W$l(LbpBD(m>NQZMR5i_$W*GObSQ(nhoyZB0AScW4CdPLpUq zI+T7yC(%#oe7c;jp&RK|x|9A$kI>Wf7y3KBMIX>-)Un!{pX@X*El5ky^3@K8J&kEb)}Z2GxY9?xs=S9Ck$Kj6dkIQ^C0qfe>F8f*XZ zQXj28FK{4jK!a#2t=z6X?unYt@5hr+Kt;e7?9SE`=*#e_Wl`qYdcmT3JtX+!lAlU1>B;roHK4I$SI3 z8G|R#>2x9eTr0O*jW^R>bU(|F;1l#b{f*_<@hy6v@h8~*OKUq>v@(x5a31W7i{g^B z60JoW)7JED8cg4#iCQ_Xp142$01v0*>8ErtT|+l$Wj&kmcKieWk)EU%=}mf1EBAkl zjdhltG@DlDBNxp}i_wa-2Cb)+^)hgR;Fg!|xu_(MDzkE1i_BD##O z(#rbQ<4t%Q-ih~VciC_-)1?;Ahyj-nv~Dtv-IVvi&@a=V!bm zE{m(;8n~WT=a2Cwj5lYz4dd+?@5*=x;}MK^XFQSd6vhYR5Ag&%8PCBB@N%u}&no;C z-h{uyJMlhz2%o@b@kRVQ{X;AB{}?~R-d|bUEkKKC<#yF^1Kfs&(s-?$uikVR;~(Qs zwQ@YO8DEZ9;;nSAR@QTbY=193&hpdvH+&V}(#n3`WBd{0&lz`Yw)QWVR@R%B z7Sqb(p%kvBmG5KKWju(sXL)BDNfT)=t!#e)9zsWHWnL!XPv`=zYS<+OnrP+r zEolcDp_Su&ANQjp8UGY7plh_UzOV5Q^n_N{^OP3ZV!5JLwp*PxV!SGh=@mly5{2Fa4)yrGB z0}jX0xF_yM2QfYtPs2;-2D+0Tl_Nt<2{wd|xZa@fYLI8Fy^6#~X3RM=+SzKT>Yb+=i5RjQX3+bp-G?WKAN-)4=+OZ75nn;By~okf>Ob^D*w z4O-c+O?W5XgAZ!uxQ;S@lJRqlUu66W<2M+;!}tTnpEBYS z`YPisa7P?Xd(#ngqSQUaFs9IXbR}Jl0^K}v5#CPyB?EbyA zT@S6SKZjQCmz!}P#*5)HxT02W=f`*;<8>H+h4IFWw~*?k8;zs=>2Rrgi2QttPSwi# zXW)f+DPF0S{r!^h4UB)w`1g1>{*fM%>g6oHfN$X2*w}8Z-$AoV_2Pp|;%f9Y+Lm^e z>hT2AINFyE*2?}5m+EB#G?GmFlGlsVZwej^a(geSUJ5c^l$K_B1+C0O6~?PGUYqgyjK9YC8;mz+ye;D$81KS(2;(t09w%#M zd%YPS$oNpkM=(B?@u^b1ETZe_4!U2e^K_V=)XH)Htd;Hj!uS=&Z{mCSu~u&PjB)!9 z*8Q_;Wju#g)}NPgUs_nIm-4tWu7h8}&2byrj`1+u0}rI*=uEm;s@q>qS8L_?HsEjZ z4!j2+lbHBCTBD9=TkGB%7O&e?FxZl7nwQ`*8aaSBF z)k}BA6KFrJ+1#j2NdUrAYBjbk|KgReO#xF_ra*sL= zSoWqxrF#4&sh?KXUk$&48{s#!vY#y&Z^L*8#=9~e%y=Z@@6mXvUi#rdcnqF^XW{vD zG2`p-R(yb-qc`Y7sUFu8n)RS%Z>=1kFD|N;<0&oGiy!0FXagFgmHV~A?X+^gZa56b zNcED$crW^)R_;F%PsY>mY^|(s0pm*;U&;8FjBj9k3**}v-^KWT#($#6rFyxDui$(5 z5%xG_Z9fOiE!9ggToKo!&1n}JA=UYgp}pu(tsM6VJWeaeITg>u^YBuT$ z$63ZNFn*cw>x|!G{66E)wX%NCpRDzH(;~Di^{2IIQ?1-DjK*n0iZ09IGt(EPcXZ#}LR~f&__#MU{ zG5#Fej#%sWq`7EeT0tx8uY#-5nzS)(qm|pW!=1HqT;VvHCTV5=d*Ki8a6FNIM(1f| zy^HZ0x`FY{c&}ErcbxIl_)mPFK4#qOsI}h0TDhM;u8xCnYx*|hvA8E5g~#Frcqv`M z`1g1}{+ZsO#xZL@a!?e50@pL>BFThLiO1u_-jlaeJ!av|c^aMRef1`iUyVUKh%#XYdWYNkz<)FE>@;Z=T zE03!pjF-R_a1~qw*TIeO>$oLui#y|Ya3qbR$+RE+fR3gg(;0LgT}Ic?jdZJ4j&D2O zix1%A_%!|%U&c4_9sC!5j1w)>{!1(8eXmyL^h^2;{f_RY2k0?+mR_XS=xzFl8t1L~ z$wG6|e6%nvMJv*(v^H%(o6?rF9qmfPXe>>nz3Cu2oQ|cF>8EraT}oHcujsdQ2i;2# z)06Z(y-aV=d-MslU9jdU8_i99X)#)sR-u8k9(_$4BA*NCTeLHcpfOr`oG0L9JPJ>w zQyBjY&%ulF8oHkG&3GH$jgM;Od3PFLpqI4ryt}HE{rQver_}uyYuu@os^o~~M>p9NyEAyk3@jSRBtwE}`(NiqHfG^?e_!fSE-7i|los;IH#c64+UA`ZV{c#iAg0^A2BkqdBa1>6$ z{pfHykxtRt<@oRx`U5>mPipP*@5kw5`b;b5-*(Ar7OmVa7tV_d;bOQPu7s=OTDSpj zjGN=uxFhb0!*MiDz{$8j9*jrgF?cebhUee~_;b7pZ@`=IcDxH8z(3*B_#D2Bui-oR z0e+5czghF?sg-%og?(@#TnbmCH5q>eH^R+u3;Z_jh~LFwI2QN7J#kWBd#|u37VwRV$AxFYJvA;bOQfu86DQn)p@xCT*v6$baVqhtLSE zhhfCx6xvrS`!O7k#Z%}^x{$7*>*!{>Lo4TfH$I4u;O4S8-F^9KTJw(s0_HCe!}(Lpnw)`!xYi z!!z*$ypnFCyXiiyJpO*dKhqoZK7Fi}+qvDawwIe0phdK@yfhA^^=W(h4vnF4TDe~` z?u`fGp?EYNho|7__zS$AZlinYF?vcX+xrdQppWQNmfLSy$LXP!+gHF0~5{#F}m2q`k3pc<`X6A3wvk+t%`ITA7cWI3F&EOVIMvpVrjM{p#XIxG8Q) z+tIExjKjn1J<=qkE_Zl$~E0eYOCqnGJT`hY&CS?*Z#lZ*P$VzeCf zr?qGUt;|bf+#I*Y9dTD2j-zn`PR9N5U_6pepws9ax`eKx8|YTLiyolI={b6t-lPxc zbDHHY^Fn=SF*QUZU6O9r~EM-M8k&gXW_7X%SkQR-)Bt9omq-L0i%Gv>Oel@6q>Z zA3B(hpyTKi`Wc;1m(kU91KmRZMfcI4=qY-EUZFSXefpHzA6WC`N%PPGv^XtC{b&tZ zpEjmJv@PvKgJ~4)K~rddI+Tv46X`TMn=Ya&=$G^x`W@X(571-uEWJpt(cAP9H6B{? zlZED_`DkHUidLjmX>HnoHl;0TJFPtaJK+!Nhi>0bPioY zSJ4f0E8Rs8&|_M8{#>BHG5!a=%lLC@e`4L~UxDjp2cq`h0@h&(F zN7H25hvh@)C^~_DLTAy1^mDqFeoeP&<+yj?efS_gfzRNJ_zJ#7AJXS6w>`DyA)8j# zp9|-wMQCYSnFiAOva;JV;FDYFxrEr&=0h-{gHSa{a7p8pNeNl^)jEXV0?pCwzCQErN`)5>XzHh z%cs4M&7+V<8IQcOLHBHi&7-cfo-?+oHhU-z1<&pl9<>IP){Zf?3tdkGn-C3d9kk5j+& z^n6uDWfQiXx-WXCQEs{7bIN}*!`g&wE3ccU4$8ki%3u-Mt;$ zJBMu7OTK@UZjrT)T;@8wScjLnUvfTkv&-^j9-TQ|Z{ECax`XDXy=Bl#2lL4dy<|7# zhWX8vd!_ER{Md_yvUk3D4enYX-OXIPS1{d}>wpW%0ejix$P3E>>kZ}GfoTUU+bf#3 z>!MP6Qd)I%tdmS*V3OUom)LyjbC_#Stp}Ox>KYNF>Cbo zbffxcENngjo2Fmwn_jxoH&TZjE;SsrK8-mb-I)4(9_-~-RUt0+REb~!})s4oGiKT+ktvYWhdLoh_8OpKK*SC zqeG_qE4S;IZhwWHQqPaM#m<4UMfrK_3->l(TID}8BKLK@u*yz!%j8xv{LTx*GF3XA z@21|_oQ&Xflsko_o(kEP&a9q}(9}V59Xb@2I=`~Y@RuL8HRU!Du3^{fgJDFOf-J>g2sgpOf;hl=Nh~)|&DCN#7pzwaVQ!=jq-I zb?r{>o81hr?B-Xl5etD5ccX}WJh5)KTW%+xh>U~MY|>Ns7pa_<)Qh$L@v;f) zevf6joG0@lbDMf8EMK`BU)Wr?^Kdu3US9r@ti)Q+Qdy68>b>O)y|I3lln1l<+0(TX zevH>Zbk?Lii{4HrQK=KDc5N^Hgl(1yJTKQ9a=k5A?r!Y+oAFT& z!)v@;C(89xxw>xujeNaBuDj)WCf#^Jr{PsxuBGK#Uapnp8X#BK{d&pQ1LQhLu0zs| z7nbce;TkVZlW(#Q&=`2RbKL zxEfhxUga9dwUbn@AzV|WdhNsYh*Ym9xYqYbn_t&?esP{%gqh5j2Lz(L|a;`_KV&2pvX8(Xn)*R4-HLbUKsH zr3>j&x`M8z>*z+hnQo&y=x(}?9;8R;33`T}rx)oJdY#^)cj-g=gz~Ou*yWt+Mc#1C zOLpo-y{Rvi*Dv!@oR+5LX=NHf18HqqpEjiOT4-LH(H67~ZAUxNZZw2O&=?v=6KM+V zLkG|ybQm2)$I^*(3Y|`8(z#N7J}jh5=?c1|2X1a~;pu6cldXOHWC+Hb^o?fI^ z=yiHas+YUekdGF6k@pkx;z6_10lLh1TmE!&bNef&e5*+=D*2y(OhS)H|HROg1pg)p z;XQjq#-}9vCntsbr$qaw#K!lHPB0Y_*()|Y(myn*hkQ0pNJ@$9)5Gs=U4eX~!d)Ks zUN%p+K!5+L@^L~|?J#%DR>I9+rqRu9t=!6Pgz6UmPq!Z%pAwlA9~$SM5}MrIF!ayh ztO*Q-aB#H57x zBEwVs!xMTW#>Pb^RY^+mkBbfS59=8lCy$b3>wys(85$NF+#|9_a%4){p~|bLxikKO zwyaV9f#yEVH20}zru(GpO^gjskcRumNA^~mUni#|#l}Y)<__tGBg|b0j|+{D_ODvo zKQ=x*u4jZyHaifmvk@$hl8A`NsNm$-ev!c`eldpm&~&)x)G4ax=CEb6Rrjmv$kxnZ ztKzhMJlM~i``69=Ymn*w`S(mt@{dahmj@$Hj?@QdY)XPW%Jomb=mhg*=#$QFwETxF z>Jgd};~y5AA}34#WF`7#aAZAs3_4JO4#2PZ{F^bC(=BqFv)aD0M1;&J^q5{jqv zO^ke1Cc%j8lUOaoQW?nLsJMiLqzof5eG?N>GK|C}M9XRI8O8>BBt%4ISgy-br^Bj%bRP~IPM_xpvf6tVt+VUS$l0Vsqu|n2hHx_5Uo`3ctniLroC(j~z`I70#Y<7Bu z#`Sb9=n>jIGOA~MIJc7re|SQCFPD0UCMHHEpUhcOU_UFhgpU**E=aRk?k34%yoaB`MUqvTqO5RmS<3$xyASdRxDeOPY6y(iAg=Q z47-pLDo2?tr#e0+Avq;7!ZjJzsxs=OTNxqdPIvilb~^pLU~;(Y@ux5BJl+58r2n&t z$@sEfy@u;~Xbds;zu$ke|2;y(V`Ag=CDQtW-A?T7I)LQJq}b3n*G!tIBGc`9Od9g; zFHeH#|7IUjUo6A=rbLFu$-4N0t!6mm#u9Ub^ZuI+raNi>;O$P|S$W%*cNF>1k<>F$ zp0R0XJ9RMilZTvpeN)*cpSJ8q8Tm4k7n*-|?o;Q+{FIZnw?^8R|MpYb%RBx*yW{_K zJG~O(LQ~}PfP5pdXJqOtSB5i~_DPNN>lZGMy-3$*%jkrpgoKnT0ks3_L`Hhu zE38gb?Wpjo)uO^`238BKTD?~7T4512YDLtl9aXzlL{wz;h=3Ylq1CI`3an8(yn0m4 z(7^DB7e1q=ow;Pca6LJho-{dMOqlCb28V{pXItG-yL`7SRNf2t+I65xN2VV?trvi# z$mm#kWinrw<#x$(q!B&k^AfAk$L|5EI zSDeF5mSl<3`^E)1vN>(}8jjq1%m8OM>bospWZXk zPrme$FXb!q!;#(QaOx%!brb$>jy%pFhpf$^H)#`P_i#9!wgORdE4g#DpRUPi^9p)# zRcR|t`%3PU(`l>eXV2;=X!G=Q+O`f3a?h?uWpiZFP0HWEyli#d%+HYWw;hMO{8h{= zwEFTl3|ndFC%SFTH6d_l*ztm%lmnhz*zjU|zcS?hMZWV}EXaVK^lZ zssG~_2G?IC{^8U4fBur^dT02D8*shQxSkjP^o8U9{tKKTZy^auu_-aGx3I9#q{tqT zDXH&b@_{ncd`ioc?!`|Ip-JH}uIE0_%kY@gPq`VMy>f5){N?({k>LbKM27W@=I)WH zAJLd1*LWZO`zweJ4-S*RKy-I~R*MNuj_Hy5>B^j=sL<5U)2XjRvI~g`ajtjgMET2* z>$v{*WlZk!;GzxWH+iXa-Cq7qnfBqs`dpCuQ9xcf^|8<4=wESz zqZ6uDtImMyQK6Jay&SIfSM{XO-mbf({{3ACF4SP;`G1i}F1LZxZuiu<1%^kim4u5&Wb9YvD+I}7A zXD=-8F1DN=o$N*Aov~n$*nA(f7nOIyKzlJ&KON2PwB-r17k6X{bJ~)I+T~qjh0V`i zLf%z>84zSI>BwQL7G<)DpSfdA9r>KL)iysz_E?8+OGjzj6t~$<+gJVl95$!z2fO*k zw?S0aX`AX6;C30$N>a7qjV>nFYblzQnfJIBiZ5aZ9z`kmH|Nyn|x{Rtc=Od=X8{^U6qZm*J*ofm+2nSKgvu4>8vE5XC@5@vOb#V!%%;WmfMjdn`@818|3Hk zaoR2$-#BeE2K(s_O_d!gVV+K>ZHGJxWLFpW4{{W6+Rodf95rq0Kwo5vh zpY9fzUgppK3YD64Dz!+tLT0WF>hBhn{0ikuH9yf z4sv+g3g|;C-D66gAH!sBJpF7>1_h zZMN!x%%6D|b53MHANg|Q@iK|tHO-yZ704mjK9L!)R%V`6^YJucaF9MdC(FdjegBYY zHc!S-nPxxNS#T6{+D2OE;a9nVeDYgjo`)NmpNEq2$dWC&4pAObVmXU)xaMcs4f6cU zy4Yd=P`9{E9^IwnTYLIQzu7;C2bOux(|@#;2cEmr)3)6%8~@gIdgbYR`|vh_H8>5lHUeAWw4XpniY64t%Cvme&I%CN26 zy8djooVtOmw!%^7bE&=g+EiH%wxzlG_U7h2ZI!Gwg=SonBY*0SSLgGxtSfb_wwoh= zwA0qq^*l4rll&8M= za2oZ(>e8Lhv2LmJns!1zcC*gtAA_QJgl9M}FC9o$+gN=kXl|a;->t3NX0Y))vVR$7 zI_><;OWSzb;9}R{OPleq&5_NdJE=dhsV~^nIeErr*i_m{UGG|J`jfiJHTcq|vdZhd zby7FT9OyGs-eSzT)Hi^1+j!}o?zUara~1deiF6EpmKZeZrfe4Nxx=x>kM%DM5eGDtp6*viOf z!lq7JaFq21UsexYen%v?{-mg|d`67WjoHf2cI0a+Z-RcdZhr3h^#taV8wTnP`2g%^ z&!;C$-X!D$vAoGEMy(4@-xj@WI%uO#ry!V!g^ajBB!UAZG}wUn?a7EL5^zj z(qua#@BH!!Zk3GY{m}g0Q*LK~!&$|VTRtqvk4N>8w#uu6eCpUPw-J3S6D&LGv;_vq zhje#ajv#w^`A$qPKlz01rz7UaU)v`6PLBEgsd5fa-97!?8=Eh?S55}>7jbgy$NX%z z@_zO#@@<>ya>5o3_LCpX2Fa&=`Sn+)ZGpTh$|sKthMf92^0~spDX-+_Zs-fQeCD_; z%3*%;nIYc>k|Vh;15O!`k9Pfn97SZ8%qd?kcb4^K_yCYaS1lh!Wvx;2NN8amzPr=k zUe1x-(>8OkY%|gN*q2~_n@6q{2eO8_Y``E#->CkCG<@F zkxK`2lYjHm=$F1TmHL<7u-IhtCr(x~+maDvuDMC(2lMx9j+P&j$@e|vN0sJ}Wn6y| z{I@>=`HyRpZx&dq&2&#I$+t7?Mj81tlW(NGv~Ke!@Bi@oS*bsbib_b5pO&)qwCo;F!N*6fAILtAFdkXI)2as$gh^)$!zUq0$`{e2znWGcTIWnTWogJhX5 z_m=OkYd@2JwV}OBJ7%}Mhn}V}^6xVBcKf`o-lW0#ERUrBqK)LAb?BuZ{enKGIeo3= zwP+F@NoUft^ft{R|13l=jc6abhn}O^3R<^&gLb3u)3tOLJwx*svhLTCPNJXFvq-Y>vSBQPdCsXr8<8Fi&$+)W9e3UoZh3(qSo!F&_(oSX=^-RS!+Ma)Ar>o>z}eY z`7!WY8vQ2`HY0hkzKEw@tmSQ7%boJzN;FE&(c8*dH?oRzyU9q&)O+c_me3z3yY6B$ zl6>drKcmpuGa)rEu3PHLWLITB^yi-D#kENP*@m@9KXRHE*CJh=9H<;YK!$DWPn`9J z73Jz?WVo9yk{@KSNPj2EyyzNrQGQWLxn{OTU8OFQebiaBR-R#Z^~cb5Syb7)Rfg^A zPlshxe+Z?!q^WCu*ES1tJkar@~3&xebc+^WOJW?a4VaU;+48K6Rghs zw=5ag*Dh^+?Owc|Lj(J8g(V|Xp=w9i|gR@@vnMplz6^=SXA)$0uZ=ehegN1`Xcnp|Ia;OUG9$gp(=GfcDouu7H~ItOwu zjsC8!yD`vgGiz9XWnX_yUx!^6ojtv`u2j#7!}qB+tX*skYnUOsYgcqFvO@FX+IiiA?u$Oj z^)IuX%Ci1G09a+8o`9D7osm44aqCR;4pH-n?DF9Nj}}7Iozr?h-Fb zlf23{ zyxqu`=Eb#EUA|kcZsxxx$gt?V=&re_jh@GBaxOC2z;CkXhFmk98`r`Y-jDPo>FV^M zA%~-nj0o#XS&?~h?OuQkHBzi46JuG@>Z%Pzy-=AxHQc^(!y<@n#vWCnD( zwIdl`C(YLbS)?1)*Mqh%KigttQHoqMIl6SO1TXHY-lLCPow7H{ne2})*XKYcYh5nG zE97dE7o0g;FY({@Jthf7{MY`;7 z7U_o+eUoq+DK9-WbgcztS!ubxu*bTntPEQpTry0rF4AG^&AClO`I2`X`O3WL!RW1A z?{0s$?Ety8wU&0=(|pg+A55#W$yMe-qeozU=8-SVi*7@2sE2JGUy}Jrlf|hkaxH)1 zeSQerC@!~uVXk$NhYagJWU@$iM^~zk?35QC+4{q7S!8}Rmb>a&bf)y#FA0?E%Lk$N z@lCs-d}Utr_*{$hj_yYF43B?ZrYA_3xfvNAN4iLdCz^{oo{*fkzPu>WmoYb^qrTWV z&4+qN`O3VwHrYg^?{98KH;umZzwk8GE$FSREo69|(nUeCsEu5mM$eZXbGp2hEQ^zC zCi@*P!`230I;137G{C%9h9{@4Fhzz3$yGO~f8CHT&5P@ZbU&ZSRX(R!3#<<(dRKk- zT4*lPJvJ|{do32Nkn7(a#&TJ$mRaHkN0yt@E--H)6hfNX?5LgPdLSl1={PdE_NuS`R_}%G+8Xf0~!{_tBRqIq4d` zmENaqhH3r(%6k(q$+Egm^mJ8k?2YWAklnV>)!JE^kxOM!4H6j{S($V$(Giig(DaMW z%8aT?Ix90fm+mf_azPN#aYY!%ty@R5{TyX+*mTqxcZ5#_H+YE4pbuQ0%Ag}WbbPvye8<9oxfG6KK@qL-+p5>lieFc&MJ;ZV%p z8sj8p*pP7~KktAU_K$HgVN0FxbWYzp>)`RJsmYpJq$uaYx zu)4G&u!?=?gce?4zf(P{!O0||;imCle!b(lJ+Ne0;p7O%jK|pO2o$U*zvnC!@ic zeHQ-uJRZK}TGhsp{Cs?z&3&E;+p!uQ^5*O^EalHT;BodXv88@X>72gLNqcUlRy_}% zJ!>oZmb~ZIgXx@}_lQ%?>V3W?t!l7m{_=bH?BCL5z7oCwIzN5y!Y-RWjlLt$d%Zoi z>X|o=V4sJ@5qx1jAbaFYI469VjSRjnH}w3R+p}}}-pD?q=@|ms4d4%N_j8cktcUn7KktAUj>s>NMu!3Td0r`J;-8;P z4up>jVh$nu+5YN)VQ1&E4#o2G^LSS}o&rtA3Ahn|+6^R0CFap5h)-d^A)(4YE`pzepD!($1d1vHuam#+DSEELLe$V`R*ydm;iO6_YtmI?7n(qYe zn#WwP_I*ceHM|TY;%tG${l=3Zv*#J`>g>7iP}%R5_}j1FM^bO2Ct`C-_IW`4UQ3&7 zKXbo9@aDAVo|_|G#nb!VT;c8KN6OZI5kJ$$fExMv17_y)otOjY1GB;8YUz&9gai5U zLNxj!5-Nrj-ceTZ`U(dHm}V9G>$AdrmMTuj0RBn@InTOG6`!x3)xeSbeDHj)2Jlzn zp4lPiSE~wV(KHP;GPk8Sg;ksh)|W;|Q#DSbRuwvA6=z~V&g!Y+2sspV$oFJG5Ak1q zyboHpF~ix$h_$%vrylzNOn?&*=J;Zr1JB|HzLQ%(loK3ajWV#5}vZ(C|`iO1?jSI-|Uhj{_IsJF4Os( z^#GaOb%ihBgXo@Lz^(Y>h+l~GC3cKNe!OXK$HxhF_n}{Y)`OfNo+e8aP?n?Q&^?bs z`T6Mt0G?i=wb(P?AHL<~Ib$798I{wTFGRw@mEQI%P{i+%FqOU1d}u7rieey)!PV~M z_TJh{H%2NjGlSpy?)kxchMHq~v^CtE@T1m<9>MHnM~^Nv5Mgm^ce}kQ0T%`kLSb)Z z_ksED?)lAC<`7Nf*uZUT8><5rnPHHbOQAM*TjzLVaj9MD)Y{FtJU=yiLb9#XtxmJv zT54&F`a*Sbu0Ay!8qLMpP^Y%Iw9pPGtL@s%)Z%f=9&gMpjs`O@+TI#$RHs^<$?C#w zL!CA(io$I3_SVw;e6@MHqrEIFF0|^krDi?w)XIcjipL|v+3|=T>p8Ov?fP&)Kk{!R zyIj4|n6wME=R2+T?0hB6`cWlJH#$@G6YbNDdRRCyTkFiW8qHxlY&0wJXm}({)taql zXg6z(=J8s4P7Z5x)!F%)9yeyE@PJTX!@)>kb~seq&FVs{5?bwMy*l5iPE9p&Ty3_O z8lly!&X1wp;tJRMr~b_av4cSeTWi^JogHZ$6(&W&_VHfP&) z?WZ;~j)zg5O1bJ>C2P=WH)oII#Ni=1GdA_|(azK)o>F_NS-+jl#_~KK%TR~Y8Zaxh z#RVpFy zFIZ=;x=Sk-%>?wgFt=E{4flCDb!(oS|*QW^K7F+6H58><9N^3?3q z5TJJj+zHW+>D# zUVIgu$))M(dXtmUZZ6Kb$LOHBO4c`4!^-kjET-k;;@Pu^2^5RypS!xeyWHAc-cF@r zZh1Qc2?WG8S=(II&-Ug$819UZhQ;+&b$@ho#6g_CaaJRifEAKqBxw(Exdx;i8ZiOmN-F^jnye@96bTNvv1}Qh& zWjB^DbR(kB9CP4~JH=v@$HxYC@6Yq??d6S~V*_2d1Os{;ha@b5Ovr%T@38?X!E6@t zFJ|XA$G&agsXzxS^=A>8p@pzVb;fiF;)2U;*dEK>wZC{St#LN@Hw=_PE#BMRhL`qz z0l}Uy0lQsBZNg-C=p)_P?e6S$mN!;Ac!BUXcRK3Z+Ued;SM77%&P05z;NE)UFmDtu z)z03^N_S^xaeKA99r&beq3AHsQPUO;hB?|oD4FFmBbBh;-GEoKM5P&ojcvVpyo&Gj z?(W4IxMzp?`DuLgfc$z}7J%v$V4yx%ueIw_K>FM2fGd2$3B#uroAcF$c1P+GloyHt z0xbcDAwWX4y`-7p(S+`mqv?2b)LTWYpB@e64gvpDC)*uGU4?Q0wL^JzG9I=UT0;re zep_dHX>KlI_OPHZ!CIc1Aox^$a_Kl;6)XjfrM47J&bHc}8lbd;RkAtnU_Pp+ z1FwgG*M{en4%T0RaKZJl&KPs!I5UB{g1-X$a0ic@fL^KOfPN&)j11+OG06R(bW4v8WIpT<(7)2P;N!;(ESdwd29#&899y5E8U_?zT6u9#&|x&T}pxVeBG zgKbzA9~)@wZV&8j>@1({4mLKW!LflUtRe%B^5<40TRc|_j{#?aEQHb&M{rQe&`I}f zcYAu97+&oEQn=&Jc!oPX49-UQw;^{1?iji=4cUAxRuTGT>)1d?RvrrzGPto>+uXW% zY~bFWE0wP^xVMERvOB*Q1k8a*lgqXu+GX!M-`()F0d#Bkewm1gV*_hDFiRicy2j(Z z-4!{urGltAAYHbxFgtc0j%Ma_o6D<97z_|`&1(k{QtxHm?ai>UcR`*QtV1-k;oybk z?Yo-@;S&okgWY~k#PFTn&Fvh(V?`fuw|>udcM-FL>%sEsDzG2%@g+k zZU=?dX-ygK2%Tp|BM#O*04-;ZOn5y{8dXA2*oR@EHgiq^#AC)MWc23g*6hOcVmLkv zqI$a1Y%pR+B&W~bt!FeXQe*&zD4PK+A(x9T8Vf&R0gZ->H^R)LO3 zlc7*+&mOOW3I;|t7EjijQ;R1Tf&g?2i&(3Ed#5&iJe=ZGO@of^+&1%K-bkX~M~}1@ z@lv&FP4Y#GQX>HNia@jB_J|;QhSQGVtQbjDz87-^DB^l;=BShv_yeK*<4OTg+J`~V z?n(>-m@wR02aEx3#t%92;SpgJ+O=k=VwnWb#bruZM65=h)@mp|Vp$9XdGHR?txl_P z+gyEt3Gny0#Xlg&zaKGT-Pl zt0#TI8XpO*Nqh|_r>gC02hSJlT9EY)%N+!HUgKRz@;RD+Wm;V zd4BCIK(QqRsw0_%AwALE-dWq+FyOhvm=4P(wu7XkF#7Z#A{tQ`u}X4Yk@`Z$qBvR4 zvwi6xD1!|W=-xSxIAv4I7ZKD#*5ju6X{bHGl3p?k+@;3ba{N9lsuf^QiwT-o%^Yd5@!tN%bFA1k{b|>8A z%_sMErWtmK6S%i?Xt27vx(xz7b`Y_j*9WjOI^^aGc!Dm*V2jQM)*%-HMbQr;_H5j) z_>ZIWji7Nb^^R?tmxoL1?XiL7N>34{W8h{N1tC}wpVlRW){&^4gJ+gkTNgKWm+vq1 zT#zPR^7xr}tClu)_O`YdDtVPpUgpEui=DM|U}AT|EXZ+LgJxRoQ@X-TLwrQR(p+0e z(pi#KikZlpM8YXiZtf?&jkTDr2q%x-V zJcN$ItAKPkK37j5KN^Va%_$MVb(Cf>xzg~2WBeFinS}9`?6EGkAwUH1lOGuc!y*Z2 zjrw#I@3P98PSl&N*~JAs5tB;kRb(wtTvzs@qKt>}8Y3CVkNa96sD3$F)JmHuR22+y z2s*biz1;;~<^W7bYe3~m1j+)8m-qu<)e0C7Ytw{(@4jt>l@J1aq~hoeTn-KNuzZd( zBV#;Vv?S6UfXfar(a_nz>H@f($kQmnjuUXUp=b_|iX zO|F+Wjp4<@hKXHFtIS z?ZqgHWk6n>P`kLY-mQ_^Z*OkSVeRS)){<0?k{i}+NT7D8@2izScD;nw;)6p zVf!3OeBcr(D}(FH7dQ8IpEo>InYd+q=zsHH z5qlGiLyjUrI=do&&xA&Tcn0x3s16}@qP!u688T|IucBa6v?5${D5sffwGG*~Rub8K zZbfL{LxTip(#!bp1v|Hrtivf(YA?eS1+|1V(O{Zffq9`ZBhD$EIW3T;Xe4xt5R`oV zafaYmN5vVXEOc6l^n!STjq>JGMg|E2`qv|UCp3geGG20IJa05|)N`3UU1?lZh~lGh zN)~9Dj=@(tB@7BT9YYD}s0el2yxn*f5VT-_Fv+;-#ieGgE>KRXNP5Zef@NY0EO{hk^+^(j zRSw{~QOG(}BRUFt)s6t~dNg(vV)oh$z65{Es0=+hLv`|8brQuwMT4LfnL0kps7{6W zebiBZ1U#w`xhk@7!c>Iq8N~{LPm)oL=CrIyFLVJIRgzaQzps+DS6(r@Vd9FcYGD)d zi<;=g_ND|B*+Bvf&_fo6n16L~X2vQ^!Y z)UO444!XWGn>#M^xMy#zyKC}~u8^dbSw|RkkbV6waBM&%>jkm85ukUJ+e^zkA@gO- zdA)lo3$Pw`qQpAI+l6F5U;$XUyS=#;Oq;DIt?q3r6&5UcKB4-&=?LH!G z=oUAm{{YTq4q!0_jnM*8Vgd3pOnk1F-ETLheIw-Px_>zCextTB!@gdK;DhggJ;*aAw>6u1jI85@i}NjNz%ugR0d_5`;3G$dn9^ zk*z?(iMA#)8>wcMYBXnCwG+9B0}^7c6Ck|y!Tt>HwPjjGqJC7C9VqdVPPI~4VDRY) zEbViNY)P3;@^lDYxk#wwdA0 zksF{yvUPf))|oursJ2>Amj#pZ1LaP)C`zAOtU{7va385?loW&ylFvx+40I`V?v;)! zwCDY?q*sQ{3G&56#OM816ImMih~+`Ia!JY719BB0=Ho&z>XiPtigi$>(4Qc`adIAa z2V)%CT;X0!BmyfVUoN;#xaepkOp7!n(f?SUTbTQ(yyaWb0ntw`Nu)0)6Y*b}&=rM> zU6YKcs08_`#U&Vbb>^U0ub=3&=AqJ8!!A5=80BDDQL_MFX>xrx#UjGf;!VIyF%m?% zU4uqu(if6peET&RGvO_%>?beLHD)a562@I23ofC=B#f8j-=c%<;UT<$(&w+D~vnG(Rw82d~!uIfRtWYtsX%7Kbun$y#7Ml|6qa;Qp6sB~_y2aJ* z&KkD13Of*IV7=fzHHx4247Vo2-K4hHH^ILz)N_KHudBT6;G4w`kni2_SVqevRM7zVZ{9~nCh}5VA zoT|@5sU;dfbcNbn9eHZDp<_&+DvPR1r$Vga>u#R~w1u5%5VV{Z9#7Ths;BWmgVv=< zU^M0^Ly)QhbD&~Lqz=Ou!E9SW4)oWmr}9g4asR*Izp@%l;B>?jYV>T z_`+V2{^qtJ;ai;Ot~}< za%Ty4)ag#5R#9)pMI68k6Lvtc1N7Hrz)S_}SO}8cAMilzwQ~W+5OhX0Ohg6$D6@b- zqm`TQB@;irEZaDdrkwQDY)gnA+Dj9#6e~GQ?F1hkjk!Td(%{|EG&8xF zhvBHMkbp_7;Lv!|u&=t*UW7=eDT_LcBW5uS6-hv<;73tlQNiQX+Dfb)je_a1DB>8K z2xg!pL?uKLBWmqEY)U*zBn(MS)}RJ^nlX(U1rJAxFp9O1w_!%!Kuv+!5*$W`Tl7UM zd)wPEzivZ!6ohDuU+>1|?i%#+tBrM-WS!q!r&X>)sYo0a5cfBja6mRcb->Fl>s)sx zJg2I-aGCAhh2;%5$nJr>Gdhw<5N|Lbj29KzF3lWhhY&h23~0+7gmwmB3izyxWwsK?W_gSv+)J&o1T}gU zJ`(9`R$Man*Ng%b6qL*~R+`qb@`|e97PNzM!4W^ErFz)(Qn9$7CJJO?329oRp?<0X z!y>hi&4i-j7lHv#H>M!0Br^=%_5y5Z=Y}K~t;om|+nB&liN}dKg^1OWvBCK|uP8&Z zrhdwtL7>D7A{ixy6g5c1l$?3h8+BZvQp#vZez|Jo3^Hv@ZUqV_pl)>urc`O-Y3kkP zmk(NuW?P`eW=M-gA`G+=Py|-NVvYqTjHGq~!PW}EWWgClm$NsN|2q&u`8QOcF6_weB_47(q+kCMz51UIW=t7 z@`5#V;i`NA;wZVh@lA*H6hBt^!SZVRWi(SDKDS>6Gw9{gn?vKUZnw33Z+8_^$7Dn% zsNSNuA_9FRGNV9tG&H+(CYgZ*0DE)BmKT;G6?Ljsb)@0!^4j{|c30gz&yr2+?X7Xh^Bn5TIk%DZSM-EPx~e=>l{JtJl$HdDNMS*CBrL$LKowk( zyiAm4MNP=+r)oq_AutypeXA}hon-nnSDj(qnLIwdNKKGS78)}!X%%ic;x{d~dYF2O zJo^xZE(?wF0$&eIv>D5J2{jUnMX@P$YGo+}9qN(n$ln2IHXQ>lf;CfCCnl^R+2BjnQc;WEL>uu#2CWtM0P&q^ackDAxuI3%dm z)(kv2V3{XMiPjuE1Y5H&uBY_`%aN@uP=;lP(Hdf;1L2!B!Es(L&MFm%J3*w5XVhuM z4Ia4gjJm}{y`hYJX?;@RPep;FHiK5&M;m0# zBrME|6Lkrc4!Gl!Q=llyKqHO_LP3tGxszdxU`c_YRlETGG25;P$4POQ2^*nGnd&rX zJSsBAanqfM%A87cYF$L;$5+%h^)x0EgPN5r1pSqMqoWPe`u=yM-*g2_^Ju$lSofE6_^OZU+T}4&-r9z@i z5qd=C3=Y?MUhwXE2$=+U$#_f+d`TV&0E*&B+_8Yrn1B#SUYPiU5ri2kp@dqwjv{kL z1f-5Tmj)5W&zv)p!K-$pJv4;JVs)lQS zk*YrG2sc!)2pI3HzY)a_p)Gf=%k5nu4o-4TGZIt6+uR+D@OEOo-WVye=0{8N%u!aC zaMOtwFqr1>P^0f1X&GU_4FV#tnxqoC?42&ofd{c7Z%*{}h%6nAg+ael&-lDffYs@_ z4M;Z&c2#>D^tWD}Uc0}$N`L4CuI`PNN+M*s+9x9e_jOep1$no&0pB)Ej&mQmY|{*| zocMz}$O2M`lD#Dof=K2%iDwQ4HjMyZOsUriY|Zk+Yt1m)0{w4Ar$oV7QlQHxo&m0^ zj9}!#4=WOK%ovL+hht9RF$c3l0Yo{Dlwgzs;6{wUr}|R~H891Us#y0!5p>j`+B|@% z!7wW);0?Y-leDQ7>G(){add*j9L<=>mpZCO(2K-X0S5_rCDn}TdrBxsO09^XCL_$+ z#VhP5Y6J<#5nB9*gf2GQ@@zP6#YF^*fFJ_6m@qM&0@yMWE}~;5AxMY08&{^i0f9_q zb@DsT;FTSz%0?{r^Jozu3Zvt(Hi8&}CE6&$C>8)mRNy~V`$`xFkc9ANhTAf@^~TI; z+?-ejFTz&8IXeYQEXE3<-=FBZAq|A7L$>Hbv*Rcl;S|9tjQ#^UMp_X1o-r>6T_^!5 zM$~_K3@TXDfRB|TQ@C2FlC<4rli0o%v4An4hJU*Xa0H@3i2xDAWIRG$0k!n|>~DIc zb@4od$oXZsq=JuBe2leydX*7K2niu1sVGlQTy)g6KBSgv9M#%L$5Pe?e;n^>zI!1D zC5S0w)#a2WmDp-^6Ljo_wG~jIcxD8(!*n-@F?YsC8FQz^wkq}wLr&&La1>^E1sSCY zNKDk}@K$o2@?x=9mD9YW4f0JF8~dh~VahKyMXX6$c2feR53j}r)RZ=aHhj|&=CHiV z@&39QWpFjj3)Wg^m!VcEGrLfI(!m{zIZ;`(=yRXYyZWIS=D2H=+k~m_(a7tqf0|3{sgM@mQg}-k6&4R@w_~g+93Uo-`}>-F)FJbMePDMxAFfGNO}%kA@FZo%;?fi;>FXrt~=DwLb6rPCW1rJFD=+*sbeNbx4r2yXuvVPKbz zH00(Ycmy({F{hU04i+UgHd7BfB@{dMQzB`EFT^6lG|EIKM|3B@G^j0Z-AArWbK))fVU@0gw*ju{8AX zo}mIAb;24jV#~>(j+T*P0{z4nNo)}(FV3pZlgvN~uW+;7?e&XviKyYzjT#j}mYRjc z%Fu>-P#DpR=f4_jQKJ$uVH&YGX508cOoa;BKfiakuH7E;#YEbf0wM3*0BXEMa))CNZsM&4FtO_>>5z81n^$ zlMqYhW(3-am^OyQXeK4MV!#)5u6JIM=w%?MEakY{pr==gMv9_GBC9X&RlOlBWTyNr zah!N8Wa>*iCK*a2VIoZRBa)0t_yXxCs55{uGjM4u>?Y4ggi8^}^<6;)yW|(a0C6vNk?SkKxOglqmJy#sU8`Xchr)@) zxwg?vum}@&6&AOxlT&gC%SPiyge$c`hmj{GBV~ryN>YIh1+f6#K@&Oz5K?Ns2o%Nl z$InoX>ITaN@uX*MQ**pb(G9*cqebYcBw^|v|I43bAA!)E2foL>Xa)_ZI zu!u?83t#~qQt%^png>)2NFE>U<#?|2rTV$xxj+H+ zC6`7M3|K4-zXTnzsWu3B++dlyFt%B-;28MI_0wNDzq}2vjSC)ijgCga16(WEYsRG&m@f#h5t#0rY&Nz>;gh902?S%#!<<;n#zZKu0WBI5`)M~eFK_^ za7SY8s9LS${E>ST=nSbvTnSB7Es#TwmLxoJY7FagP6!E{^oY{TmRY7-$f=A<6EkLG zo}(%O1c(t+G`GQr-B(@)I~mHwNG~;~gob1@FtMDx$WX#B9@yr}OgyrTX2Mf*K^Ock zB$}QVD3FP3emmAHe-1}PGjR##2SCK;_vno}$K?4n5_v+qxG+ClQqD6v5?ULaD{! zxK6lDgDE`(#n>xEUsjdKnQrGys)rv^{Qmp-I}RZ#>N$mU6h9}9!x&zObNE( zmW{*FvJqdtP^D(&D9339BpVOu7(pvAP!WmCc^E;fHl(EJP}!yfx-!C^Q@6T&A;3Tj zUNlNPdwb=tdzT4y`Ag+Of0BreU3(7@7ZxvI40$>?wp5jLZx2O1xJhI6thB=9_MQ^m z2wa;{!-a+Qq*)VUp=nK3J2Qxl!bPVwcS2d%1uy`x*q_VIw_&P|wH*P?G3E3a)Nm(| z!IH*i1f`^P;fqAeZfdKe;+ba9u=JKldA0e*jF7{8m=LczFt_P&2V*`LglTyxEXrkoA zw|r)k{^>^p0{1L$&r@g$k*c|^Cy8Z5z5SKD8OW7wVw?h}#1gmWzzVj@LIBK-8i}@m@cl@N$L{uILa5WQZcA&cIAFLuQ(^H%*aw%-0k|856iAOHwot zEGUCBmqNs&$yjZ~Baq7g0>OipQLzr@4otq=^(8tR>>>$ms3f(F(3hN}RRO{>m{T+a zG(A=kK0%zJ0Y+hPePS9ElNbPr(=^V27cTT7?b&L3ayIeyu$Kc5VU7qUGDXb#=IlHj z3h4uuL9G^uON4xQ6SBb%~4F1#CcPphzn%3wk2f>4j$3X5H5CxW063M4Sl|8VbT%kYz>{^5`iIz0+P(qh-M*^E2?`L zadSU74m7ZshAIeMJYt~Y)Y1uh zN7oB>A`HTOX74OGe~Z5$#(O!0)F$ED1};`T*QTfQPXoIAHkVbrCK@Obl4(H_3sqM1 zXoE~o4TH5wo){w8@(J6LB4#bcireXZghg6 z#L?^zLx9aOC@Ih|ZAf8^kEbnNvrSK4p`2_-6M$1Bqu9FzT&vJf#g1VeO3+f4+8|5K zl@tOPyV8^*c$eZa)WMOY%3T>{Ul?cMBOZ;WqbRPVaMBQIIB9}mtQ;*-AjK55a0M+v zZjB-lsz_ON6;Wc}g&q<~x%)9!5(}L5;#6j5*MhK|``MTsas;Uy!34faF?RZ}-!xbm zP;ot@AkvTpVnBs6r$sVlagSkM4t!>pmoA!DT4$H1@p8WS5nU?pu86W?)&k2H5QBO2 zn=jt3Bnd22;GdmAL|jYrA01}(8rIQpInJ>#k;S60hik<3U zQZq2Wpl%l!r`UwRG$%Tm%YaE?t96lFi86e7RY2lm9f1)<$3p*RF9%o`GnJHg3R_F1 zO;vnls9+JXMFQ&yR*~6`IweU!dYP{#T~Q@+5C~#!!sb*f>`raH7=xfU1uc%8H{GOd zp%_udn?^*!f6MYPhIPR-?2+GAojdeis$|a>2~0Fs3|%A;xg}*FOmYtUC<$BVWZb1X zOGCy-14%EWyjo6fLQKxBtQ1r;i^{co*H%lkdbm+vgexq0u+iPeTV`}&dL4T6VO`1>%so|9OsSa(hBY>)(JXRuzfhYk= zXHf5D3$7)O`CYYSv9umBzBiAl51cO|XlJv>tOm7zRC8*oZJ>WT^&~q-I3}+wcg? z`0_eQMxk4D2aDo%cQ@VaUwPcw$gM_4Du)IUtR`#=ua2;12z(YVDzsli0^bzNEEtZ3 z8;b;xOhh~`gnUl%qt~D|1y0`VaD@FYU<5q$|t*6zOC2l{eq5zoyb@(fC;)qFJ=H+|%eN(b$ zhyhel{K`+pM+>2IYhiX85@7DF5OD>i?&de)5Ce}K?qzpU--GJOIng(XWh2yH6hR_P zI;dZv-6&5cwy_`~&eFn^LXMGAsL>;Ts!q-|s<35%avU0zjQ^J%r(70*Ap)%u{|^H( zA>p_+g_w*8Jke4TLY>^jkE#~8MnWelgT!*62iV{$!V!%Ju$yYFiAY3-K;Z2y%!QG1 zq9GXv6472ep^<|TLQN+^4Xb39$<-(3l#CmI#>D8k{H2vhWco7Erm0sdz>U-BXDb13 z4Yi#1N~}FXj<4;&j4z|b3>4kNoIP5c3E-y(0U@Z)bMG^{#4 zTi``pKfxb%*HDuoU>sl#Ae5dV2{Zk=8CNlBi(7VyR?76*Smv47~s|rU;NY zj)G7eM{bx~L<_gu*S1NyS`fa8azg;Alo@fOa^fS*d9|jnAt-hffd)v8ph^lKQ|36L zZ0^)I?v)R{1eBL$QiZXFNoAzkN~SrRrYgdg7_mu#!i11&zy)a~%XDieHb3b!)Zs6q8l4?xMP!G~;xlVTEL2Hff>l2iq-ZK+L&Sn8(zL22 z&kISbf`N3Z6etw~PEhlN2c2B3-5)2yu&bd+z|Nec&!5I%<9RAqgaV8dELf5niB6ae zu)AsaOd(7|R5}69(lMTsE2Hp0X-{tf+H&Jtym!e_2b{1;8?hAkg#XSpgCrzL0n4JE z-rBTEq87o6BErMQ$LQDbh{{p@WLBkWN)I+!ff(x>gyMu#-(Q&-i~6m2Y_2@CqsOz% zB#RCO2?B%~inu3CF6cS;))9r$HZ|NJqtvoeEhmcreEH2Pa~gCBmjaSxsAZnagtje2 zzkzw=1%_^DZSHMjpY{kx8*A$p!rK__<<(VToGFeBx1QVF#?D1+8{L8XwwJfIy4x=h z8kS_BD%9ysXq!R8o6uYgw`iA0S7t{oQKrbVlX(F~!+L&weGpn4VMr{L1ND8sZJ|u z5G}(EBNq&xDo!7YZX7^##Hc#F-gr~-!ca^^?zRc!Ws18Lo_9WTirn5Bq|c*#u%yqj zFFb;S5N`Wa^wC=s1Y>U99>r;~SFoZKO;K-8#G%wJ`2aGPu&fM^0Jp-qu(Zj$>Z_Db z=tQbel^F&{C8)ws9G*x%qH7(Wm}E(0Z}8Gs8N`8(G6wR*frVLx-5Q(Rt&z)9 zlbQ~X(2y8mSAHA_p0ogQf5BJ3eZh zt|8FY_T~ysg}hD-5(P1gb*IoW+Bh#* z(3vwUM<+7^I0H{b@Hnj$EINpv{@L~c0bG62z8=6tSF19w}p zg+YukNx`B6rCVj!vRX~(Q(a3;6aXJct`!6eH4vA3AUtNgIt(4FlZ(wZ8VNu<-nBre ziJcGtk2cuH>kIW}713xx3X^05ap=Sqtvvx;8b-|JdJbDrZ3{;s$Fw84K7!H%Vp#;P ziknRv%6O~>(o3d@)fx-wAoNmslK=^RU4j-z2HEzS1j3m}F_m`tj+9lA>D+{So__BJ z7@vz#v?vY81~L+=$mFKhc9x5~w%Q0YDV?>6sD>7z;h?F?B!^Gu6Kv`YuFFf2kSHM7}T4NupTAo{-{^n=FKH@XfQ8d{djoXyOR!P3#&i z+RZd%4lN=UHZMt5j({qKsbtj%w2Bsv_J&|5uSmZE>WWdg_#{oQs*Q#rabyq(&yl{% z92&DIU7*Qi6Ex6wkRse}j3+5Xj|&c&Lfp37%iwQfQNa;!9J^4tfsH|C1uH{+atU|l zgxqjW-X)(C3&F);u8EJ0J|}HjZW;BbVnYivA)F~Tmsb*wNNal=5?o9BO^G#kGICL` zMbA5_hVOL&h7DQZW=F1wM_ot-9g>qXNDN;iU%v~W9+B}&L~Y@Rg~NgQt5F9ZF7}9wqpC-Zr8!2yHp@g{BH&G3(rMVveMf|X0}sgU zQlWx@WRk)AbcYa%8aZna6}8Jn(-2rODo_i%-H16~LEuMVF0N-urG$pDP1B66bEmqEkoyX^5f}wRGm&DfFvRSMBipmfU}oa}Nc7;8B<`HwL^!f+t3ejR zEJ*iil@SUR9g8Fihzxy&7IbmRU=$puHw~~D5PWJ4p~SfnjLk!D1Ul$lpx|wHn)#Ne zAQ*Gt;%gBLEV7scs}|5vl1~oZ-z3q9`XWMGybl1W3{lujXs8X+A`uDCj~?7fL}Vp9 zoDhz(4RI$?$O%hukj_ln?ojmKb3I6AnIoDIszex{ht}gDE!zmZ4Uv}-nbbkUWCvfa z4YDjM*S*}#_=jMI*gWDZyEqS^bYnn>w9FVV#~mV330|})lTzZuOgM?0f>quPH6}$> zi-{qN-AG|sTP>t(E~4xik!V{Aem$m^hQAU9<1)q)@R7t;HMOJ!K4Bq{BBq&29^s)w zlGe7Sk!=EzrFXO_U^BW7m_&0O6+)`%jnk*h$+EE^Bptjn3B2%jPH;!(Oi-FaS4Jad zqc>wLjj?F5Gmh?(6(K^-iQ{t&aW)LIL4uh%Bb$cVooj@5&(+PQ1u<;PMT};(qcvt+ zNT4fj^5=ABeR~^mo*EGSZLYRAH|G$7HK~jR#FYCqXrM{6D@LTq2)qoeE~WFGrrXh7 z2)KzgEO*lue+B)o^;9&3))r+Qb072QwH;hU_qC=TMWIZ%QmlaOwWEmP z*ud`nd0wROC`O{hHi>GM1bvTf#qI5dqX_GebgIxX z#-fBCDG4I&2;SfxzLL=?mnG4K;KzP34++xQgFjzlFvF(R(Z1@_ZImzB;+A{GP& zs^c!gGd52tkgn=CBkQY*HBEp6JXN()p+`aKBDfPFvC6AD8*baG9do>Pv+gKy5UEb| zfSFF>Q3y^{KI)_>yl)d(N?Np1+N)YN8BAhR48kR-aEm28E1}RU9LQDGjLh368}GEL zb4if-yYHAd$nP4WOac^b!fiE3KU(j@!s|}A3xo&wQtnExeOXwh-tr5g!)5!Oc2EY)h zr~-@9-%KuWIb{>Jq-=)!5QNgP6oDNCRpI4sfx?~Ih8V$}-1GIdv}dBb!Pu+0jHuuO ze)7H&SHa6MfuRQz1m$&6fQGMMg3vFK&`Kben0JkaU5w_dISNT7Y8+tztx>S58>-GuVv}YOxAI`JI@PGQ7%DU3 zt8J?woUv2JFd9&Q8IqGk+NeEOLbrf&M-mF7wW@a_E~7+{v4q|xoHZboT)c#t7o}@B zwj0q~=v#4I`Y}+&1p$9!;8om2hP8$+OFWAg;V51PwjV&0NXaJHTd?usR8nD27EvRL$qUsO0bDMI?1h z*|l^_pe8lsQ(&?`ma&!|0Tq;*m#ZtPKld2Z07EU zcr-~WJLV?s4u>VBcQH0>L`NrN4I6z|EmFgxiIPv%Wv%o)bOI2n=ij54$2ahXaDe0__Z_BUC&VCkBr4_o@% zmVV08XW<&W&XlDuwe(e%{*-k_y-S^9vbZ?N?3mcHN8f3oz+*Xa3&EnTwo zlBM5g={qg`T}%ImrH{K-&%epi8B13z{dP+qw)9sl{bNf%ZRwLArTsk5(z`5uz|uEZ z`W8#yZ|UDydd;Kt{97!YxAeTF-)-qzEPbz~AG7qpWAywREIncAJ(hmEr4L*B=axSD zv3lNDTUxjDE=wP<^bMB2-O~44`Ztz7_Ho+Jb1gk(>HU_z&eAs{F-+lX-l8{1U>(-rAwB+*3vgw`cX^&m!;3RPS5)~OS_hSqoqG?>3c2x zn574vsOQ~c>9VEYYUvv-{jZjO*wQP%OwW6^rFBd1vh)E+O`YELR@wGS*h_YKa zI?p2hUXH&5;dfB{b{t`hLbDgQ1RAN(j&`bVoo*L&SD~)x5dX$P-D>6(kBV@F%S`wd zfbt#|2EYEGZV=*^lmmf zclkFd2O9rhQVyb@$7AJ949&As4x*x=l*9F^DTnJdQx4Z#NjY3^H|21>SEU@T_Xf{x z4decPJmqk`x2GJg_v-}NM;d&oWIb844DTnJl8sCG?AVpix^c*biCc@XI9Ip5L zl*9EFQV!Saq#Uldm2$Y=H>Dh|_dO|x>-|U1nezCT3i)PuUm@QLe^SV|!)FTlrSKTM zN^&>S--+-V9ZIN z$e+)%w}z;`0Q8vY*$pTRo( z^*G|EgAFmL;yS#ydv;<_wp9-=C>IyDs77UY75YCAE@D}J6qd*_lsKDiN->Gt`$N6u zjNbdpy~SdrDW6rTAMu6#hu#wyQR5kSFH6m%@xTju>s(LAkEwK8?lS+HeXD0>@1XyH zdYx-=4hV1byk_5$oh~K9@O{)9-RxJscWnm}q`!;hCVc;V0)&1hc2?Ti=o-BAGUQVE zlf2v+G+4+jD^GSQJliX6WO?0Nz0U8(P4C`>*HR~^T*DVuYQ6wB+V;2GFQSwAYhKLT z;amTHFR=VakoQyYp0+eF)^qS}6vv!=)he;hhJ7i#z>8wZPk4#H+gjdCnBh}4;a`!W`n3h)@&2cy6qA|M(Fv@q$e+=-a^qUTXt;>E_x-U7quYyvB!>sy>M-`Ejxigx5YRgdf6J z)kIF8TG8?9|A^%-?|rG4c)`71P&||UdkF?uuO6o<)JIFDvkQz|_sLS}f;gnU7a)@L z5Q8jjW4vC@s4a}p|9X_kZwLPmgy-BC!k^+b<+7Uzs9Old`XDACE5guf7ZKaKhAsGZ zseOiJc{jYN*ocDd@Ga;sJCQaf;e#lX-vx~IK)Cw3A$xN=3ur8w*8v*>J_%@>VFq^$JDM{|tp^H}Y0g5QU*~ z5u*1Oim;uZ%Ogo1 z^6R5Gx*jF2PQVh7X;<+a@|x(6w^1zjxVWz>7MrWy?8esKE`9ZWuy6I^-mcaEY~T90 ztNm~Ft#(JiKP%QQY~qS!CC+vEf1|q|K2>bdV>NUwrXp}n_PGGMn+dxL1k}^e6fS5R zM)7wbeCQ!ao^ZtFLW*oD)J6Vmd*E zI`uhsmX9oi|Bl-`5WXK*ej|v;TTxONEWY8wVA)sHA&DJNzBS@C=u9LhWdk0uxH>f0 zK!}cCMVtMq8Ep6CSOd%TX8)s+h8~9%tvCb?=C+Detyr$@FQR;(4jDxQ4x+UGY+%LT zr`57=68A2&DP92s+ujX-jODRd?hz&bXHQMh?CAjJynI!gD-BD$+@}F;8V)g_C5@q8 z)2D$=mzhi9kpw^xp7PiIWC*Xr(e?N%Jmp)wz+TB0BA;8eiFBdG_?fdCjqS~I=y@l6 z0~*Qi9gkt>A3*27eK>?0Q0BTlceov?v?R0?R-B$XcgCH}>e7}V%~B~W(S-8xD-<@n z+RhqhyL7%HE5_7ljMeYS3TgX{(Z`{QH{f4q1tkaJ&tz3J#aKLhmV5CH;LY}NA-zY! z4t@<@XD{5?++91n)?IC^gNr$jEl3cHVG{L)XF+jW4iD$E4oqol+a=zg)tuQ|TVFk) zuDjtiSp~U&y3pbQ;7xrft4VRT{##ZWT}VEZ6&3=cexgv}5ojKTuhQ?+ceJ`bD=Wpa z9mYrL&E=UaT3pre8(9tgf&MVdn_>FL3PlVh^u74bjKrbk2nq9_LXqRPA@t9qC|(q1 zjjMa>-EG-2^*wn_+&4RXv~O|rN4gT83YhS&7w%=Vf&_ zyd7no%8ebEP6SLd-uJ?vxURg&t#{lh3Eh5+uEFzZhds$uH0tnV&7_n z5fNB=d*9kEFtgZBK70VR{#dYuCf~~N>8woRDTSHqvR1gcCZf0RgdfXFqZz{=WQDSa z()9M`1$a!GXjs(qc5E8(q$X5|f*E8&w_yZRO!RQBtv2G&sojoCV4bGAJUkf3-nC# zX!u0d&acHu#>L+K?7R!PMS61=x5*g||59jHp5)Q+f`QbHUjdVh3p^LZNY5D4B*PD} z(4fyGkA}Avn%LE4k|)Bq-O#6ho#ctI{8g#ahlNRo&C!c)Of{FAvS&UgRqgvGPlVeG&B~KJ5ni9w`xP+BxSLl$H@|?LnI?H6e7Mk{&m>QT zftykvxy{z|%jFECfVj=ymX)JuWe+i-y0rWvID&peNT|Qan#7Hdzw=PKPO{wJYxH`HHM2TJD91L7@AEklr{Pek&_kE(Fkm1jw7J!^2G=%3%mO z2S0!*IH+U0vDw811O?*n*Fi~v?f*~+cYs#IXH=v``|$;lSfyB-gNL~Lot-!~(W&8zB=!fi+UO6z1YM`g9mh#aa_%@4L0ZYPls>$;^>j_*ZgM#|9d^ z+XF=<+pz%(5@NU?jbK^2LoGZ8MFigMQk|5c6K>)?z0Jr!#r`jeX@<^bu|{kiq@q;* zns`4HmgBqrUN5lxL!M8eC*>Y3{N{g()i!gN!aKbvmi(%h6zAT$ICO=-BE@RC+b|Yu zt-GDivO`5Rp5WsDc`xyT(_ZihyX<=Vegpg!ue8p-v|b2WVaRhY4xMjk_*SngJzA-J zgIC&Z?fXUis5dNLp+&ks{ESz6pw*xA0zM0@)xYj}yUZ8o>;FK!3XPH7HSb2?lR-~j z+(NPZo`l}-yojDlaRTQsrt80YlXTW&@W$JEaQNKHAU2?a zpUm@yhbj}dj1T>9{tN#FlOsRA5eLFA{c#A_;e~nt?^1XL{>3M3f|s4a>iW8zum(Qv zKzQGuh42mFWcj+4+YXwG=rPpUi@Uqcm+4YC?nU+;T?#EP>FLFuo!RF{xK8g?e?$KF zc!&Oq|DhMyEB*=OMF8G&MR6tyzlf>nsnSp>Bk5DrJNnXbk@~tcG@!&`rF0>7mOHtl z=YC}1cZS>2S$adI;LtwB(!A`s>;Am=_N?zGW4DFv?F+q$`B~xh$gt)S1WDM8*RXd9 zVze`xJ6-e1kj)6}Se@Q1L&s&f1IHOLbmC4d#|9)m>;SodeP__xOUpYig$Lp=BQ3SSj_DxMn-r;5=#?NJ>|WnOgLi(+KHRxF9$vZz%kJD%1y{BtJ(BHz*PO>25#WZ5WUo7OGpQs!QR| z;;GU){NJ9}?591OAU&NOu7b)*ACXP}zNFm~%PqgOXxp!h!z(d0hrFUxKIY}6c`-($ z>ecZhlv%Udd9N*VZP;K`Yd1KN8*`e zAq1(yUwT>3jywP8H644N5v@I`5?Pgx^pP)G5BIy^XIVb4zNYxZ{%we) zO&>-1anI}4PvHS?(DT5(#jCxA&FJSwEWXaqjsqytq7Qm~x_+_2PsIlL`&4Z64sWx6 zlV6EV@^`M-&HKDf|97X*_>sRnACA3Vj<_v!erNcYpQHqVxJQ37l_@>2@6HMT>MiX? z_HFo>YyBl9I>}X@=0$}sZwZeN)azHJN~Z~Xzrpg<^ocWcIQ5fFiZu+!yf*LKE04#@ z&uav&*iAM7yUUK(xg>|%Bbwzm#I}%IEuTwyweON(MaKpf*Hd7l#jR!N$;~_c?${@0 zGTi4mX1>`o_O!kLSNl%yvi#NU49+63XZQiH@A>Mi!B2Pt8`GB#yL}yGAF=|KZ*9VNbS+y&e0BEWy3HH@5vLfi?p9pPhM z)^7)wzjq|_PjOC!iSc7R!9XuDrui1Ie`Xl@|j2U-2jwK6I7rL=jri@{X!acFfrmQgP z{Wj9L6wkuFhu3Rh-W4D)1LcWF7_@zDUJHqyePlD_j@7a6S1krY5GX4 zDpmYttnfGHa}CGxkFf{7CKKU`$J=|USw?5b8Jf>I+{-h(gVM;q+RJ-xcGzqBO)?*P z9;@(+8@urPeJC>c2#-JR#ib~QZ}oD27%+E;T4L&#-u z?|69)Zj6`3lGwx{jwZrsD}$*YfBGi4hy9CDQt+_PTHt{#G&7_f{c3EQ*i93B~NAa8=j573QY&u86;nm> zgVfqr;DamG%5G9JrF85_mF5wt=lwM3#6p$0MQYu*NAC^7&!LWiNYEA)~Ekks496oYNxlJ%+HRo z61Pt0#VPpg#{sQr*d^yj?eX?I@+RD?MkeU>opP~k$tZQ*vzNgnApCElK3z3#e*<4h z?fXAKj*#lbVNxsJQ>chulUfPP315xB3vEJ_}>c3*onk-5?k?uuvLC9-T@= zi>uRp0#C*p7R`slrL3xGG#pMGPG`jjhz?;}_w!lRxfP9x*+PW!4fv$|YF3vUF>^Nc zopA%*RN{tiELp%`GG1cXrOfoeWZ5Q4{8d!Ohh40?7ONzx*kL#>&(N)#fOX^&hp@`B=R zTP^KbBuG{4F|YVxoRf>SKZ_RW&+^I3l~>_r%w67*>AyIYe}yq8+2w`23%@yRY)2#N z@B=m+mHq#s=TuKwxOg^;2lTOJUy{t?i}PZ?kPBsLkdqI$=f3>}ku={K{-9rHQYQ>U zd2aoYOydi^>}B#fyfeHu2coEZ?NkV=)c?j&B*#w^}-gmxuZP3mq|i0)UU{^_DJL`cX^& z(b5`Z@ocwb={ZZ^W$BfV(fa@KSWT~lV2SOYYH78Gfh~8J&#Z+j$c)u0gF{EdRV$3; zbN?+DMn=NbPrPRS+VH4@j}K40;>)gl@)b|H;%Nt;e#JAc`0^{Bb>$7=Iadtg4vIe( zz)%xY&L3`!Kg%EVyq1Q8;aWS=JK6BzbnHh{+00i_^iFxF+GS# zk4Lfsw!anmuS9#0-w7ZW%*Yi z|MD#V8sxt*%YO&*KbGac7x{;?{P!dO=Bv~7smgj6@8 zrYwIH`JpU7i~K~EM>k={?&ly7M}DYhdQi|&O61?c@U)bX`e&5#&kU>91uKYG_muMa z2?qne>hwDpo)W$V?SC5h!1?+zJRedse~I^%az^HV4EZrUpBpXzpOHU}Jm-V;zl=QZ zhvz>LcR+LA4+DR_{_l`~Kk|J3Y=12peg=82?aXtc@lC|`3}x^_n~&=-AJ1pU;o1TI zzYh0DyVVfuuL>th?NYX7oA{Z-+cke{>X!|Rcb%CGlb$p2(^KM$7j zZz|<~3Hi5W_xIbS{2!O{e~UaYZ8c}^8hvme8bm~rjhwW9xvu~4yRS4#PNOZiun@~^!z^%~!i;_Re+A(xFp}3k8}H z1)7|b=k<8`%$e=(z35!}S>9$mD!V|bNVB~SyhQ8Q*PtNJuBCaagQ19B2ojhu2(R=D zU9k9h^VDQ(?+o?og~6mU?GgE1XcWqAtgPCcA6(vrzT*rSf3(@Tc!9CRv56-xuSc4O z8+WmNhW{JpQHB3TVwu$ZOimh0x8^SSY$u&yYe*bp2QhRwE@K-XiQVG% zrFJxyBv*H~$CYqynrN9-DU<7t%V5WkW*SoA#9Iv9!)8ZtaXb~7m?LR_>rx0Je+crm z$M8c@m?1Al9^A~^7b7Zp=?1_A&Vl%xyd*|a@`ALZd2E9!3EvY73Xzul#B(biWhs>~ zT+B{9Ep;7(6UmKGg1m#zhd0xa8|^4Beu0IGd>SRqVKDBRSPpj3?BYx8%t#1??cR^W zmE_*feQUcb=i8eij4GA2JoJ)}fMFgiVp>a}*H7R#Cp~l+5sWv0Z%~ghyP;!2zP!S- zQm1zd7lY8*A%=Il@_$EA9YNhS?P}5ynMFt8hMS~QgkjmyQhp-OudHvEvW4cTo(MC` z+p8kijkD+XhZrkzdk7M+ytkfax6@hM+3wuiT|vmTumC-rPdjAMo7)%Xmp5QEM<|aK zE{To>OSG#iUbS_i7OSVY{J_pJ7BnzvtrIbecu?&%#Ch=xi&m?H9o9NS{NG!Q&DHu9 zSNa!^Rttjjv50a64Sr?zs+4bd}^BsPT z{x#=C{GuP}Px)-}?(zfOhY}Xr&kso!^7!g7ApA(U;)*b%w57BJTO&Wxoosgy?Z`LI zTzduh*7Wn^>ruo$!9MagAR`dkQ}S^LHzBM2;XwF88>u#n?FOaV`eQo?4PR(&n0VK; z(tvn2)uG)M2JsarW6vBP+ddzEysrPY9&;eP8N7`D{61cUg1ose#I1K-O?8@+) zJg}c%_j{4g@8hoVE5*Kr_d%(zU-u_)?C0Pxd=TxPZV!=puX`Jg^Zx$+=#}BkHZPPK zdw;)?orA;h&td8}cwqtMiO<=%ZpPES@Y zNBJt-`|r)8SA`E$J(udPFZK6IFz)X}GxkTRk@v?SGI@Wu-gi}~WMX=+tC#xQdS&X5 zQYY_^0c7wvw@@U%n_hKQnDPu#?{5tU{9gRGj&^t91*N{`4F1?3z$DzG{ozP|@BPlJ c!Z&*-DDp$b)6ZU`u=w3q1;&8%pSSye0jdKtP5=M^ literal 0 HcmV?d00001 diff --git a/src/machine/machine_rp2350.go b/src/machine/machine_rp2350.go index b8e981f5e8..c8da2c9360 100644 --- a/src/machine/machine_rp2350.go +++ b/src/machine/machine_rp2350.go @@ -75,6 +75,9 @@ func ticks() uint64 { return 0 } +//go:linkname machineLightSleep runtime.machineLightSleep +func machineLightSleep(uint64) {} + func nanosecondsToTicks(ns int64) timeUnit { return timeUnit(ns / 1000) } diff --git a/targets/rp2350.ld b/targets/rp2350.ld index 209b1e4db0..95fe3bbeee 100644 --- a/targets/rp2350.ld +++ b/targets/rp2350.ld @@ -1,51 +1,45 @@ -/* Reference: https://github.com/rp-rs/rp-hal/blob/main/rp235x-hal-examples/memory.x */ -MEMORY { - /* 2MiB safe default. */ - FLASH : ORIGIN = 0x10000000, LENGTH = 2048K +/* See Rust for a more complete reference: https://github.com/rp-rs/rp-hal/blob/main/rp235x-hal-examples/memory.x */ +MEMORY +{ + /* 2MiB safe default. */ + FLASH : ORIGIN = 0x10000000, LENGTH = 2048k /* RAM consists of 8 banks, SRAM0..SRAM7 with striped mapping. */ - RAM : ORIGIN = 0x20000000, LENGTH = 512K + SRAM : ORIGIN = 0x20000000, LENGTH = 512k /* Banks 8 and 9 use direct mapping which can be specailized for applications where predictable access time is beneficial. i.e: Separate stacks for core0 and core1. */ - SRAM4 : ORIGIN = 0x20080000, LENGTH = 4K - SRAM5 : ORIGIN = 0x20081000, LENGTH = 4K - } + SRAM4 : ORIGIN = 0x20080000, LENGTH = 4k + SRAM5 : ORIGIN = 0x20081000, LENGTH = 4k + /* Reserve exactly 256 bytes at start of flash for second stage bootloader */ + BOOT2_TEXT (rx) : ORIGIN = 0x10000000, LENGTH = 256 + FLASH_TEXT (rx) : ORIGIN = 0x10000000 + 256, LENGTH = 2048k - 256 + RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 512k +} - SECTIONS { - /* Boot ROM info. - Goes after .vector_table to keep it in first 4K of flash - where Boot ROM and picotool can find it. */ - .start_block : ALIGN(4) - { - __start_block_addr = .; - KEEP(*(.start_block)); - } > FLASH - } INSERT AFTER .vector_table; +_stack_size = 2K; - /* move .text to start /after/ the boot info. */ - _stext = ADDR(.start_block) + SIZEOF(.start_block); +SECTIONS +{ + /* Second stage bootloader is prepended to the image. It must be 256 bytes + and checksummed. The gap to the checksum is zero-padded. + */ + .boot2 : { + __boot2_start__ = .; + KEEP (*(.boot2)); - SECTIONS { - /* Picotool 'Binary Info' Entries. - Picotool looks through this block (as we have pointers to it in our - header) to find interesting information. */ - .bi_entries : ALIGN(4) - { - __bi_entries_start = .; - KEEP(*(.bi_entries)); /* Put entries. */ - . = ALIGN(4); /* Keep a nice round size. */ - __bi_entries_end = .; - } > FLASH - } INSERT AFTER .text; + /* Explicitly allocate space for CRC32 checksum at end of second stage + bootloader + */ + . = __boot2_start__ + 256 - 4; + LONG(0) + } > BOOT2_TEXT = 0x0 - SECTIONS { - /* Boot ROM extra info. Goes after everything in program. */ - .end_block : ALIGN(4) - { - __end_block_addr = .; - KEEP(*(.end_block)); - } > FLASH - } INSERT AFTER .bss; + /* The second stage will always enter the image at the start of .text. + The debugger will use the ELF entry point, which is the _entry_point + symbol if present, otherwise defaults to start of .text. + This can be used to transfer control back to the bootrom on debugger + launches only, to perform proper flash setup. + */ +} -PROVIDE(start_to_end = __end_block_addr - __start_block_addr); -PROVIDE(end_to_start = __start_block_addr - __end_block_addr); +INCLUDE "targets/arm.ld" From 12d10ff1e6bb0940fa7cb43e526ce15b12f2d76a Mon Sep 17 00:00:00 2001 From: soypat Date: Wed, 11 Sep 2024 00:49:39 -0300 Subject: [PATCH 05/16] begin melding rp2040 and rp2350 APIs --- .gitignore | 1 + .../{machine_rp2040.go => machine_rp2.go} | 39 +- src/machine/machine_rp2040_gpio.go | 325 ----------------- src/machine/machine_rp2040_i2c.go | 21 -- src/machine/machine_rp2350.go | 87 ----- src/machine/machine_rp2350_resets.go | 44 +++ src/machine/machine_rp2_2040.go | 45 +++ src/machine/machine_rp2_2350.go | 39 ++ ...rp2040_clocks.go => machine_rp2_clocks.go} | 2 +- src/machine/machine_rp2_gpio.go | 345 ++++++++++++++++++ ...ine_rp2040_pins.go => machine_rp2_pins.go} | 2 +- ...ine_rp2040_sync.go => machine_rp2_sync.go} | 35 +- ...e_rp2040_timer.go => machine_rp2_timer.go} | 8 +- ...40_watchdog.go => machine_rp2_watchdog.go} | 2 +- ...ine_rp2040_xosc.go => machine_rp2_xosc.go} | 4 +- targets/rp2350_boot2_generic03h.s | 1 + 16 files changed, 515 insertions(+), 485 deletions(-) rename src/machine/{machine_rp2040.go => machine_rp2.go} (83%) delete mode 100644 src/machine/machine_rp2350.go create mode 100644 src/machine/machine_rp2350_resets.go create mode 100644 src/machine/machine_rp2_2040.go create mode 100644 src/machine/machine_rp2_2350.go rename src/machine/{machine_rp2040_clocks.go => machine_rp2_clocks.go} (99%) create mode 100644 src/machine/machine_rp2_gpio.go rename src/machine/{machine_rp2040_pins.go => machine_rp2_pins.go} (85%) rename src/machine/{machine_rp2040_sync.go => machine_rp2_sync.go} (62%) rename src/machine/{machine_rp2040_timer.go => machine_rp2_timer.go} (95%) rename src/machine/{machine_rp2040_watchdog.go => machine_rp2_watchdog.go} (98%) rename src/machine/{machine_rp2040_xosc.go => machine_rp2_xosc.go} (93%) diff --git a/.gitignore b/.gitignore index 7c2f12b312..42e6a21965 100644 --- a/.gitignore +++ b/.gitignore @@ -35,5 +35,6 @@ test.exe test.gba test.hex test.nro +test.uf2 test.wasm wasm.wasm diff --git a/src/machine/machine_rp2040.go b/src/machine/machine_rp2.go similarity index 83% rename from src/machine/machine_rp2040.go rename to src/machine/machine_rp2.go index 45f9f510f5..3a354c813b 100644 --- a/src/machine/machine_rp2040.go +++ b/src/machine/machine_rp2.go @@ -1,4 +1,4 @@ -//go:build rp2040 +//go:build rp2040 || rp2350 package machine @@ -10,6 +10,14 @@ import ( const deviceName = rp.Device +const ( + // Number of spin locks available + _NUMSPINLOCKS = 32 + // Number of interrupt handlers available + _NUMIRQ = 32 + _PICO_SPINLOCK_ID_IRQ = 9 +) + //go:linkname machineInit runtime.machineInit func machineInit() { // Reset all peripherals to put system into a known state, @@ -26,13 +34,7 @@ func machineInit() { // Remove reset from peripherals which are clocked only by clkSys and // clkRef. Other peripherals stay in reset until we've configured clocks. - bits = ^uint32(rp.RESETS_RESET_ADC | - rp.RESETS_RESET_RTC | - rp.RESETS_RESET_SPI0 | - rp.RESETS_RESET_SPI1 | - rp.RESETS_RESET_UART0 | - rp.RESETS_RESET_UART1 | - rp.RESETS_RESET_USBCTRL) + bits = ^uint32(initUnreset) unresetBlockWait(bits) clocks.init() @@ -95,3 +97,24 @@ const ( // DMA channels usable on the RP2040. var dmaChannels = (*[12]dmaChannel)(unsafe.Pointer(rp.DMA)) + +//go:inline +func boolToBit(a bool) uint32 { + if a { + return 1 + } + return 0 +} + +//go:inline +func u32max(a, b uint32) uint32 { + if a > b { + return a + } + return b +} + +//go:inline +func isReservedI2CAddr(addr uint8) bool { + return (addr&0x78) == 0 || (addr&0x78) == 0x78 +} diff --git a/src/machine/machine_rp2040_gpio.go b/src/machine/machine_rp2040_gpio.go index 89c5f40b16..afcc39331a 100644 --- a/src/machine/machine_rp2040_gpio.go +++ b/src/machine/machine_rp2040_gpio.go @@ -5,333 +5,8 @@ package machine import ( "device/rp" "runtime/interrupt" - "runtime/volatile" - "unsafe" ) -type ioType struct { - status volatile.Register32 - ctrl volatile.Register32 -} - -type irqCtrl struct { - intE [4]volatile.Register32 - intF [4]volatile.Register32 - intS [4]volatile.Register32 -} - -type ioBank0Type struct { - io [30]ioType - intR [4]volatile.Register32 - proc0IRQctrl irqCtrl - proc1IRQctrl irqCtrl - dormantWakeIRQctrl irqCtrl -} - -var ioBank0 = (*ioBank0Type)(unsafe.Pointer(rp.IO_BANK0)) - -type padsBank0Type struct { - voltageSelect volatile.Register32 - io [30]volatile.Register32 -} - -var padsBank0 = (*padsBank0Type)(unsafe.Pointer(rp.PADS_BANK0)) - -// pinFunc represents a GPIO function. -// -// Each GPIO can have one function selected at a time. -// Likewise, each peripheral input (e.g. UART0 RX) should only be selected -// on one GPIO at a time. If the same peripheral input is connected to multiple GPIOs, -// the peripheral sees the logical OR of these GPIO inputs. -type pinFunc uint8 - -// GPIO function selectors -const ( - fnJTAG pinFunc = 0 - fnSPI pinFunc = 1 // Connect one of the internal PL022 SPI peripherals to GPIO - fnUART pinFunc = 2 - fnI2C pinFunc = 3 - // Connect a PWM slice to GPIO. There are eight PWM slices, - // each with two outputchannels (A/B). The B pin can also be used as an input, - // for frequency and duty cyclemeasurement - fnPWM pinFunc = 4 - // Software control of GPIO, from the single-cycle IO (SIO) block. - // The SIO function (F5)must be selected for the processors to drive a GPIO, - // but the input is always connected,so software can check the state of GPIOs at any time. - fnSIO pinFunc = 5 - // Connect one of the programmable IO blocks (PIO) to GPIO. PIO can implement a widevariety of interfaces, - // and has its own internal pin mapping hardware, allowing flexibleplacement of digital interfaces on bank 0 GPIOs. - // The PIO function (F6, F7) must beselected for PIO to drive a GPIO, but the input is always connected, - // so the PIOs canalways see the state of all pins. - fnPIO0, fnPIO1 pinFunc = 6, 7 - // General purpose clock inputs/outputs. Can be routed to a number of internal clock domains onRP2040, - // e.g. Input: to provide a 1 Hz clock for the RTC, or can be connected to an internalfrequency counter. - // e.g. Output: optional integer divide - fnGPCK pinFunc = 8 - // USB power control signals to/from the internal USB controller - fnUSB pinFunc = 9 - fnNULL pinFunc = 0x1f - - fnXIP pinFunc = 0 -) - -const ( - PinOutput PinMode = iota - PinInput - PinInputPulldown - PinInputPullup - PinAnalog - PinUART - PinPWM - PinI2C - PinSPI - PinPIO0 - PinPIO1 -) - -func (p Pin) PortMaskSet() (*uint32, uint32) { - return (*uint32)(unsafe.Pointer(&rp.SIO.GPIO_OUT_SET)), 1 << p -} - -// set drives the pin high -func (p Pin) set() { - mask := uint32(1) << p - rp.SIO.GPIO_OUT_SET.Set(mask) -} - -func (p Pin) PortMaskClear() (*uint32, uint32) { - return (*uint32)(unsafe.Pointer(&rp.SIO.GPIO_OUT_CLR)), 1 << p -} - -// clr drives the pin low -func (p Pin) clr() { - mask := uint32(1) << p - rp.SIO.GPIO_OUT_CLR.Set(mask) -} - -// xor toggles the pin -func (p Pin) xor() { - mask := uint32(1) << p - rp.SIO.GPIO_OUT_XOR.Set(mask) -} - -// get returns the pin value -func (p Pin) get() bool { - return rp.SIO.GPIO_IN.HasBits(1 << p) -} - -func (p Pin) ioCtrl() *volatile.Register32 { - return &ioBank0.io[p].ctrl -} - -func (p Pin) padCtrl() *volatile.Register32 { - return &padsBank0.io[p] -} - -func (p Pin) pullup() { - p.padCtrl().SetBits(rp.PADS_BANK0_GPIO0_PUE) - p.padCtrl().ClearBits(rp.PADS_BANK0_GPIO0_PDE) -} - -func (p Pin) pulldown() { - p.padCtrl().SetBits(rp.PADS_BANK0_GPIO0_PDE) - p.padCtrl().ClearBits(rp.PADS_BANK0_GPIO0_PUE) -} - -func (p Pin) pulloff() { - p.padCtrl().ClearBits(rp.PADS_BANK0_GPIO0_PDE) - p.padCtrl().ClearBits(rp.PADS_BANK0_GPIO0_PUE) -} - -// setSlew sets pad slew rate control. -// true sets to fast. false sets to slow. -func (p Pin) setSlew(sr bool) { - p.padCtrl().ReplaceBits(boolToBit(sr)< 31 || p < 0 { - return ErrInvalidInputPin - } - core := CurrentCore() - if callback == nil { - // disable current interrupt - p.setInterrupt(change, false) - pinCallbacks[core][p] = nil - return nil - } - - if pinCallbacks[core][p] != nil { - // Callback already configured. Should disable callback by passing a nil callback first. - return ErrNoPinChangeChannel - } - p.setInterrupt(change, true) - pinCallbacks[core][p] = callback - - if setInt[core][p] { - // interrupt has already been set. Exit. - return nil - } - interrupt.New(rp.IRQ_IO_IRQ_BANK0, gpioHandleInterrupt).Enable() - irqSet(rp.IRQ_IO_IRQ_BANK0, true) - return nil -} - -// gpioHandleInterrupt finds the corresponding pin for the interrupt. -// C SDK equivalent of gpio_irq_handler -func gpioHandleInterrupt(intr interrupt.Interrupt) { - - core := CurrentCore() - var gpio Pin - for gpio = 0; gpio < _NUMBANK0_GPIOS; gpio++ { - var base *irqCtrl - switch core { - case 0: - base = &ioBank0.proc0IRQctrl - case 1: - base = &ioBank0.proc1IRQctrl - } - - statreg := base.intS[gpio>>3].Get() - change := getIntChange(gpio, statreg) - if change != 0 { - gpio.acknowledgeInterrupt(change) - callback := pinCallbacks[core][gpio] - if callback != nil { - callback(gpio) - } - } - } -} - -// events returns the bit representation of the pin change for the rp2040. -func (change PinChange) events() uint32 { - return uint32(change) -} - -// intBit is the bit storage form of a PinChange for a given Pin -// in the IO_BANK0 interrupt registers (page 269 RP2040 Datasheet). -func (p Pin) ioIntBit(change PinChange) uint32 { - return change.events() << (4 * (p % 8)) -} - -// Acquire interrupt data from a INT status register. -func getIntChange(p Pin, status uint32) PinChange { - return PinChange(status>>(4*(p%8))) & 0xf -} - // UART on the RP2040 var ( UART0 = &_UART0 diff --git a/src/machine/machine_rp2040_i2c.go b/src/machine/machine_rp2040_i2c.go index b7dc63d2b2..f34aa259f5 100644 --- a/src/machine/machine_rp2040_i2c.go +++ b/src/machine/machine_rp2040_i2c.go @@ -631,24 +631,3 @@ func (b i2cAbortError) Reasons() (reasons []string) { } return reasons } - -//go:inline -func boolToBit(a bool) uint32 { - if a { - return 1 - } - return 0 -} - -//go:inline -func u32max(a, b uint32) uint32 { - if a > b { - return a - } - return b -} - -//go:inline -func isReservedI2CAddr(addr uint8) bool { - return (addr&0x78) == 0 || (addr&0x78) == 0x78 -} diff --git a/src/machine/machine_rp2350.go b/src/machine/machine_rp2350.go deleted file mode 100644 index c8da2c9360..0000000000 --- a/src/machine/machine_rp2350.go +++ /dev/null @@ -1,87 +0,0 @@ -//go:build rp2350 - -package machine - -import ( - "device/rp" -) - -const deviceName = rp.Device - -//go:linkname machineInit runtime.machineInit -func machineInit() { -} - -// GPIO pins -const ( - GPIO0 Pin = 0 - GPIO1 Pin = 1 - GPIO2 Pin = 2 - GPIO3 Pin = 3 - GPIO4 Pin = 4 - GPIO5 Pin = 5 - GPIO6 Pin = 6 - GPIO7 Pin = 7 - GPIO8 Pin = 8 - GPIO9 Pin = 9 - GPIO10 Pin = 10 - GPIO11 Pin = 11 - GPIO12 Pin = 12 - GPIO13 Pin = 13 - GPIO14 Pin = 14 - GPIO15 Pin = 15 - GPIO16 Pin = 16 - GPIO17 Pin = 17 - GPIO18 Pin = 18 - GPIO19 Pin = 19 - GPIO20 Pin = 20 - GPIO21 Pin = 21 - GPIO22 Pin = 22 - GPIO23 Pin = 23 - GPIO24 Pin = 24 - GPIO25 Pin = 25 - GPIO26 Pin = 26 - GPIO27 Pin = 27 - GPIO28 Pin = 28 - GPIO29 Pin = 29 - - LED = GPIO26 -) - -const ( - PinOutput PinMode = iota -) - -// PinMode sets the direction and pull mode of the pin. For example, PinOutput -// sets the pin as an output and PinInputPullup sets the pin as an input with a -// pull-up. -// type PinMode uint8 - -// type PinConfig struct { -// Mode PinMode -// } - -func (p Pin) Set(b bool) {} -func (p Pin) Get() bool { return false } -func (p Pin) Configure(PinConfig) {} -func putchar(b byte) {} - -type timeUnit int64 - -// ticks returns the number of ticks (microseconds) elapsed since power up. -// -//go:linkname ticks runtime.machineTicks -func ticks() uint64 { - return 0 -} - -//go:linkname machineLightSleep runtime.machineLightSleep -func machineLightSleep(uint64) {} - -func nanosecondsToTicks(ns int64) timeUnit { - return timeUnit(ns / 1000) -} - -func ticksToNanoseconds(ticks timeUnit) int64 { - return int64(ticks) * 1000 -} diff --git a/src/machine/machine_rp2350_resets.go b/src/machine/machine_rp2350_resets.go new file mode 100644 index 0000000000..830fc13468 --- /dev/null +++ b/src/machine/machine_rp2350_resets.go @@ -0,0 +1,44 @@ +//go:build rp2350 + +package machine + +import ( + "device/rp" + "runtime/volatile" + "unsafe" +) + +// RESETS_RESET_Msk is bitmask to reset all peripherals +// +// TODO: This field is not available in the device file. +const RESETS_RESET_Msk = 0x01ffffff + +type resetsType struct { + frceOn volatile.Register32 + frceOff volatile.Register32 + wdSel volatile.Register32 + resetDone volatile.Register32 +} + +var resets = (*resetsType)(unsafe.Pointer(rp.RESETS)) + +// resetBlock resets hardware blocks specified +// by the bit pattern in bits. +func resetBlock(bits uint32) { + resets.frceOff.Set(bits) +} + +// unresetBlock brings hardware blocks specified by the +// bit pattern in bits out of reset. +func unresetBlock(bits uint32) { + resets.frceOn.Set(bits) +} + +// unresetBlockWait brings specified hardware blocks +// specified by the bit pattern in bits +// out of reset and wait for completion. +func unresetBlockWait(bits uint32) { + unresetBlock(bits) + for !resets.resetDone.HasBits(bits) { + } +} diff --git a/src/machine/machine_rp2_2040.go b/src/machine/machine_rp2_2040.go new file mode 100644 index 0000000000..747712d8e0 --- /dev/null +++ b/src/machine/machine_rp2_2040.go @@ -0,0 +1,45 @@ +//go:build rp2040 + +package machine + +import ( + "device/rp" + "unsafe" +) + +const ( + _NUMBANK0_GPIOS = 30 + _NUMBANK0_IRQS = 4 + rp2350ExtraReg = 0 + initUnreset = rp.RESETS_RESET_ADC | + rp.RESETS_RESET_RTC | + rp.RESETS_RESET_SPI0 | + rp.RESETS_RESET_SPI1 | + rp.RESETS_RESET_UART0 | + rp.RESETS_RESET_UART1 | + rp.RESETS_RESET_USBCTRL +) + +var ( + timer = (*timerType)(unsafe.Pointer(rp.TIMER)) +) + +// Enable or disable a specific interrupt on the executing core. +// num is the interrupt number which must be in [0,31]. +func irqSet(num uint32, enabled bool) { + if num >= _NUMIRQ { + return + } + irqSetMask(1<= _NUMIRQ { + return + } + irqSetMask(1< 31 || p < 0 { + return ErrInvalidInputPin + } + core := CurrentCore() + if callback == nil { + // disable current interrupt + p.setInterrupt(change, false) + pinCallbacks[core][p] = nil + return nil + } + + if pinCallbacks[core][p] != nil { + // Callback already configured. Should disable callback by passing a nil callback first. + return ErrNoPinChangeChannel + } + p.setInterrupt(change, true) + pinCallbacks[core][p] = callback + + if setInt[core][p] { + // interrupt has already been set. Exit. + return nil + } + interrupt.New(rp.IRQ_IO_IRQ_BANK0, gpioHandleInterrupt).Enable() + irqSet(rp.IRQ_IO_IRQ_BANK0, true) + return nil +} + +// gpioHandleInterrupt finds the corresponding pin for the interrupt. +// C SDK equivalent of gpio_irq_handler +func gpioHandleInterrupt(intr interrupt.Interrupt) { + + core := CurrentCore() + var gpio Pin + for gpio = 0; gpio < _NUMBANK0_GPIOS; gpio++ { + var base *irqCtrl + switch core { + case 0: + base = &ioBank0.proc0IRQctrl + case 1: + base = &ioBank0.proc1IRQctrl + } + + statreg := base.intS[gpio>>3].Get() + change := getIntChange(gpio, statreg) + if change != 0 { + gpio.acknowledgeInterrupt(change) + callback := pinCallbacks[core][gpio] + if callback != nil { + callback(gpio) + } + } + } +} + +// events returns the bit representation of the pin change for the rp2040. +func (change PinChange) events() uint32 { + return uint32(change) +} + +// intBit is the bit storage form of a PinChange for a given Pin +// in the IO_BANK0 interrupt registers (page 269 RP2040 Datasheet). +func (p Pin) ioIntBit(change PinChange) uint32 { + return change.events() << (4 * (p % 8)) +} + +// Acquire interrupt data from a INT status register. +func getIntChange(p Pin, status uint32) PinChange { + return PinChange(status>>(4*(p%8))) & 0xf +} diff --git a/src/machine/machine_rp2040_pins.go b/src/machine/machine_rp2_pins.go similarity index 85% rename from src/machine/machine_rp2040_pins.go rename to src/machine/machine_rp2_pins.go index 9abbdb002e..93f2d50a01 100644 --- a/src/machine/machine_rp2040_pins.go +++ b/src/machine/machine_rp2_pins.go @@ -1,4 +1,4 @@ -//go:build rp2040 || ae_rp2040 || badger2040 || challenger_rp2040 || feather_rp2040 || gopher_badge || kb2040 || macropad_rp2040 || nano_rp2040 || pico || qtpy_rp2040 || thingplus_rp2040 || thumby || tufty2040 || waveshare_rp2040_zero || xiao_rp2040 +//go:build rp2040 || rp2350 || ae_rp2040 || badger2040 || challenger_rp2040 || feather_rp2040 || gopher_badge || kb2040 || macropad_rp2040 || nano_rp2040 || pico || qtpy_rp2040 || thingplus_rp2040 || thumby || tufty2040 || waveshare_rp2040_zero || xiao_rp2040 package machine diff --git a/src/machine/machine_rp2040_sync.go b/src/machine/machine_rp2_sync.go similarity index 62% rename from src/machine/machine_rp2040_sync.go rename to src/machine/machine_rp2_sync.go index 4c9b443237..5019552afd 100644 --- a/src/machine/machine_rp2040_sync.go +++ b/src/machine/machine_rp2_sync.go @@ -1,24 +1,11 @@ -//go:build rp2040 +//go:build rp2040 || rp2350 package machine -import ( - "device/rp" -) - // machine_rp2040_sync.go contains interrupt and // lock primitives similar to those found in Pico SDK's // irq.c -const ( - // Number of spin locks available - _NUMSPINLOCKS = 32 - // Number of interrupt handlers available - _NUMIRQ = 32 - _PICO_SPINLOCK_ID_IRQ = 9 - _NUMBANK0_GPIOS = 30 -) - // Clears interrupt flag on a pin func (p Pin) acknowledgeInterrupt(change PinChange) { ioBank0.intR[p>>3].Set(p.ioIntBit(change)) @@ -50,23 +37,3 @@ func (p Pin) ctrlSetInterrupt(change PinChange, enabled bool, base *irqCtrl) { enReg.ClearBits(p.ioIntBit(change)) } } - -// Enable or disable a specific interrupt on the executing core. -// num is the interrupt number which must be in [0,31]. -func irqSet(num uint32, enabled bool) { - if num >= _NUMIRQ { - return - } - irqSetMask(1< Date: Thu, 12 Sep 2024 23:40:53 -0300 Subject: [PATCH 06/16] compiles for rp2350, serial=none --- src/machine/machine_rp2_2040.go | 103 ++++++++++++++++++ src/machine/machine_rp2_2350.go | 100 +++++++++++++++++ ...chine_rp2040_adc.go => machine_rp2_adc.go} | 2 +- src/machine/machine_rp2_clocks.go | 7 +- src/machine/machine_rp2_gpio.go | 88 +-------------- ...chine_rp2040_pll.go => machine_rp2_pll.go} | 2 +- src/machine/machine_rp2_watchdog.go | 8 -- src/machine/watchdog.go | 2 +- 8 files changed, 208 insertions(+), 104 deletions(-) rename src/machine/{machine_rp2040_adc.go => machine_rp2_adc.go} (99%) rename src/machine/{machine_rp2040_pll.go => machine_rp2_pll.go} (98%) diff --git a/src/machine/machine_rp2_2040.go b/src/machine/machine_rp2_2040.go index 747712d8e0..f42a23c7ee 100644 --- a/src/machine/machine_rp2_2040.go +++ b/src/machine/machine_rp2_2040.go @@ -20,6 +20,92 @@ const ( rp.RESETS_RESET_USBCTRL ) +const ( + PinOutput PinMode = iota + PinInput + PinInputPulldown + PinInputPullup + PinAnalog + PinUART + PinPWM + PinI2C + PinSPI + PinPIO0 + PinPIO1 +) + +// GPIO function selectors +const ( + fnJTAG pinFunc = 0 + fnSPI pinFunc = 1 // Connect one of the internal PL022 SPI peripherals to GPIO + fnUART pinFunc = 2 + fnI2C pinFunc = 3 + // Connect a PWM slice to GPIO. There are eight PWM slices, + // each with two outputchannels (A/B). The B pin can also be used as an input, + // for frequency and duty cyclemeasurement + fnPWM pinFunc = 4 + // Software control of GPIO, from the single-cycle IO (SIO) block. + // The SIO function (F5)must be selected for the processors to drive a GPIO, + // but the input is always connected,so software can check the state of GPIOs at any time. + fnSIO pinFunc = 5 + // Connect one of the programmable IO blocks (PIO) to GPIO. PIO can implement a widevariety of interfaces, + // and has its own internal pin mapping hardware, allowing flexibleplacement of digital interfaces on bank 0 GPIOs. + // The PIO function (F6, F7) must beselected for PIO to drive a GPIO, but the input is always connected, + // so the PIOs canalways see the state of all pins. + fnPIO0, fnPIO1 pinFunc = 6, 7 + // General purpose clock inputs/outputs. Can be routed to a number of internal clock domains onRP2040, + // e.g. Input: to provide a 1 Hz clock for the RTC, or can be connected to an internalfrequency counter. + // e.g. Output: optional integer divide + fnGPCK pinFunc = 8 + // USB power control signals to/from the internal USB controller + fnUSB pinFunc = 9 + fnNULL pinFunc = 0x1f + + fnXIP pinFunc = 0 +) + +// Configure configures the gpio pin as per mode. +func (p Pin) Configure(config PinConfig) { + if p == NoPin { + return + } + p.init() + mask := uint32(1) << p + switch config.Mode { + case PinOutput: + p.setFunc(fnSIO) + rp.SIO.GPIO_OE_SET.Set(mask) + case PinInput: + p.setFunc(fnSIO) + p.pulloff() + case PinInputPulldown: + p.setFunc(fnSIO) + p.pulldown() + case PinInputPullup: + p.setFunc(fnSIO) + p.pullup() + case PinAnalog: + p.setFunc(fnNULL) + p.pulloff() + case PinUART: + p.setFunc(fnUART) + case PinPWM: + p.setFunc(fnPWM) + case PinI2C: + // IO config according to 4.3.1.3 of rp2040 datasheet. + p.setFunc(fnI2C) + p.pullup() + p.setSchmitt(true) + p.setSlew(false) + case PinSPI: + p.setFunc(fnSPI) + case PinPIO0: + p.setFunc(fnPIO0) + case PinPIO1: + p.setFunc(fnPIO1) + } +} + var ( timer = (*timerType)(unsafe.Pointer(rp.TIMER)) ) @@ -43,3 +129,20 @@ func irqSetMask(mask uint32, enabled bool) { rp.PPB.NVIC_ICER.Set(mask) } } + +func (clks *clocksType) initRTC() { + // clkRTC = pllUSB (48MHz) / 1024 = 46875Hz + clkrtc := clks.clock(clkRTC) + clkrtc.configure(0, // No GLMUX + rp.CLOCKS_CLK_RTC_CTRL_AUXSRC_CLKSRC_PLL_USB, + 48*MHz, + 46875) +} + +// startTick starts the watchdog tick. +// cycles needs to be a divider that when applied to the xosc input, +// produces a 1MHz clock. So if the xosc frequency is 12MHz, +// this will need to be 12. +func (wd *watchdogImpl) startTick(cycles uint32) { + rp.WATCHDOG.TICK.Set(cycles | rp.WATCHDOG_TICK_ENABLE) +} diff --git a/src/machine/machine_rp2_2350.go b/src/machine/machine_rp2_2350.go index c5a0a9679a..e99809b088 100644 --- a/src/machine/machine_rp2_2350.go +++ b/src/machine/machine_rp2_2350.go @@ -8,6 +8,7 @@ import ( ) const ( + LED = GPIO25 _NUMBANK0_GPIOS = 48 _NUMBANK0_IRQS = 6 xoscFreq = 12 // Pico 2 Crystal oscillator Abracon ABM8-272-T3 frequency in MHz @@ -21,6 +22,96 @@ const ( rp.RESETS_RESET_USBCTRL ) +const ( + PinOutput PinMode = iota + PinInput + PinInputPulldown + PinInputPullup + PinAnalog + PinUART + PinPWM + PinI2C + PinSPI + PinPIO0 + PinPIO1 + PinPIO2 +) + +// GPIO function selectors +const ( + // Connect the high-speed transmit peripheral (HSTX) to GPIO. + fnHSTX pinFunc = 0 + fnSPI pinFunc = 1 // Connect one of the internal PL022 SPI peripherals to GPIO + fnUARTctsrts pinFunc = 2 + fnI2C pinFunc = 3 + // Connect a PWM slice to GPIO. There are eight PWM slices, + // each with two outputchannels (A/B). The B pin can also be used as an input, + // for frequency and duty cyclemeasurement + fnPWM pinFunc = 4 + // Software control of GPIO, from the single-cycle IO (SIO) block. + // The SIO function (F5)must be selected for the processors to drive a GPIO, + // but the input is always connected,so software can check the state of GPIOs at any time. + fnSIO pinFunc = 5 + // Connect one of the programmable IO blocks (PIO) to GPIO. PIO can implement a widevariety of interfaces, + // and has its own internal pin mapping hardware, allowing flexibleplacement of digital interfaces on bank 0 GPIOs. + // The PIO function (F6, F7, F8) must beselected for PIO to drive a GPIO, but the input is always connected, + // so the PIOs canalways see the state of all pins. + fnPIO0, fnPIO1, fnPIO2 pinFunc = 6, 7, 8 + // General purpose clock outputs. Can drive a number of internal clocks (including PLL + // outputs) onto GPIOs, with optional integer divide. + fnGPCK pinFunc = 9 + // QSPI memory interface peripheral, used for execute-in-place from external QSPI flash or PSRAM memory devices. + fnQMI pinFunc = 9 + // USB power control signals to/from the internal USB controller. + fnUSB pinFunc = 10 + fnUART pinFunc = 11 + fnNULL pinFunc = 0x1f +) + +// Configure configures the gpio pin as per mode. +func (p Pin) Configure(config PinConfig) { + if p == NoPin { + return + } + p.init() + mask := uint32(1) << p + switch config.Mode { + case PinOutput: + p.setFunc(fnSIO) + rp.SIO.GPIO_OE_SET.Set(mask) + case PinInput: + p.setFunc(fnSIO) + p.pulloff() + case PinInputPulldown: + p.setFunc(fnSIO) + p.pulldown() + case PinInputPullup: + p.setFunc(fnSIO) + p.pullup() + case PinAnalog: + p.setFunc(fnNULL) + p.pulloff() + case PinUART: + p.setFunc(fnUART) + case PinPWM: + p.setFunc(fnPWM) + case PinI2C: + // IO config according to 4.3.1.3 of rp2040 datasheet. + p.setFunc(fnI2C) + p.pullup() + p.setSchmitt(true) + p.setSlew(false) + case PinSPI: + p.setFunc(fnSPI) + case PinPIO0: + p.setFunc(fnPIO0) + case PinPIO1: + p.setFunc(fnPIO1) + case PinPIO2: + p.setFunc(fnPIO2) + } +} + var ( timer = (*timerType)(unsafe.Pointer(rp.TIMER0)) ) @@ -37,3 +128,12 @@ func irqSet(num uint32, enabled bool) { func irqSetMask(mask uint32, enabled bool) { panic(notimpl) } + +func (clks *clocksType) initRTC() {} // No RTC on RP2350. + +// startTick starts the watchdog tick. +// On RP2040, the watchdog contained a tick generator used to generate a 1μs tick for the watchdog. This was also +// distributed to the system timer. On RP2350, the watchdog instead takes a tick input from the system-level ticks block. See Section 8.5. +func (wd *watchdogImpl) startTick(cycles uint32) { + rp.TICKS.WATCHDOG_CTRL.SetBits(1) +} diff --git a/src/machine/machine_rp2040_adc.go b/src/machine/machine_rp2_adc.go similarity index 99% rename from src/machine/machine_rp2040_adc.go rename to src/machine/machine_rp2_adc.go index 1f05684ebc..13504d719f 100644 --- a/src/machine/machine_rp2040_adc.go +++ b/src/machine/machine_rp2_adc.go @@ -1,4 +1,4 @@ -//go:build rp2040 +//go:build rp2040 || rp2350 package machine diff --git a/src/machine/machine_rp2_clocks.go b/src/machine/machine_rp2_clocks.go index 42e84e3ce5..6693c96496 100644 --- a/src/machine/machine_rp2_clocks.go +++ b/src/machine/machine_rp2_clocks.go @@ -235,12 +235,7 @@ func (clks *clocksType) init() { 48*MHz, 48*MHz) - // clkRTC = pllUSB (48MHz) / 1024 = 46875Hz - clkrtc := clks.clock(clkRTC) - clkrtc.configure(0, // No GLMUX - rp.CLOCKS_CLK_RTC_CTRL_AUXSRC_CLKSRC_PLL_USB, - 48*MHz, - 46875) + clks.initRTC() // clkPeri = clkSys. Used as reference clock for Peripherals. // No dividers so just select and enable. diff --git a/src/machine/machine_rp2_gpio.go b/src/machine/machine_rp2_gpio.go index 0621f793cf..4f3765845c 100644 --- a/src/machine/machine_rp2_gpio.go +++ b/src/machine/machine_rp2_gpio.go @@ -44,7 +44,7 @@ var ioBank0 = (*ioBank0Type)(unsafe.Pointer(rp.IO_BANK0)) type padsBank0Type struct { voltageSelect volatile.Register32 - io [30]volatile.Register32 + io [_NUMBANK0_GPIOS]volatile.Register32 } var padsBank0 = (*padsBank0Type)(unsafe.Pointer(rp.PADS_BANK0)) @@ -57,50 +57,6 @@ var padsBank0 = (*padsBank0Type)(unsafe.Pointer(rp.PADS_BANK0)) // the peripheral sees the logical OR of these GPIO inputs. type pinFunc uint8 -// GPIO function selectors -const ( - fnJTAG pinFunc = 0 - fnSPI pinFunc = 1 // Connect one of the internal PL022 SPI peripherals to GPIO - fnUART pinFunc = 2 - fnI2C pinFunc = 3 - // Connect a PWM slice to GPIO. There are eight PWM slices, - // each with two outputchannels (A/B). The B pin can also be used as an input, - // for frequency and duty cyclemeasurement - fnPWM pinFunc = 4 - // Software control of GPIO, from the single-cycle IO (SIO) block. - // The SIO function (F5)must be selected for the processors to drive a GPIO, - // but the input is always connected,so software can check the state of GPIOs at any time. - fnSIO pinFunc = 5 - // Connect one of the programmable IO blocks (PIO) to GPIO. PIO can implement a widevariety of interfaces, - // and has its own internal pin mapping hardware, allowing flexibleplacement of digital interfaces on bank 0 GPIOs. - // The PIO function (F6, F7) must beselected for PIO to drive a GPIO, but the input is always connected, - // so the PIOs canalways see the state of all pins. - fnPIO0, fnPIO1 pinFunc = 6, 7 - // General purpose clock inputs/outputs. Can be routed to a number of internal clock domains onRP2040, - // e.g. Input: to provide a 1 Hz clock for the RTC, or can be connected to an internalfrequency counter. - // e.g. Output: optional integer divide - fnGPCK pinFunc = 8 - // USB power control signals to/from the internal USB controller - fnUSB pinFunc = 9 - fnNULL pinFunc = 0x1f - - fnXIP pinFunc = 0 -) - -const ( - PinOutput PinMode = iota - PinInput - PinInputPulldown - PinInputPullup - PinAnalog - PinUART - PinPWM - PinI2C - PinSPI - PinPIO0 - PinPIO1 -) - func (p Pin) PortMaskSet() (*uint32, uint32) { return (*uint32)(unsafe.Pointer(&rp.SIO.GPIO_OUT_SET)), 1 << p } @@ -184,48 +140,6 @@ func (p Pin) init() { p.clr() } -// Configure configures the gpio pin as per mode. -func (p Pin) Configure(config PinConfig) { - if p == NoPin { - return - } - p.init() - mask := uint32(1) << p - switch config.Mode { - case PinOutput: - p.setFunc(fnSIO) - rp.SIO.GPIO_OE_SET.Set(mask) - case PinInput: - p.setFunc(fnSIO) - p.pulloff() - case PinInputPulldown: - p.setFunc(fnSIO) - p.pulldown() - case PinInputPullup: - p.setFunc(fnSIO) - p.pullup() - case PinAnalog: - p.setFunc(fnNULL) - p.pulloff() - case PinUART: - p.setFunc(fnUART) - case PinPWM: - p.setFunc(fnPWM) - case PinI2C: - // IO config according to 4.3.1.3 of rp2040 datasheet. - p.setFunc(fnI2C) - p.pullup() - p.setSchmitt(true) - p.setSlew(false) - case PinSPI: - p.setFunc(fnSPI) - case PinPIO0: - p.setFunc(fnPIO0) - case PinPIO1: - p.setFunc(fnPIO1) - } -} - // Set drives the pin high if value is true else drives it low. func (p Pin) Set(value bool) { if p == NoPin { diff --git a/src/machine/machine_rp2040_pll.go b/src/machine/machine_rp2_pll.go similarity index 98% rename from src/machine/machine_rp2040_pll.go rename to src/machine/machine_rp2_pll.go index d611f2924d..f409768ab3 100644 --- a/src/machine/machine_rp2040_pll.go +++ b/src/machine/machine_rp2_pll.go @@ -1,4 +1,4 @@ -//go:build rp2040 +//go:build rp2040 || rp2350 package machine diff --git a/src/machine/machine_rp2_watchdog.go b/src/machine/machine_rp2_watchdog.go index bb219fb696..f776c5ca4d 100644 --- a/src/machine/machine_rp2_watchdog.go +++ b/src/machine/machine_rp2_watchdog.go @@ -60,11 +60,3 @@ func (wd *watchdogImpl) Start() error { func (wd *watchdogImpl) Update() { rp.WATCHDOG.LOAD.Set(wd.loadValue) } - -// startTick starts the watchdog tick. -// cycles needs to be a divider that when applied to the xosc input, -// produces a 1MHz clock. So if the xosc frequency is 12MHz, -// this will need to be 12. -func (wd *watchdogImpl) startTick(cycles uint32) { - rp.WATCHDOG.TICK.Set(cycles | rp.WATCHDOG_TICK_ENABLE) -} diff --git a/src/machine/watchdog.go b/src/machine/watchdog.go index d1516350d7..d818a00860 100644 --- a/src/machine/watchdog.go +++ b/src/machine/watchdog.go @@ -1,4 +1,4 @@ -//go:build nrf52840 || nrf52833 || rp2040 || atsamd51 || atsame5x || stm32 +//go:build nrf52840 || nrf52833 || rp2040 || rp2350 || atsamd51 || atsame5x || stm32 package machine From f8cfff79fe3ccdeca379d6d9b287a2fa957668ef Mon Sep 17 00:00:00 2001 From: soypat Date: Fri, 13 Sep 2024 19:11:31 -0300 Subject: [PATCH 07/16] add UART --- src/machine/machine_rp2.go | 23 ++++++++++++++- src/machine/machine_rp2040_gpio.go | 28 ------------------- src/machine/machine_rp2_2350.go | 10 +++++++ ...ine_rp2040_uart.go => machine_rp2_uart.go} | 2 +- src/machine/uart.go | 2 +- 5 files changed, 34 insertions(+), 31 deletions(-) delete mode 100644 src/machine/machine_rp2040_gpio.go rename src/machine/{machine_rp2040_uart.go => machine_rp2_uart.go} (99%) diff --git a/src/machine/machine_rp2.go b/src/machine/machine_rp2.go index 3a354c813b..1d01866bd0 100644 --- a/src/machine/machine_rp2.go +++ b/src/machine/machine_rp2.go @@ -4,6 +4,7 @@ package machine import ( "device/rp" + "runtime/interrupt" "runtime/volatile" "unsafe" ) @@ -18,6 +19,26 @@ const ( _PICO_SPINLOCK_ID_IRQ = 9 ) +// UART on the RP2040 +var ( + UART0 = &_UART0 + _UART0 = UART{ + Buffer: NewRingBuffer(), + Bus: rp.UART0, + } + + UART1 = &_UART1 + _UART1 = UART{ + Buffer: NewRingBuffer(), + Bus: rp.UART1, + } +) + +func init() { + UART0.Interrupt = interrupt.New(rp.IRQ_UART0_IRQ, _UART0.handleInterrupt) + UART1.Interrupt = interrupt.New(rp.IRQ_UART1_IRQ, _UART1.handleInterrupt) +} + //go:linkname machineInit runtime.machineInit func machineInit() { // Reset all peripherals to put system into a known state, @@ -96,7 +117,7 @@ const ( ) // DMA channels usable on the RP2040. -var dmaChannels = (*[12]dmaChannel)(unsafe.Pointer(rp.DMA)) +var dmaChannels = (*[12 + 4*rp2350ExtraReg]dmaChannel)(unsafe.Pointer(rp.DMA)) //go:inline func boolToBit(a bool) uint32 { diff --git a/src/machine/machine_rp2040_gpio.go b/src/machine/machine_rp2040_gpio.go deleted file mode 100644 index afcc39331a..0000000000 --- a/src/machine/machine_rp2040_gpio.go +++ /dev/null @@ -1,28 +0,0 @@ -//go:build rp2040 - -package machine - -import ( - "device/rp" - "runtime/interrupt" -) - -// UART on the RP2040 -var ( - UART0 = &_UART0 - _UART0 = UART{ - Buffer: NewRingBuffer(), - Bus: rp.UART0, - } - - UART1 = &_UART1 - _UART1 = UART{ - Buffer: NewRingBuffer(), - Bus: rp.UART1, - } -) - -func init() { - UART0.Interrupt = interrupt.New(rp.IRQ_UART0_IRQ, _UART0.handleInterrupt) - UART1.Interrupt = interrupt.New(rp.IRQ_UART1_IRQ, _UART1.handleInterrupt) -} diff --git a/src/machine/machine_rp2_2350.go b/src/machine/machine_rp2_2350.go index e99809b088..adb75f0090 100644 --- a/src/machine/machine_rp2_2350.go +++ b/src/machine/machine_rp2_2350.go @@ -22,6 +22,16 @@ const ( rp.RESETS_RESET_USBCTRL ) +// UART pins +const ( + UART0_TX_PIN = GPIO0 + UART0_RX_PIN = GPIO1 + UART1_TX_PIN = GPIO8 + UART1_RX_PIN = GPIO9 + UART_TX_PIN = UART0_TX_PIN + UART_RX_PIN = UART0_RX_PIN +) + const ( PinOutput PinMode = iota PinInput diff --git a/src/machine/machine_rp2040_uart.go b/src/machine/machine_rp2_uart.go similarity index 99% rename from src/machine/machine_rp2040_uart.go rename to src/machine/machine_rp2_uart.go index b0b0398772..13cb62bff4 100644 --- a/src/machine/machine_rp2040_uart.go +++ b/src/machine/machine_rp2_uart.go @@ -1,4 +1,4 @@ -//go:build rp2040 +//go:build rp2040 || rp2350 package machine diff --git a/src/machine/uart.go b/src/machine/uart.go index eeeb7d6a0b..32462587b1 100644 --- a/src/machine/uart.go +++ b/src/machine/uart.go @@ -1,4 +1,4 @@ -//go:build atmega || esp || nrf || sam || sifive || stm32 || k210 || nxp || rp2040 +//go:build atmega || esp || nrf || sam || sifive || stm32 || k210 || nxp || rp2040 || rp2350 package machine From 3e98d9ae92a470596fcc69b9fd693ebddc8f45d4 Mon Sep 17 00:00:00 2001 From: soypat Date: Fri, 13 Sep 2024 20:36:06 -0300 Subject: [PATCH 08/16] add assembly and link; compile error remaining --- blinky1.elf | Bin 368220 -> 488368 bytes targets/rp2350.json | 2 +- targets/rp2350_boot2_generic03h.s | 35 ++++++++++-------------------- 3 files changed, 12 insertions(+), 25 deletions(-) diff --git a/blinky1.elf b/blinky1.elf index 84f3c1de8ebbb1ac365423c6049a1d98fb4a9fe6..a1436a44ab6cb017c52c7767c17d53976f184b83 100755 GIT binary patch literal 488368 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�FaKcHncC;goK1l~GZH6<6&R!%uu!PUeOi9Pz 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 diff --git a/targets/rp2350.json b/targets/rp2350.json index 210f04b2ef..4876cca07b 100644 --- a/targets/rp2350.json +++ b/targets/rp2350.json @@ -10,7 +10,7 @@ "uf2-family-id": "0xe48bff59","comment":"See page 393 of RP2350 datasheet: RP2350 Arm Secure image (i.e. one intended to be booted directly by the bootrom)", "rp2040-boot-patch": true, "extra-files": [ - "src/device/rp/rp2040.s" + "targets/rp2350_boot2_generic03h.s" ], "linkerscript": "targets/rp2350.ld", "openocd-interface": "picoprobe", diff --git a/targets/rp2350_boot2_generic03h.s b/targets/rp2350_boot2_generic03h.s index a3e825c040..cdd27c6b3f 100644 --- a/targets/rp2350_boot2_generic03h.s +++ b/targets/rp2350_boot2_generic03h.s @@ -327,26 +327,13 @@ __pre_init_with_offset func, 0, priority_string1 // deassertion, or page boundary burst breaks. -#define INIT_M0_TIMING (\ - 1 << QMI_M0_TIMING_COOLDOWN_LSB |\ - PICO_FLASH_SPI_RXDELAY << QMI_M0_TIMING_RXDELAY_LSB |\ - PICO_FLASH_SPI_CLKDIV << QMI_M0_TIMING_CLKDIV_LSB |\ -0) +#define INIT_M0_TIMING (1 << QMI_M0_TIMING_COOLDOWN_LSB |PICO_FLASH_SPI_RXDELAY << QMI_M0_TIMING_RXDELAY_LSB |PICO_FLASH_SPI_CLKDIV << QMI_M0_TIMING_CLKDIV_LSB |0) // Set command constants -#define INIT_M0_RCMD (\ - CMD_READ << QMI_M0_RCMD_PREFIX_LSB |\ -0) +#define INIT_M0_RCMD (CMD_READ << QMI_M0_RCMD_PREFIX_LSB | 0) // Set read format to all-serial with a command prefix -#define INIT_M0_RFMT (\ - QMI_M0_RFMT_PREFIX_WIDTH_VALUE_S << QMI_M0_RFMT_PREFIX_WIDTH_LSB |\ - QMI_M0_RFMT_ADDR_WIDTH_VALUE_S << QMI_M0_RFMT_ADDR_WIDTH_LSB |\ - QMI_M0_RFMT_SUFFIX_WIDTH_VALUE_S << QMI_M0_RFMT_SUFFIX_WIDTH_LSB |\ - QMI_M0_RFMT_DUMMY_WIDTH_VALUE_S << QMI_M0_RFMT_DUMMY_WIDTH_LSB |\ - QMI_M0_RFMT_DATA_WIDTH_VALUE_S << QMI_M0_RFMT_DATA_WIDTH_LSB |\ - QMI_M0_RFMT_PREFIX_LEN_VALUE_8 << QMI_M0_RFMT_PREFIX_LEN_LSB |\ -0) +#define INIT_M0_RFMT ((QMI_M0_RFMT_PREFIX_WIDTH_VALUE_S << QMI_M0_RFMT_PREFIX_WIDTH_LSB) | (QMI_M0_RFMT_ADDR_WIDTH_VALUE_S << QMI_M0_RFMT_ADDR_WIDTH_LSB) | (QMI_M0_RFMT_SUFFIX_WIDTH_VALUE_S << QMI_M0_RFMT_SUFFIX_WIDTH_LSB) | (QMI_M0_RFMT_DUMMY_WIDTH_VALUE_S << QMI_M0_RFMT_DUMMY_WIDTH_LSB) | (QMI_M0_RFMT_DATA_WIDTH_VALUE_S << QMI_M0_RFMT_DATA_WIDTH_LSB) | (QMI_M0_RFMT_PREFIX_LEN_VALUE_8 << QMI_M0_RFMT_PREFIX_LEN_LSB) | 0) // ---------------------------------------------------------------------------- // Start of 2nd Stage Boot Code @@ -358,7 +345,7 @@ pico_default_asm_setup // On RP2350 boot stage2 is always called as a regular function, and should return normally regular_func _stage2_boot -#ifdef __riscv +.ifdef __riscv mv t0, ra li a3, XIP_QMI_BASE li a0, INIT_M0_TIMING @@ -367,7 +354,7 @@ regular_func _stage2_boot sw a0, QMI_M0_RCMD_OFFSET(a3) li a0, INIT_M0_RFMT sw a0, QMI_M0_RFMT_OFFSET(a3) -#else +.else push {lr} ldr r3, =XIP_QMI_BASE ldr r0, =INIT_M0_TIMING @@ -376,18 +363,18 @@ regular_func _stage2_boot str r0, [r3, #QMI_M0_RCMD_OFFSET] ldr r0, =INIT_M0_RFMT str r0, [r3, #QMI_M0_RFMT_OFFSET] -#endif +.endif // Pull in standard exit routine // #include "boot2_helpers/exit_from_boot2.S" // https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/boot_stage2/asminclude/boot2_helpers/exit_from_boot2.S -#ifdef __riscv +.ifdef __riscv jr t0 -#else +.else pop {pc} -#endif +.endif -#ifndef __riscv +.ifndef __riscv .global literals literals: .ltorg -#endif \ No newline at end of file +.endif \ No newline at end of file From 2b9f0ad36b03e87197037b78a5ce99b782dbfc84 Mon Sep 17 00:00:00 2001 From: soypat Date: Fri, 13 Sep 2024 21:11:22 -0300 Subject: [PATCH 09/16] fix assembly extension, causing C preprocessor to not execute --- blinky1.elf | Bin 488368 -> 0 bytes targets/rp2350.json | 2 +- ..._generic03h.s => rp2350_boot2_generic03h.S} | 7 +++---- 3 files changed, 4 insertions(+), 5 deletions(-) delete mode 100755 blinky1.elf rename targets/{rp2350_boot2_generic03h.s => rp2350_boot2_generic03h.S} (95%) diff --git a/blinky1.elf b/blinky1.elf deleted file mode 100755 index a1436a44ab6cb017c52c7767c17d53976f184b83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 488368 zcmeFZ3w%`7)jqt>IeTVKhLf4eZJ1nu$puKbgm4dvG9)-mxG2|(3Nj%HOe7>B2?A<0 zAS$&MqoNIp7BB6Km$s=bYOB;(t+ie!h!!uc!CKK)YrMQoKp@|<&emn8bq2g}NXc zYSuIB(+3lu3DL-5I#H||@~N10zP2IogZIGtwxJ4Z8_In2=4eN6=fL*p6tAFoGp3(X zucKaP!C#<#3`X=G*gl5(80zVbDz*R}*!2tl(o{)hr@pNEQ%j{T8ITM}1|$QL0m*=5 zKr$d1kPJu$BmbF+iX zqOCDCdwXeX^iVWVzO1}(F3a8(RkP14SF*cub}blPmL645GC9b)X7#8!EhVXOXLkB( z)-|aoy;dO<46M$8J_b7d=YZw79wl2ZIod(KGU0(`pBK$2%Zw|>XPQ6Nx9hXDeY-B=L8avLxPs4~4sE}>FR(hWy0`n2-au`j zR^88-8p5mv7;`bEtz_9bjC}?@C&>0Nh57UkStsiIUQG|4eF@W9uqwcO3svTOA2uZI zcb}mE1IumvM`ypiUH1N0l-YIvQ`x+abuI2`-cNEFWN6>EHuWd$7S{EAk9w-2!KTX)) zdn6Pt3oi;^5cclt`o%||rZ%g&%RS%tkrl#-^<9-(u!5;!EglTBuF*ZNFdM7I z^MQx=IKz)*4$D_wW5J&NN=JUUXaCXC@1zgQEe(wd-x>;K{WipctROM|vUeT(Fz~n1 z%yjn3*vv)DSNevxEK3as!XF)3$n?^l{q_44V@}DOnMsN-XHF;{>di@3)zIRS#WP=L zdhX)Tp-@+@7Fu4ieCFMZ=PeI)hKxKOsw%0PS;N%fBf_Z;1%bF1@vAp0H)Y1z=)$-IG4yt~_c~jOAs_2??s8`Y zN0q$H#;}g7JBLTtM6c{*ql@Bf%oTAqa?4Z2;cn=s$64Wd@$-fbDyi&XW0d%`koFWC zeMNj(Ng#A_+04>sJR9!Rmv8F4XlPo=2v}%wmOUYq6D^M_V_C_%Qd}@ zFhyL^Tab}Go(&Hcu$|*!aBxo3pa zJA=8yvNOW&(5s^KM}G1=Krk$~3~t?GMa+sWe{NoL)DR9W=sh+|V#P=nwaJ z`K=3?cH5xR4zJ_ZMeN*wb643=H9S20>XBtkElq{*j?zfhqM5IGlR}rU>jP{TD^TK| z==^A~bXwTe)`fLEe&1y-revu@JOOQ}Kh>L_#PwmBiG$Npe69>5**VDJPM{U1#-G4? zJ9eag_Q8W6ed^oN@Q^;IrH19}aV>UJ<;yi!mM9%8_vK2Kqei!U>f2sFyFDB+SP-^b z8y;f$-gs$@jb`!m=*%c9(Bmw3P*kIm4kfzPv}av+_Z~dhye}~ls%H6~_{?fnFesi7 zbI-YK(qK-tLYQ&HGu`b-g^ox)z>v;PdR0)YpdpJpGZqnaszr7q>$; z@9XXULvQo`wtZOdxMuw2I1kerKYZLMQ=&7|-Qm2`a>}FSiSdMpFRBmI=cv)(G#1pO zu1KUP8+o&*w+%g=+uI%{-&?Sk|0niw>Pv|z*-Es2_N0&_)V1%sZA$ibmA5!O3VM(lo-Nd?a#c5_q3l`wbm~TOM#Ib8jd3S^j z`@N<_ld^xWD$(A~&mt^)X1!8RJKrZ|37eDxrNglc`pqo(VVRl}@4RzVMo0GOK*!%A zC9zQU`*Y7Q^$*9+Ah7cC|VTD$LBj`39XUns?CSzW;D2O%~*feW_SH}I_YY? z?eLozDL3)uhhM|^l=@2!{~;3ERMmOF$>NtBIW#AEh?e_?l9u<5Q{Oo{?;fXXC(A1y zvmx$}vBDv7wJ;&B6?)@aA+IbP(&0%T7Ixh}xRa!QyHiN7DP6aZEA5W%pI?|B8u@Tk z>wFYQyM15u;TT8F!%=-w^TgyKaqJwd<)N~~@oE@XnXVrnb+k6SeukO;W!X>XB*)Z} zU`JWj(U+%oj`t`9tfT0#hR;EV)dCjJI?Qg~Tb4DR1?T3BJ^aJ6?e!^#?~XKY`eB)F z&XSVTo6EYk9Zm1NBFIC#BMXXoG^O*lGQIJ(NC;6Bgxkh%FJbYX&RZhv(smb%f7;2q zGCsetEK>jXPPMh&dHp^1$cJLBW(guwKS z&=~ecD31-#59eY8IY-;7S^6XJ>j>{FzkJ@e=NE=Ao3baSx3KK1=J4IVf?4qh3uWoI zJsCRWIz8^XSr-re>ycISovrzSnsY8)o)vc7(G!Txj>z*k1;PYQ`?9%z~d3H2Amf-r1_w)FovO%%%{QFleoSPHQihZzZ zNX*C^UOFVI4KLKZv4=~wJEoR;qn?;Pa%$<|5f1~8<(^n!sVDl%Me2yc(pOhaI_Jz7 zA6{5`W^~D_ne+G^bWLH8S7MJGHzzg5u>ul;3s#Mq7mV#K4Ms=L+jEf~?Yt-uU2qx; z`l7?jv{pT;$BIhz=pgLGT0VO%`$&6u(=4_*#IBj;$;%%^>wFv5`5v4jY0qJhtZR2q z;*rcUp7U&dLU4P%7L3%p&8&In-ITJq!Dp@vMD%iYvySXa#=3p|-QU@3OA9j0kGF?uZ=wFE-@g77tN$@s%oo5rAMa}m-7NB1 zZ||N27HmOGmxYv2s9gyyyQ82On$^Ub?d^WK_d2tV&Qi`B7R}SL)f>v|bLv@kV%X8*yzTxH#~(}2ed|Fs+IdhJ z@$JshVNW;_=YUH)OVgdLq0G(^XNKAflRK0VYW}*Hmu+gtX|8#6tYb!QAoRKOg2X_e zIsc4v%3oGTxWX59cEP%{umILt{^czk|14xk+m!JiDXV#SG;K zk2_~176*on?8TME70L{@tJjoFi_ZvZA>P^^c+x%MoQZK)SiPgDQyIbY$GqGVEDm+$ z=XY4X;rS-=7KG>KO&GV?PdcgVx6#evjwewRKYG3lIyju|5+hS(hs zIj1Cc2VA9m1nV@;X-ro}I9mVV8WgW(`?78>NjR`(=|8e=DRCTN!+*GRNO;W=I!~~! zUw+;mrhGloOE)&Xy;_+&wzbq9y%sy-@p%1g*3Lpb`_gd#z{8nkKFrY6V{FX0xHHUd z&W;5ltRUf)?AVMPcSsqb{viZ<3%&H^o zQO+yG_>ak`4}5lVx91)L<=@g3+2anfvpFtB3-c7iJh3j;L+{ie z+aAbvZ&%A&W~*VGZ^A9JmzFS=wU6booxR;>oXpx!r#(m6%s^7kBBeRNHYIEdWnf0T zes`=roUJm}whyPhs~R3kn@898_j;K#C7u$=US5`!y(DLOaJehn9h#MUe(7C-r?B0}^4u&){m^=* zGuP(%I30BSxpRG3xnZMuK4kH~bQY{*BN74yRcqHZ&Q!zqt}DyBw`y(Gd+X|FzE@Sf zR=v>|_7<@OtwjksTW}|MOHuebT=Tx$+5RBQUl3Pt-uQKAZ}+1;F`PnO@sB>$o2i#r zxV(&YZ92+#Mk7(6#-l8l(Bf**TQKJ4hKKI0X-1r^U}(IzyY3jrE?aX{-%Dr6%a46{ zgylWZxOeTg67PXK^-*gVF2BpQ$lDRpkmcGat%L4CzkhV^+RCgCkL z&c3gP&eLoZk5do7JE8<9cP8x8Z@sVb{Yolv?IzC!2lnU%Ydy>Fc3t3|5Pm(RjT{`h zV%Ch!SFp!tWhh1}^)dTsel5!mW#zAq)kbE2ly#d+jXQ3vUc2H5?m)5} zH)^-tTGHK7Q=#3uCu32Gk~=bdPvD38*(=EY?$E^2xl5O1sku8#a>CQYT?d%rEjufa zA69pr#5tXHCQi-|)3wlDmYAcovaXaKt!!}4(IYh9bf%w&Yma#iMBYAvGJ02_EET)5 zGpt7f+4?z;%q|+nx`y^RBWm^|v-88*;YX06Q+kT<>|i5oZ%<~v>ml3BrvT3k-d4)S zIO6%6Sl5J}%AxDBx{tKseu3qu#(B61t7Bx(CVb}g=)>7qPdw;#=PNItTf{nxida{A z&$^*`$|pzEh?d>k{VMJi+QZMoH|}B3#@*w_rwh+hv~VD&9`~rd-S^@8h#D+ZMXJbnz0a-dUEgcB_8v@+*p#J*ttg^Z>}vZFE@NsXi(|IB}!0jQFf}WN`A!~p`qUV zRfp7;X6CpzVcB-QX!*5>E*?^H*p0qWbC#B`hgnA?D?w3}#Tfz8XSG#WQnXAaiA5#Jp$N_p#~C2FfL-_>D6*sd*&K8km@du~FfH(#GS2v-fqecJ9N z3(zCVXAB!VB;u+UgRI?gP}JoM=T{qbgV*E7nDIcoV#JfT$@Pj-h+x+5-Rc-6^-$W+Mk zlfB*FJ4q|5xBK_FH>Nmz@VjRy`i4A&d+)Y=`aFGperBj>Cg$g?lS(*0!!gHKp=D+! z+*EP0`>hjg`zdzDxOuj1-sdPQ!yUhh{qv=h&HL4|-tH$L$v3TeS42n7;e?&T+m9V_ zMx14?IW5rj-|NupXVbOJ^auG1#6kL2WXQ^hGqy64h^U<>@ocx{8g*)Dc_fszjZQA( zw2t#5KGgM`=)!epStJYilM`(&?Uipu(ttlWQ3Sjsk_r6oi7u!1%A!a*aOa6O;02LF z;MY%dIkZ>KHti3dXak;yoe1ZW6Yw9O6UhL6=0p+7OH4n%Inl+nS3;(r$4;~XpK1De z=tP&My)wh}({`c__>9P4w7u^{J@Dy~Jm7my6ah~&?>K3-^LW|_|AA?Bo%evK0$lU_7g?iwn&XQs+AyF zj4;PgV_Iy)NK!j;BME3zae}VxwI|pZZ#*!`9odGbu6eN`xVPx-UTW4wPvDw&!pe?c zoy^C+{StDbx3_oLn~)#itq)@%}d6H{+d0e!D+8N#~c|?x#&c2DN*GY7r#VBlA)OJ{z*T95Tq z(9@veaHQyD_pK+D+u0o_yPHq4d}n-9IjcU|-Ey1-H^|+fneA^V+4|h`R^57$yY$vo`kbWbt<}CjAR2r;z1)HCCEAVzAO8vN z{d`!5X1*V0oy~aDe#^R&k9O_5zHR9oUuPKyP{hhduPm1cUdKQ zMXnZCP;YVVJ^kzgJmZ{b+7%TgwCF*1OTym%vgt*MEeW{$^0XxG9Y2@K_smvWjh4XF zLEj$)yHRt<;~0$X-J@zNbEeNpiqU9$yZ>}_WTbg)LL5)E7M7$hj5g#EGgy+Cj7t+*QqmIZU%(P48lqV6bm(^W?H6RVW4F-^VI9bM>B@D0(-$|P=` zk-gYO+rxAp@c0X#pFDZR^pj(n9igIT7GfdXAG95_?i0qv&SUM+i+5+y{llFe<_n$I z=wdZ*s!(x<)2q<4xOuo|=I>z6Xzt!-oj#w!diDk8RaLXGLlL__vNy_Zcpu{lop^gK z8>MvYS$%l*^htET;)`Dydm{GJ*k5BOGyLHlGuSx)!-G38^T?uZf#<+w|mv#&)CxFQZb zr~Du~20cIAn?H<0{=B#Q2)@XQ$8gX7d`JncscWd)&{SPp6>MxOuUH$bySS=hbxqyI zRW)@LYpW`Q)wPY)l~oW;RSgXr>YFO4Jh-}{YW;?)+KSD=it^gpx~AZ&s^FT2s&W_w zn_}g)!N$4`4HZ@Wb_eOYFqJX3sJyX$6`J_Gyk}eSrrXDX z?^soNeXzU+JtL0(P!M;pZgp^7)w;Td&GqHA)fJ}&g=pAN+f==-Du|Bi8iM6b!PA1Z z)iuHTI&&Ps%BqH{)p*xdR8`kjR&5FjR}JO0YpNP+suB6X5;R?1-c(*=xjXF?re+XF zO${3=nyTw+gXI+!RgI0oi>vEu%Bi3d4Zl=4u)(Sgjh0{2vQG=<*EdvER5w-?oLXMJ z&aMe=j8)fE1vj93OkH*DnqbwYimG}u4y)=bDk?WLkR|3A@zt&wYjP5-DZgYhjjO3D z2=9$m4HuiyZvZ>1ksM|o*ki1&si|56Ha0YZrq!75s^D1*7B8}k;kc5@&stWxa?x2! zmM%Iw*i>g)Ehw$1t8b_yf@oGwVQNEdc}?{i>dTr@VNh9pF(u%t&B05mkgBz7YwI@F z24m$7mBH2J8)}+@8>^dQ0+v@+BKXFjRYqJ|CSNRXtUu%6!G*}Ny|_-i0!e2VI*rJe zWI!??8ITM}1|$QL0m*=5Kr$d1kPJu$BmqsJq7LxN7wv*)93Tq{Kj>2}6L~wgZE>ze(Bo`^{K1lbs6!sv=a~1X@;&CW+A={~Z z82Z<&@@+zL4n138g(P7=MaWuFzFp`oLLMYPAmeQznG^jhXbXso!>zuzyDA&y&Qs;zAx2vQyN*BV?8VKf@Jv8cFyIL6X0%q$9rVLcdPP zJE$Dvxku=qBtl0#J&@Ec&jURh`AG6Y#;zj?zJ5WnP+=KftNuokD8Gdy+TTiYHDh}q z$LNLfzD^SS zy-gDN@E#=f^8rct?Go}cA$x?>{jkqQ9+Jd-1|cb~Jd$Y&%O?pxQ>Y$1oJkUSGfR|5 zNMfFANTy?dC7FSJgk&c6SCU!S-$)L@J_<>3?-lYFLbeO}ypV^4d`HMGA&(2G54QZI z3Kp_mIRqumB|H zL5C#%eL|)R84xl{$e@sULgouOM#v%|Cka_BjI?e!F7`K1B~5B@*c*XCyD*yAW7^aog}>qo0JZF zMVD`s82L2idn$8`%48dtbyuF_CYo znt@=s%_L>q?l&2qDiZ-;WVdX=^f2N>w5#zTGVg#B{Z*QnG-YJVRko}#a6 zL!3N=HqSVi57Y6Le#zzo*c^h*7+_oHIIk2!CmyJN67+e%CTG{EedWz4r}?(aXQ~E5jW8^rGkPq8F0DZgZ=Zi7e^?OiH`BLHu_RkCKZGUuLvGbJ1 zOy`z?`UB7@PCM?Wpi^5jZse%#Cyw$U%I&dtL9emx1kZL%%W-xwzMLx|+gA){f=L5> z?S@Wm1y^P++WkC&y3i?gcC0<9qx`dT!1k}>j6m3qClz{|Y4=4A?LMADJ^38izum_n z)LCCu$Qk>-zV{|Lz`z&M(r(>`kZ*arPE=!n0s4V|^f2dx9@Cj$Kuv!5?qLl@Zf3}>bq z)5jP0slFIcKOObd=c(6evcbK)`JywZCG^jPj@uQpzaUBUhsQ#uK2PYE3B6h9 z4+yl+Rw+sC#p}#5gPN9D$^d6z7YF2*%l88S~==nmQCG?2UD}^2tdXvyM2_4V0%=otp zeW%b{h5mrh+l2m@(A$N6Na$}0y+`QBg|1^kP<|LBDPE!H3q2(CSwdeX^yNa23B5+> z+l79e(C-oYUZFoG^md^i6#5~dza#YbgwAo+qxf`^h%Z&>0iov!JzwaPgkB6uuUSHm z2z`mrmkGT_==DOULpb%fUFf@ozDMW}2)#|{PYL}Qp}#5gPN9Dw^e&;}tZa>k7Cc^A zLJtakjL?gOK3(V`p)V2oGNI$yqv@|+=-Y&jGqw5JDfCvMKOporp+6<`XM~PtkfuL8 zgEU_s2)#?_+$G|Nq*toY147RedcM#@LZ2n{WkO#r^d_Ni5_*f!cM5&4&>s+byU?E! z`kO-U6#8dE?-9Czjg;oo+|&_op3w72BA+G+y;$h8gdP!kROppL-z4M z(Dw-a0im}E{V}1p3;lVa$A#W0^ml~bCG^jP?!(?s<4Gln_=|)-N$5+2z6_FHl|qjR zeY?=F6FMF*n)m6}9jw)6T&!+g)wufdrn+&n>MAy@tEz2k9M{-TF|KLNxTfmb&1>pR zt+MLk>WZpy!Rc%^VxS0L3w)NF@tfHp8c1`f&s)okuy4v9Q;==KT6N34% zrl$JF)5eWkQ{5EXu&S`4Zk_08Y+b{eaWyp;uNzz6Pq{VMJ6-DpmL=dpZR$Iv(XJ;rnL zW?WNw<684$Wn)u$#oCqst~^<>Q;-c!OAxckgbxFzM>MKkyRo{dBDSP%aYd}Ea)V9g za9Ghpn^Ud&+)RN1$J35}gYx>m%Ck^Ok96oeF67~vWUJsSDOL~k4cTtkP}@|Ege`Ae zw-U+tZ zsx^&_Mo$Z71XVSzt*$rAR|=zb*u_kfD_~MdCY2l3t=qh^p{l&nEWZlnF)FX9t6g2a zW2xmRC2CJF~mZX5BNWyN~K90;`P~uvz&ADj%cDnriHoTP^-+k-BcEamO(k|E-2<%?*&}?lrX-=U@m+o!5+o|L@7h+ zF;^o#UaWvRhg4lzF#KL9^T;PlaFcNV2R_sX@G;1s4EhPaEmxDZ=G)MkGkmp$_|K{62+YkKj;8B2Cp(`$dppxQuL z@!28JAED)~DGT<2YD?k2M9FcgE4!Lpeu|IE??Ih&9gqV*?64+v{vD)V4%M90v$1B8 z0NNTg8^To#ilMcYb`8}i+ zPkD~u28@pnp?1y|D$OM5avq)qoQJQ@@KX2TV=e47ui6ec0UfIuDm6chYpn9LNK>6k zbjt7qJA7runP5^&dy-tZcZ0EE0n$zN8K@JmxGZ(h*)VCvTl2e(cTsgduyH#0sRBr> z1fU~M;!OaT5_k-NrYZ4bfExfjf5Jjer4lbzHmy;5fdC}OuVG{JtlZ4lZ*jLnJlo$8 znLLYu5zk*37`LsI6)W#TlawcKfr(=TdNGHSLVY=BLp>Xlp`{W9&hw!XquO9oT?h4v z4yb8nU}DO56e)FUBjHzOjDhJJTY_BRGsP#MYqwMW{!fb>rV7fYfT%9-=Hy9EjD~wZ(5L4 zJv51Od&muhgTI~(oJH8R3Q^Jm)bg$+)!`O-l508{KZvmua*|`JR~U@Z64id%1mlDW z_#!a`65O;twa0Ej8Aca?c;zC15o#{rjc~54(rEp-^g%QX`mG!LE7qzSGIVuv;*&^3 zvwR9mBv1Is7*l63kFHKlECoB%mpY9l#*pnMK8>T`3Y3Z^LXm%AiFm2ROPS6l0dba$ z7F;Pw#PI|ZMmLY&;PCxFIEge?HT}D$F3w4a&P-e+r^$ml;E+;d-CGx+>P^aNx^Qqd z(d5m_X&+MebudUdjmKr?*UVoyq}YYZiWNv_;E+;6Cl;YBoJGoMTTtV?7s*8V zs+_(Zs_Rv#H2caK=Dg`*PfEB6m0vu6)S!g32hGqb(UZacjCOnRSU}B2m11aP$zl>= z=6DqAz@<26Baw8MWss_tQC)t&oyOGVR8-hsf(GN-Jx%Mm<+2*l(#bm-dtuwX#$v*k9+sHu4&N?uQ`ME}dY1os+rdJuF7sqZ2fKwn^A3 zicZ-09rgp0js!&~Y%IZeO>fDHPS`kWnXt%Ebi&4^`NASs(Fq#|kyxgW(TYyk@Y)eA zR&>Hf2RxfjFHm&C1|7i6f+|HPZ2Se>m<8(;ov?AC9mhsRCv41^CoHZ|bizilPZWGd z(Fq&DHc@bcq7!yqFM84brW16%AqJ~`suOgjV?L=jDK=?RY(Fq&z$)ey}icZ-05G%?IBdX|x zjdMV=SrAin!p3rJ2WCNoq7ya_+JRjH$|U=uE{yH~vJ-UgpMygBG3HH|wVy*_k zk8_1i&^&h&8_qTQ-4L!nfuf(Ht!su(u)nRwTw4Oxgt=zv1YOtRgKYI_IziW;h6(*l zouKQ-aQHdu6BgY-DF2k13PE#Ld{c=j{A$*^ zQn?n-!$p8fE>sAb2PjT9KBiYd`~c^w1Xc0Ag$bisRhai8kZnSoc^uxa>itplo|Hpg z>r^Wj3ZdY}&+6284O1SrsyX50bD+>mUxtq@H(Qq?S0!U>pkvxodS{`MyD!FNgEmcE zo#-o&9RxW`rD*8o=!Th#r=3B8)~m*cc0cthC!F*UjFj~QVsbF!68JQOS+8=!R^Sb) zv3QZFXizy}%Wb1-Tn{qM7L6(=oJ7Y;rD=d${8Av}DPh#4a>7Xy$Y{d=BNsE;ur^Fj z8&pm>34g!9l#2%#4PwS4m;%%2VwDq4qHo8QjRTAfW_T)v(MFXM_J4#GGvAM8rEvca zETS7NY!qYXp~u5ow#Er3KL>?g`ayvBW8hvv2Mr_&|{ek-2*CT1@=37Z+i8MGf7JOGRjs~iz1ym)r zM2b@Ft0_ID#@Sb6&afgp1k7~q(=4~P_iIk^k=Wo%mHJ1@?&Sn23YHaWpBvTaS6lCxlbksL3djGT-=Cu3>UKHPeY4I@i zm(=5c`N(E|xVJHOke*nJ=7Si!IV9bH?r2gFvo>Qo3fafHp zK7waIzG3=@g!OT4!>f_fRGtNW(he|$e@rpLXJ?E_k&@0gz|;` zAdwB;4@#$^Ty*rmvlniM!!Jy>$_A(7#$(Taqoc21Kkw2o2CknJHaK>5A9vA6a6rWpbZY_kh*>Cstvb`X2co zu&8sG`uQnEBbe$*_@dPqJR~@!DA%@9Pd}w5pQ&e`Qj}-+qS8+?2KFCh>ZPX?O=SKD z?(IwU!9Cca#5H$tHIn;&n19op`}$Nc7rT!QejSTSY-K8Ue=)YP%v`FXKSPbuDq4t!TOmUtXr&^82t4Ze4E>_dh=h>3ODe)6 zP9@~%&(onSZ2?6ZatIS!(De!J%m#|OhT08CzhO+h1V!3_q5|v4s*P97F>9(dcFiqh zifR(8VV#0Sh(}LxFxooWYHg~Shnh7Z+TWEVnh@>JJn8S$;?KN4`XQpvxai{#*7&u# zE;ZfwVtA)pNujN9nWtNAm5}RPR=6*Uu=gpd*^Oe(i1tUP$sod|6^NMVQmS37nWu0q zs@P*Pi}wd;)^WwVg*yL!f1IgeXm?oiqCKvuzdR+r305j;J2i94wZCiXo2QtJWM--( z2+BikyOz{T7S9eKB%LLtB%DcHnQIZTQ(|koxw&Apjoc#iTdL^OTsPV= zG53(Pn`<{KDxEO3KiHE&X^D}XJf)XHrY3o)rl0yErs7X?zfhEA7m1m+g+))s7F=2A zc�FaKcHncC;goK1l~GZH6<6&R!%uu!PUeOi9Pz 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 iq~#uWf+ruGFy91C4^7f;H Date: Sat, 14 Sep 2024 12:34:40 -0300 Subject: [PATCH 10/16] begin adding UART initialization --- rp2350.elf | Bin 0 -> 397276 bytes src/machine/machine_rp2_uart.go | 2 +- targets/rp2350_boot2_generic03h.S | 226 +++++++++++++++++++----------- 3 files changed, 143 insertions(+), 85 deletions(-) create mode 100755 rp2350.elf diff --git a/rp2350.elf b/rp2350.elf new file mode 100755 index 0000000000000000000000000000000000000000..f7b190b496e81352ac0ba9d104a5208c7731e620 GIT binary patch literal 397276 zcmeFa4R}=5)dsrvnUmyXGO#8gK$HN(Hfqoa5u%0?bqFB@jDm`aiZwtei3W%e6csgM z)TpSasHjv^MT;$JP*iA9P^qG&ZBSZiOFyGV2|tmbC=sLFwa@G~8EJdJ-sk!5z2Cjh z9-na5+I#Kw^RBhmIWy>sNXQcrk;rocMSp)@ z#QqJlNZ2QNQG%~T#%8om>Cc68LPF@j`1zb3QsndyVg2W7JN(C%_+{3!QGP|tpAg;= z^B&K8Jg@)wRl$E)f9_{B<$CPMS8V>sQOjEdECLn*i-1MIB481)2v`Ix0u}*_fJML} zU=gqgSOhEr76FTZMZh9p5wHkY1S|p;0gHe|z#?D~un1TLECLn*i-1MIB481)2v`Ix z0u}*_fJML}U=gqgSOhEr76FTZMZh9p5wHkY1S|p;0gHe|z#?D~un1TLECLn*i-1MI zB481)2v`Ix0u}*_fJML}U=gqgSOhEr76FTZMZh9p5wHkY1S|p;0gHe|z#?D~un1TL zECLn*i-1MIB481)2v`Ix0u}*_fJML}U=gqgSOhEr76FTZMZh9p5wHkY1S|p;0gHe| zz#?D~un1TLECLn*i-1MIB481)2v`Ix0u}*_fJML}U=gqgSOhEr76FTZMZh9p5wHkY z1S|p;0gHe|z#?D~un1TLECLn*i-1MIB481)2v`Ix0u}*_fJML}U=gqgSOhEr76FTZ zMZh9p5wHkY1S|p;0gHe|z#?D~un1TLECLn*i-1MIB481)2v`Ix0u}*_fJML}U=gqg zSOhEr76FTZMZh9p5wHkY1S|p;0gHe|z#?D~un1TLECLn*i-1MIB481)2v`Ix0u}*_ zfJML}U=gqgSOhEr76FTZMZh9p5wHkY1S|p;0gHf-z{{CuWmH7lYs)gqBL2U<+H2=@ zZtZ*4g!a*5^0W!P^SpRSw4dDJJQ{e+ZH&H_Qk+_Rbg^g;t`i%A#bS_XPgs{-+%Q(O zPyDvBIBSF~6YcKW+OLx9MY~vg(ysOi`@TxAb&i=Ft^F#!e#2LD?tQJb{a!s@!CKDf z^cux$fz7uT-&@RMWB<_+*;reA^Xm6jPk(9kp_>o9bm*3^bNWSc#(%JWzo3i_TXuB$}^^IwpP zRrBiazVdarO(Nob*DIB6OEKsSe{C$CHBZqo^J?K!+L-LUOO+&PJ zcS4fZCI-FEevH~Z&dX@JK}^^^UOvzAV|F)PJ!DZBZraDDaIY)?d3YSG+R%2toA z2&_J;Y*g8})#8|xvOq;(oh)1AOXY6(ey9H1wk@S3S}}R`sLG31Cs!nozppTPYw|dz z5|f%BgJU@N@WEGJ*ZSvwJ#wwvCYlc)Y~IlLazb$=BHG(J+~RDmz+D}oak6aGQLFc7 zIh%I5kseLS<3(iDuH=YUGOEK3C6x>+&d7bOwK015;IB7m-C~2*H!di`gQW;-{mwYA z?7a%7u(PRptlq!NUaEfCEk3%Wck$})+P{fZH10oqW^hNOLbRVLWOl;VhKe~~4a~ib zk!r3;9XH{Ch%PP+kMlN6I8Yn)$_^j=@UV>q&HlK@ zrtOb=h|H%MTQaFR!cZS)5RuSsZp!d-85Q=J3Izet2#5;EHvt$5$*W zEZ9&|Hn`%1Yn}EV9QOoogB(IlQ&$Ho)B!OqST^|D;NU(V07V?f>G}46!}Aq`SKnFj zeo|*sYBOfl`13jjg~zQvukyw3_V1S`4_YlY=>O!1Z+B{|dTleWJ>lBH6)~&5wq9j4 z4jZj?j$19&i_yC(dNGQLU3#_tN|q~(dB&DY%CfHwW+(i}KWE&ij!3lnHPQb0w}SJb zyUVSO*{iSiDG+%X&STdnKG1z0jm%>%-{biR|_|g^oE3z`~D9)Q!xL>%J zWWK#Cx$w&?n06>vB!4+gE)kJC#zfoeYd5|qvd?Og+0pjbY7ZZL{QK&P+|~QO@@mDp zisH-0iS~^hQ%dx4eTRtrVV5Jgs%z)IvbwUCEBM>hhYv3J!R2~;wPSMepyI;^Z~ftm zow=1FtERfHF#P^Y6;FD>-9_@zDe92iFWUn$FgUO^!t#4Maw}!t-ksG8WcKGxF`cnp z^#OoZ9@4T}~Ru6%tu*?@CP5<0n@xE*$*+ixt1n+5;C%IrdQCU{ZS^ z>7&-9_Wn+fKH9=V9e>#sk}`MHej(pxDxvxE-CL@IO?s}rgU?!_#AYY5EPCv2Atp}J z`eokxJDteMm3NGBxW9?yl;+hH6Lvom2<{%|B=48Wzn^ljk_cghDLPxFT^T{8Z{@Ni# zL*elstSmhCebH}Ga*%O~>AoW=lW{tH@ZQ5Wv!1APrOxp;iS2>J0C$fR&iB!y!$Yr_ zYk2?^SVB@x+Q= z6^|4i+FCs}OQb|Szt`7R=C4i~mo$FkE_aX|B&FNz<+ttUz2U`yF6;H?EgX<4F zC89#tEMEzA9KWg%*cX-aLSTHqde};IYLo7Lba7O3hgA+P)S1%|Nm4^?G z{qCI(cgdf3E~pH@#Cp=2b~%C7dxCP>o)jmVQMe}{8}|pDt9XaM_4nZT;8|~Wvq(g zjU!4%@L6+2$>D=HcQSp>PfBHl*2Y(Vk^FIu9na^I{=m?*)^jYw` z9qkp7cFBNLS8n7pNG@{$kz3YSp}7;rxnGNDqT+qv9X>dv^LXZKa}!iT*5QK}bRIk2 zjT}3{8T5x;qO790SMl1hiTguBGVi#NQfH+qK8D8zoSnEoi?7YxB}tKlCGN@-icj<< zb9qeDiA%gl(vrlLdUXbm=~aK&<#`^D%xS+d8q{?;>hQtd>%|6rKD}w=zI{I&{_4}* z+Hf>iNWLz2qoVPU5JM|27WvCF^||+DSA?S%&r1?jJDiS}k2<@mqH}e|I1$;j%LyMo zc>fPqR0h}mZdXs4us>bMibqy+me1S9nZBmqygg1*j}NZuH+_%8S07HAs1Vt0Tf3@z zklXxRzeh*C!Sb?VP?=lyT5AVihurYnSlvf{ktBkpTubwVB~m>-?ddXEG3~3{Q)O9F zNx~pmb}WzZHPGQ>`QMigckJYNn=1Hy#g*vG`7>ruzcw;`>g?Hb zY9iBSL}t#NF|}sK+(=Eu)Y*}FbLP*TKBHT1+m4V3pC*Jjm;bW3w*SmWz4sdUXkQiq zi-1MIB481)2v`Ix0u}*_fJML}U=gqgSOhEr76FTZMZh9p5wHkY1S|p;0gHe|z#?D~ zun1TLECLn*i-1MIB481)2v`Ix0u}*_fJML}U=gqgSOhEr76FTZMZh9p5wHkY1S|p; z0gHe|z#?D~un1TLECLn*i-1MIB481)2v`Ix0u}*_fJML}U=gqgSOhEr76FTZMZh9p z5wHkY1S|p;0gHe|z#?D~un1TLECLn*i-1MIB481)2v`Ix0u}*_fJML}U=gqgSOhEr z76FTZMZh9p5wHkY1S|p;0gHe|z#?D~un1TLECLn*i-1MIB481)2v`Ix0u}*_fJML} zU=gqgSOhEr76FTZMZh9p5wHkY1S|p;0gHe|z#?D~un1TLECLn*i-1MIB481)2v`Ix z0u}*_fJML}U=gqgSOhEr76FTZMZh9p5wHkY1S|p;0gHe|z#?D~un1TLECLn*i-1MI zB481)2v`Ix0u}*_fJML}U=gqgSOhEr76FTZMZh9p5wHkY1S|p;0gHe|z#?D~un1TL zECLn*i-1MIB481)2v`Ix0u}*_fJML}U=gqgSOhEr76FTZMZh9p5wHkY1pfbyK$rtO z%r95CLN4qX>cM;{E@(~1^DguMYKznf0wWvtJQKPJ=qbhPmfpdcp@LQz9VCa@Yojqo6Rztq+T1jN8ah& z5vX@>Pq;1d)}%V`U#`=-U6vmfh}ryCy0r|)E21ou%{2H5=1+*@moi@v$2T#ranv#E z_1l=A#B^cL@ICT&=hi@-+odbp6=7`~viZy}WWGqt-WHR^+!~(KKKpviT$Zu1HbI0t zc#g5VN8aV!8Mwo(Pq;ntwxnCVy5z#1`OwjrB*Gf+cwaELiRUIBF^8Db8O8|D>9snh zJmxhfg+0A{WSt}6#}pn9|9d|wppTdOx{lxGVkG2hGQ?Rm}f8AO6+acpr7o0AH0Ht9$UZ%;)kv^3`Z~KVP>y zUF({8T>FD{9n9y&@l5))kNKQntUrR!V_w?;U&4I6-=)lNjGGUo#MVc6Oz*RF<|F=o zVr=W3+XJ_`wsXx?k(Qb7Vi& zYce%(`~rU9b>IJYYbM66(RexYWBzG9x=(06M>G5?7^DnHA>|eIwa|~Z(_!7fUGW=x2R~f$A@JkK9jF0-Y z!tg5%zsB%u4Zp?kO@`lL_-4Z&FnovM-9XG=kB|D5ZukttXBj@*@Og&MH++%dOAJ5B z@RJQ+Zg@V=`mY+pFEIRK!!I%Xa>F+mevRSR8h(@EHyeJN;kO&U#qh0$KVbL{!@I7D zmyi0DZukttXBnQ)<^C(r@O&=!UlR>K$?#={FE{)`!`B*qnc188Gfzd*BgGD z;kO&U#qh0$KVbL{!@JxZ^nUR4k?Sqp@EL~BGJLk-3k)AMe5v6l8h(o5%lN2YRfexN z^9v1MYxu>6Ut;*>hHo(ZD#JG#e!by08ot@^Er!>PO2^~sBgdmJ7B!!4dQzU@^9^5Q z_!7fc7{1EzNAbRlLFFZvtzh8E44K7ZDX*){Wq&YL@ZXwA%_HI=ik zojJ$n%4b|%Ieo^^sdHxyojzx7&5Q-JhMX_{`?X?v)zsNDBUjIuJFjxi?8wRaLrxwt zERtPOQ&TRBgM&z*C{jOjIzyz-Ot^M;>t z@+qgBmOE|Q^bz@|l}{T!B0qQ7h|^9!b@=q$(`KAHb$afMQw9rJ>y%8LTV6bMepSuo zB~xdYSIw9!beug+sLuH_W>r?qna5$x96hzF%AY*mOo~}PI0Kn=Wi9`!oBMwspbt*v z?3x*KXHTsfS~GRtmHt1M&#Rd_{mRS#7ef`xt@d+n%_Mf)2Sc9(`Q#jSFndj9&Gd>% zbIzY$F{6Aw@I02Ka{q-?mzq;qK)+Y&Rx`D_YjO-v>NifJpAYyM%)0VaruEtJKLmX4 z{Mj{?T((o^&AOaR@_%C~0>SB1XOEsgcP?+M^L0sd6{LPo2z;vM%$|A0tZIMm7)GH& z!xP)Am-+C#qRW`~|6>0844&YZ#9cy9Hu;iu$YK5fpNnqimEoH2XG+{)>>!z=zb z!o_tsbH*^=RUZb^vBFMOCGV}NRrCDO2N{I9`dTgG*UpX1y7B^j_GZM=`R_jfC%(II zFPl|e$#s3w+?t_PmD7e!n_pSQnVaV~x~Vg!POH3pepPwp)wAZ5|8GR?@*lhCW7M0` z&~S*QK1NUY7+vvz5dFozG$Gm;t?X&tpDQ>gv%nnQ($2Atey_j$TwYxkxVB!11kc5% z5Aw1xmkJT+_f|41P0(9-OfSv*EOX*TRuf|ro%f@-lWOSkFBuu>OALIWn#can40d9On#VayDy{)BJ0oBripW;OPGIDPO)j z(U9ky(xd2E*5i+h9$M3Rnm$wX^qkXr+``CcJI)Bv*8}X820_n~; zJ(t}r7ZA=AJv5|yC~Ss?ix;)Ff3kOn*2_E7|A<58NKFRV58$y!=)y>C8Hv#WkKwe?1WrRde^et4IHJnh>0iJ@np{pe*PqP4CdLBYk1BlU6B$v zo5%Q-)CnczYEs<5c>c53&D!e~=NhjIJxzA|k|YvdW^=A*;7Z!eTi^HkEKif&lAcKV z;pZ{08fk)>{Pt&3E zShK(6Qt4?rq)XW!m?1q)hhAW8{DE20({$+WDl>46^fVpHF=y^fVoMliPtmFjsn-4m}OWu9KdoL%Y~rU!qQWnhyQUKpt2uJxwPi zKQ6>e4j0^|o+i7?BqWla;7Zk>9=esDCX+U@QJ}fJ-oynxT)YD|r@Aw~I*K$vjN&mQ8h>?7jO7J{QcI%3Wq+he~i}YOB(`5HtP$XTz z&7@Xe7?`G@0}QL-Yc#O*+%lWcS*DNII8uq7#-> zJy%C-!lM1+^ef|tjlS${Z>~}n$e6FX-KoYlBzYV2}gbVm=oa8yZc_=7* z+>vZ%Nc7zIq!7b-I7PY%fvg@PtlP{6&i-T`lpIf3LFoFEqogMNtb|YF0frr|Hv8n0B>HSa{Ra4`!zIh>M6YMKIdIv$#;1*2{h{FNyi4xUq$|?3WBQfwIEy8@y`R>ORy(2FVW--0 zHJ$nj3(2eEd`b|ZH(00d%vFx7>6qhlosd^(CgwV>rekX7Iiar^On=2Z$JKOd4@N@P z#HsZ}s5f^SU#P}$HJv(43(b!cN)n;YCymg2$JKP|MOx_UIH42~dWKWrYr5KTHJ!Rp z3tbZ@6cVBB43;l+jpJ&%PX+IomwWQIl5U?jc@rIq(V;!udER6Nfk6RR(`mnFM!&pm zOmsZV*h@*?aY(o5^BjW;O~2uUfIh%xK#%9zF&6r~eR9`$UvHTZCpx|t$(b(cZT~lR zgsVtz`;WCxPTc0DlNc#~AA7-GPYJP*m%1VPhAYmO4F_lT65Yo5khzI*Tzd$yqK%*u$7qw|8#0cZuEJd6ayf zkqvb_8V>%2i-x!@%5>2~2j}||78wugK&3NSPnnjey>z-}MjtVg*fry4SQ-r(emQq> zF}2Ws`w=>Nbm{O*39Fo##=ajgWWVJlI{46k5PVlh_C(*=4E;f~Hs^mTmnFQrIhWl@ z42ZrzmXM#8XIP62$EBsGaMo#yarqb|`sh;>Dp{XtOeH7% zf%i=tizkGnCcST%euYsuN=Qc}@OWx>cVo@H^iZ7URN?4`lOX&4olC^P-Y2uL%UItN z`6M@XqwVn+EBq0pLi8QMhF&s;vj2m;U&emN_Tm3Y(d$pKe^m5o!msv( zLw1=(rs^$_&_~9O8RmGjIcA#U0CS9(qcX?iWN%&a3CEjbwi!Rk@Iwth%~r}4Nk^gq)J z>sjHClI@7T&Cl~&=>H3b{{8;>T!#_Ae|m|&4_9?z=kKM&7~b+aM{$61VXR%<7~^XF z9UvFQ4t24^ZLzuf7@~ha~s@U@9V}p%OtJWX4sg-cPJ7VZK;q=s3 z9C1=P{2{>+L&reM8F|D^ws6ilVkiq%oQfl6BK)z`5ktd8pRek>O1{{<9hCjpcn~#hdzOd^UyWA@> ze36st*I0=YyQmv)#?L-+`MnW@*s71luET*pI!xS_$ZOV+^2(vLad#9|Kw&9Rr`0~_Fd$|&;T zw?`;AF?MMiXmtEK48#%=_(G=YgakfyQ@_wFK6Sgj?{92285Nilc-Xxx5TI=&g{XC&~CL?1zRSMNafNuNpsR|ov7@IaYFO#bj| z89M8H5%G{V{&2US=_a(tV|fW|2srDG@NZbGlmbfwe#!%11e_g5h#W5*UFz(FuERim zAoZ}8crOl+qeN=29z6D8+}P0qPU>F3k>qKKxXkr3rYE>2C&qHBZfb%1+?Ydku3y`M zX>O_?-fGvm;Rr=TWA7XS-z7TBj+i=4_fUC*OG3?~mJm2SyxHo?P<`TJ22VZNfO7p$#a{|AW8k7;EEBO=ig7g@@ zh-pMR@|G^T?{R!8Ig>Bdbfo-d<_Hv zM~J10KI7P96G_I?0~jWmv7U|dCOE{>sCW%;o)C}dYwv$5gUfXpc#MXW8Kd@yt0FnBCtxR-p%KHuLRvmf9$@*}Q|p{MDdFT~!cFx~eHMqrUnAtU)e@t&6S zd)njq#v@pSqgtHg#A#?0u zjy=th%rR`%ry4%Z9DAAZbi?;Hd>`5Sd+l#uGoE3NN6Fq#g?apF!}l|OWE#G|?5)%6 z4lsHKn(>I?2N_<;-uGzz#~41#9FH|eep}?@#&3&!yt2)4u+ejZIi6_7bIg(7Hu>v@ znB!36Pp+9i*&O-plrJ~j=*ct3Q_TFS=6ITs%QwdnCjOt8`H^N_f#FX#_RcW!XPRTw zjE^#L7aIA|X1>TA$CzWWIgT~Q60>fcSvTGs&obksCSPY8{v6pmnXA{GAbW4uI8Thd zeRR(?$Mekm`DWcDbG*QeUnqO)ed=Ch^i4K;E;eyoV&pG1@>7hTmzm>F&AQ8te3_A- zYWQh}pKkba!_P45erD{=G;vlKy_H7(3Uj>D;9q6rW*NEJM$a5`tTujLW%SOKNn^R& z?9iWIF;KNuLY_Q|~ckI5>QsA=85iOAVP3 zOoE2YU~kAqf?qIhzJ{#e?vo9f9UR1M)gR3XUcwg>KA9Wb!C?7hUhp)S$PX5PEC`Nb z@&fH|H28Bq1^cok!6Zac8tlP7@S{mw{K0>4)HRwc3qCqch+0k71k*Wke_6foig_sG zDMo_RJDd~wJ)iZt4g&tXekjBN-rYlP+;oEI;V;pm3Bq|muQ)z-ZKj6`M8EqONqu5* zj(0VgG=!~h&|>ATCet=EtzX_&Ci?N|uYY^M4en!{E{t7$Y0sx=G7>zo(2Uml@%W<+ z1I92SFNZ?JIW%^y7?Or)d$0i_nXUFe8r6kCQ17 zNr4I>9^%DLwX4arCz$rb(oa2Kdp08+c7w}!FZsxdU><|+lWy=d#@#2q;KFAO84|G% zF7gIGKUE0*=RBl=mXW}*pa%^+QNyUg6a$wm;4drjpYvFpm`}%xiHBI^pLfdw&QBZEqj%UBf0XZor0@=Vn-|M_*)^uq{-pKs z%iGTXJg(8*=F;W7i;Qbqu-K(vFy=AW=pGh~sifu83>l^kr)lwtSsiSRhy`FA{4~uCRMwieWSX)ZRam(|S zEu-;VB0jmCE&|y=w{!jbqbn#2VXmZa;n^x$5BM6XKPqSqeGO}C=?#Fop5B6!8)*`9 zyorv-vd#26DBD6mpaz>nXfUIi7vO5UPr8~;JDnN*@`{=G8!t*Oap`UZD=3q9i|@5d zTUg8|J(~BFAwx9l7DI+G&BA4Dn zEP15&gzrN>odRnGG!q)4bPlSbNQ6%1O+1J@zI;Hsnoc_b*8}?YejBSw-r~}GKvmFU z*mSAv+OA-85le{pX@HpdFztjV>2v}{GiV=N&7^_ca(!1L^lR+MEV>^ivMGhX6z2=% zP%fVvd@`4=1D<)527!FaM=cjnD=>=E>43I~u16)7P+*o(R!TvT6R8E*PomXuXEN=< z=oCtYY#E&fcgpE&1XMw1!iOp<23bvi1$;Gh6#QL4XEEGO??m=sd`- zrDdr2^>ixIy^)^4=q74Ln43jtA7|j&M6Rm`rK{<*Ma<}zcNY`O*;{?9lWP^Dq-vahvHMbzEAD)C#%- zP`NY)Dex#T#pn#tG6;leD)33CD7IAweG6DKDFek3p_k!c7M+bU$fn`QXAaGWvRumT zVXWoRXps4|4S^THq_Cr$BqNjV zsIGpP;i#WNXQrbz!|#Zr9)->SYQ&2MuNP5Jt=CNstw^ z=4@l4ib|lYnnnY@8X6A03uq%`7t*V!m0EfLp4Cw$s-vDRN8%ULECj!V8ew=ToixiB zUPhx}VmUqkxEXDrkATh!8VT8z^aQM}qSug%MmmgKtf31L#ah|}4eROGShkVY!-q|D z0n)vhHe+-P{T_OoC>3pF8=Va&w^Iadc?b1}Kr<<9u@<@pIJD9PAi0-*hBIJ0O^4wF zbSq>#Xb3cPs@bR#A=P?d;z~6K3q7g$>o~DJ9g?aA-83xKiSQ|1s&dp-hE$g#f=sDW zB4%wwst4dfmQ*$HFD%E9$M*l>PG2PIUq*{l(O_u6<)X@}<1+bP$^;hJpT&gD!ONCSik^U;F z#-W0$852}UjZ`^EYBTWXJ~|T^av!}1{&OGw0&#I4Jsy~F zAN>rzaUZ=9Ck^hSTh2Byavwbn`QkpBhO-Ix(T`!5`)DS~Iken5<6 zj=CBClsn3O!o*nNs0rs8y2??N$X&Igno(mlj#>xb7C0&j3>P}86m+el7Ghu2Ichm# ztansB#uq#4cTX8xOW03fzSL1mA+yX;SE4;FcT`;uBj4bt8xhwENBs)@+WsJ*~p3;Tw>(B!Bau-~`w z(+KAnJ=+~M9~kc7c!689qh5i}Esk0RTdj_|8#S=kQGMV~yQAj7&jXGMOgH*F9JL0q zbULaQHP2tp>42YZK!uTCFQAH1C!v742H1uJ>KMqR2h^Py&j_fk$Wdk>cAn=asD-E% zp_QDBI=%58ldh)I?q){6yoZ>0=N7&cwgP}j%YyfbA7DkLBzQF`&J<{JJ^3{iE z5d^}dAH9nirFQ^j25rK!OnLyIM(A$rnJf`{hkNKPY+n9Cx|&W~%#40{4>GZZRq5v% z@5c&3+mU?!nU*`bcsJ_BE2OLGw0E)ieJ0*zx$?fu$e(mK|>}DMp;GZ=g4#x-GKtm7NM=2wX!t!@0ZfmbXp}desFV{n8J|h z4~z zAGJqgAP}PE03b}C4C@N@_J|=f=o3VpNh`Qqd<_x$FRn^gk#4 zr5<*BszXp0jTI`Nc{jr`C@Mn^t6yV zh*Y$ax*PuNCA9^5+DQc`8$S=Q4*=_aDd-#wUQH!7_5>Z)@$%^>+v}@e5BdRCxSwA!mx1s7*G>a`m)mQMpX{bs?9c~+{ z>ab6@4^^At+m4~?Xvj1VRks6&mZ9nf#MnAiH6s^$hpM~aXZuifaG1gQz)Q6V}5?G{TI3FMC>)USR-K4le5`W2Y<=wO@1teBkJS>ySo^UO!;PN0IGOs7)h@&VDK)U7Sq)Cu${np!ih%95U{wae6*gD=}XCsoHZb{E3sP|5W`BbtqcY zOOSV4)MN0?Yffu?&x11I=1oF8p>S_3p*P@=s=`_DZEk&IawD|EVjeoR7={v7}?nIl?w_bhPZBzQ* zt517vO5c3-=}?=}cVB%v+@|#HSD#LAQ~Lg^PiM3#eFN5~GuxED1MAa~Hl=UD`gB&C z()VC}I=fBjo3K8e)28%YSf9>qQ~EZnPv^BMeIM4R^V@v?{k~n$rtZc*ingiSut$p8 z)Sr-}k~Y-|+)CTjN!ZI1+tdi)HmObh7krr9rrrVOQ#h8M#%@`g+6kHRHnkG_tD;SP z2wPQc>Ph6Kx=kHG-PXkUyr503LtYlf#{CQG+BT){3HveDx2Y#UFK$y~&oSdm+LT*k z=%sDyVw|&wboZc|g?TT`3T-=y>7+SaD}qZe&&Q}4pJ9c?NHJ~wmT z;b%*mx(7LJjq_n|n|c7_?QN&0ArTf&t z;|(V3W8<-N?mm?PJh$vq`iC%m+?w{OKqWBTryfMjZ{MeW1N}Spsb3)8=6&jG#L}`) zB?JG~eQFT&@7S@&5fqiNW`clU}wHkHa8T0de?Z0Tx(m%7}`{wdb*&VCz z_?s&!S7h}9z9F8=%0{GNNcyp+>$$gpU_^6KTt8$%($|@-=Q!OXAyG_q+(sO-L2hEzh0z0ckbK6mmt(tol zp6%6KCi2j(x#7se0nIH(4RvU4>pdo$oy_^3`8`Rb@!V#_=V|U^?9C8!zU2Md&#<1$ zg1rXJ`7x}}bIEra3mY-_xF4UMTMe(ny_nkz3+c@H7Jj8AGxS_DqHP&q=KNY}WiBfX zIXZwjzj`|KTso|GV(wL~Qw-#}J8lMuT*5A^SEA?C$`)IA^9zh3M4@n=h zje4#*-9)=tb8ldeZqeLGLQx^0F{-cxw)w8Y|UMOy^^E3eAvs?+_0|wuDKo1lCQZx1Hl63{QUh% z=P#<~s^Lq6=0?EJ6`EUz8eFNlk+85zb7R0YYHlq$;u_8ELZ;Vh?lbtZo;lyT-|si- zxmD<}xqPcX>%ZVvON3D?$w(_|aU4o_h{C5<|_p*n5BGvPK~f>oFIrc|G?a_R(g|wIZS|np=r8 zQzC4gu33Vxy!({Yi>9y`GDr$ zME*K7Hyx6l%*EXrt?d!_sb)bOT@^>WarD|aIuxV*d#q&?$1II!+{U;i&2jXCxD^}u z(YLNoR}aL|xp8!Lj6P0(*6T(BCJz4t*`heH^>K7|9Gw|QFNvc|W3(T}mXx@OhB!JL zN0-GdSl&Z~Dj8h=1I6d0tLadH9n>F>$wujFI;|Ho`sHOZ@f253@+6n8Kt%}JjAXe~ zj9T#MI&9<+oyF_?{u!px*wE?p6?SC?J%+N(q*d4-5vs!G$f7S%N7-~1H001LkmZ}q zIEm-cUvZwyr_WG~1(eE>_&!9b26~HVKB6e0E1;p2&WFDfMd*3n6&cx##!J%GblM9huzf0l`T+@SQw#(nYTK+r3I(xs_r1pKk_`Hb2}TF*M^YC5eIdiFDMh~d?@ z7H$9>g5H3`E?o*ZJh~qJKSam(>?rK{<*bD8n+x`c^8vsV38 z?{2(kI^b}r9I55Urh!a|79w3?5&AA&h-b9+*QKlJv=^X#Efas@?ya*iqSCk~=pwXY z4g;h|1rP{zKkydre&8*=`+>KN?g!pD8-L({eDfQntLe~Do)D*=!2Y}?T}`K*$&4Ru z2@_{>T9Ws=bRGJapelsu(nqYouSkyuAb%m+7wLkv6$0s0hs~5hcZ1BNkMA+E5t@jN zmqnlB9F|Qp5ONOx&Wn-FrMF59nMb>j<$SsiNi3kfFdU_u;Cc}a;rM)iODGA-N@*W7 zOr)J~XA)h3q)w)Xp?3I#KQwG#8atMSp{AHQjKIFW9GzU9jFD7^HJ!GP8U6A)m`G*={rP9lsW-e5wD%sP z)Ac)>f1&Ns?Z7spyWeF}Cwz@iCqm4kghrzwn+9BG$Q(KVy}8t*w;9c&c}P?~Wka@r zZb1=7=^hv^qVJ%g#P`Afz_(Og3^@2cMJB@F`xJd(gzr-?^C>h)bo9c zg!7G4e4io>bSH^WLcW3U9sWfprb7w$@~^`VVNBoU0jASNGvi}g%EalsYxKR;xQ=%d zO3Ny%$QaE|wY$_4sS$K8%)6A=v&*Sl;cAHP1ZZJe51jbXT)>(^%dnj?DHS^)LhnMB zAI-%U$)+8sRDN0&TRN9chv7V04rTeY6S4*L704*%qCASI6B$%dMk5e zqT7K%HjP4^= zkgTI76hJ+#g1?LDV{FtVGy?^?lv2hSf0t1)KwVBzlz0O*L)i*C0CFW=4%t<7bx)(A zk=7t@Yv>)2Yw2+yxt{)x(T(&V0@_49PBI!c)5XZ!7W%x-j5bk!2yCM#faG?%1%`Lf zPzW^B00h)R1sH9mi72kUG!rJ;X$5>ZKwrUH2Q7!*PIU?J75s!EVCSbWPePyKr!dcf z6@ChHDl*DXVeUe#{1oQdz>}ZCOl&Z5@l%*jBJB}=(hF9SY)3iDMs z%uitsL1*TtFt0&6_$kZ_W*hzd6y|LB6P0QT{N$%F{{Wr*6z1uOg`dKlgI&Q-Vg3fC z!%t!U1M>V7<~1lDehTvy)M}YjU!cDDDa<91;ioX?qcQSRm=#C^KZTiknemgK!h8vk z^HZ2rz;rPToW~Jw zgH(6J&lOUAhup1{Y65&%CDqMX+bGp_u)9X8cHpyCsuz&c^-`4~?;H8aTGZVpsoY;1 zKQ~Kt7VzI9RXWC-q`DVAZq`Czem5 z1oGP*H3s859JLlT)67pZ1FIIUJ&dU3bWmvar7cCJa(@B#kj3w-Es)Ypi;(@}ZI z1wZ+^9reslzCI5e_{rDj5EnoBx)eC`ldr!*ZS#|_TagQX^0gIuG6U*K$VUR|Wz
CtMqcUz>W}b$aX{^X{v`qRF6=H1sEdKs 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 z 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 literal 0 HcmV?d00001 diff --git a/src/machine/machine_rp2_uart.go b/src/machine/machine_rp2_uart.go index 13cb62bff4..c984d41424 100644 --- a/src/machine/machine_rp2_uart.go +++ b/src/machine/machine_rp2_uart.go @@ -39,7 +39,7 @@ func (uart *UART) Configure(config UARTConfig) error { settings := uint32(rp.UART0_UARTCR_UARTEN | rp.UART0_UARTCR_RXE | rp.UART0_UARTCR_TXE) - + const bits = rp.UART0_UARTCR_UARTEN | rp.UART0_UARTCR_TXE if config.RTS != 0 { settings |= rp.UART0_UARTCR_RTSEN } diff --git a/targets/rp2350_boot2_generic03h.S b/targets/rp2350_boot2_generic03h.S index 9c68524a6b..34b557a1bf 100644 --- a/targets/rp2350_boot2_generic03h.S +++ b/targets/rp2350_boot2_generic03h.S @@ -28,79 +28,29 @@ # setup to the pico_default_asm macro for inline assembly in C code. .macro pico_default_asm_setup #ifndef __riscv -.syntax unified -.cpu cortex-m33 -.fpu fpv5-sp-d16 -.thumb -.section .boot2, "ax" +.syntax unified // Selects Unified Assembly Language (UAL) syntax for assembler. Unifies ARM and thumb into single syntax. +.cpu cortex-m33 // Specify target CPU architecture. +.fpu fpv5-sp-d16 // Specify the type of FPU available on CPU. Supports SP (single precision) operations with 16 double precision registers. +.thumb // Assemble subsequent code with Thumb instruction set, the compact 16-bit encoding of the most frequently used 32-bit ARM instructions. +.section .boot2, "ax" // Defines a new section named .boot2 with attributes 'a': Allocatable-This section occupies space in memory image, and 'x': This section contains executable code. +// Code and data assembled after this point will be placed in .boot2 section. The Linker script can specify where this section should be located in memory, such as at a specific address. +// We need to ensure this code is placed at the very start of flash. See rp2350.ld, .boot2 is placed at 0x10000000 and has max length 256. +// The compiled code cannot exceed 256 bytes! +// One can check contents by compiling and using objdump to visualize the code: +// tinygo build -target=rp2350 -o=rp2350.elf -serial=none examples/blinky1 +// objdump -s -j .boot2 rp2350.elf #endif .endm -// do not put align in here as it is used mid function sometimes -.macro regular_func x -.global \x -.type \x,%function +.macro regular_func fnname +.global \fnname // Declares fnname as a global symbol. +.type \fnname,%function // Specifies fnname is a type of function. Helps tools understand fnname is executable code, not data. #ifndef __riscv -.thumb_func +.thumb_func // Indicate fnname is a thumb function. #endif -\x: +\fnname: // Mark point of entry for function. .endm -.macro weak_func x -.weak \x -.type \x,%function -#ifndef __riscv -.thumb_func -#endif -\x: -.endm - -.macro regular_func_with_section x -.section .text.\x -regular_func \x -.endm - -// do not put align in here as it is used mid function sometimes -.macro wrapper_func x -regular_func WRAPPER_FUNC_NAME(\x) -.endm - -.macro weak_wrapper_func x -weak_func WRAPPER_FUNC_NAME(\x) -.endm - -.macro __pre_init_with_offset func, offset, priority_string1 -.section .preinit_array.\priority_string1 -.p2align 2 -.word \func + \offset -.endm - -# backwards compatibility -.macro __pre_init func, priority_string1 -__pre_init_with_offset func, 0, priority_string1 -.endm - -#ifdef __riscv -// rd = (rs1 >> rs2[4:0]) & ~(-1 << nbits) -.macro h3.bextm rd rs1 rs2 nbits -.if (\nbits < 1) || (\nbits > 8) -.err -.endif - .insn r 0x0b, 0x4, (((\nbits - 1) & 0x7 ) << 1), \rd, \rs1, \rs2 -.endm - -// rd = (rs1 >> shamt) & ~(-1 << nbits) -.macro h3.bextmi rd rs1 shamt nbits -.if (\nbits < 1) || (\nbits > 8) -.err -.endif -.if (\shamt < 0) || (\shamt > 31) -.err -.endif - .insn i 0x0b, 0x4, \rd, \rs1, (\shamt & 0x1f) | (((\nbits - 1) & 0x7 ) << 6) -.endm -#endif - // #include "hardware/platform_defs.h" // https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/hardware_regs/include/hardware/platform_defs.h #ifndef _u @@ -336,6 +286,104 @@ __pre_init_with_offset func, 0, priority_string1 // Set read format to all-serial with a command prefix #define INIT_M0_RFMT ((QMI_M0_RFMT_PREFIX_WIDTH_VALUE_S << QMI_M0_RFMT_PREFIX_WIDTH_LSB) | (QMI_M0_RFMT_ADDR_WIDTH_VALUE_S << QMI_M0_RFMT_ADDR_WIDTH_LSB) | (QMI_M0_RFMT_SUFFIX_WIDTH_VALUE_S << QMI_M0_RFMT_SUFFIX_WIDTH_LSB) | (QMI_M0_RFMT_DUMMY_WIDTH_VALUE_S << QMI_M0_RFMT_DUMMY_WIDTH_LSB) | (QMI_M0_RFMT_DATA_WIDTH_VALUE_S << QMI_M0_RFMT_DATA_WIDTH_LSB) | (QMI_M0_RFMT_PREFIX_LEN_VALUE_8 << QMI_M0_RFMT_PREFIX_LEN_LSB) | 0) + +// load_r0 loads the register's value at address regaddr into R0 by stepping on r1 with the regaddr. +.macro load_r0 regaddr + ldr r1, =\regaddr // Load immediate value of regaddr with = pseudoinstr. May translate into several instructions depending on size of integer. + ldr r0, [r1] // Load memory at addr described by a register. +.endm + + +// fload_r0 loads the register's value at address regaddr into R0 and leaves rest of registers in same state. +.macro fload_r0 regaddr + push {r1} // Pushes contents of r1 onto stack. Stack grows downward in Cortex arch. + load_r0 regaddr + pop {r1} // Pops stack onto register r1. Braces can contain a range of addresses. +.endm + +// store_off_r3 is a helper that stores value into a register at address given by r3+off. Uses r0. +.macro store_off_r3 value, off + ldr r0, =\value // Store literal value we want to store at address r3+off into r0. + str r0, [r3, #\off] // Store value r0 into register at r3+off. +.endm + +// wait_bitclr checks value at address specified by register rx against bitmask until the AND between them yields 0. Steps on r0. +.macro wait_bitclr rx, bitmask +1: + tst \rx, #\bitmask // Perform bitwise AND between register and operand (register or immediate value) updating condition flags. Z flag set if AND yields zero. + bne 1b // Conditionally branch if Z flag set. BNE: Branch if Not Equal -> Will branch if Z set, so if r0&bitmask == 0. +.endm + +.macro uart_init + #define RESET_UART0 _u(0x4000000) + ldr r3, =RESETS_BASE + ldr r0, [r3] // Load value @r3 into r0. + orr r0, r0, #RESET_UART0 // Set reset bit for UART0. + str r0, [r3] // Storing the reset bit resets UART. + bic r0, r0, #RESET_UART0 // Unset the reset bit + str r0, [r3] // Clear the UART0 reset bit. + wait_bitclr r3, RESET_UART0 // Wait until peripheral is fully reset. + + // baud supported between ~200..6452000 + #define baud 115200 + #define div (8*125000000/baud) + #define ibrd _u(div>>7) + #define fbrd _u(((div&0x7f)+1)/2) + #define UART_IBRD_OFFSET _u(0x24) + #define UART_FBRD_OFFSET _u(0x28) + #define UART_LCRH_OFFSET _u(0x2C) + ldr r3, =UART0_BASE + // Start setting baud. + store_off_r3 ibrd, UART_IBRD_OFFSET + store_off_r3 fbrd, UART_FBRD_OFFSET + ldr r0, [r3, UART_LCRH_OFFSET] // Needs dummy write with contents in LCR. + str r0, [r3, UART_LCRH_OFFSET] // write back what we read. + #define uartenable (0x1) + #define uarttxenable (0x100) + #define UARTSETTINGS _u(uartenable|uarttxenable) + #define UART_CR_OFFSET _u(0x30) + ldr r0, [r3, UART_CR_OFFSET] + ldr r1, =UARTSETTINGS + orr r0, r0, r1 // Cannot use UARTSETTINGS as literal here, exceeds size of 255. + str r0, [r3, UART_CR_OFFSET] + // Configure pin 0 as UART (is Tx pin). + #define txpin 0 + #define pinmask (1< Date: Sat, 14 Sep 2024 13:19:27 -0300 Subject: [PATCH 11/16] extract pin_init into its own macro --- rp2350.elf | Bin 397276 -> 397256 bytes rp2350.uf2 | Bin 0 -> 6144 bytes targets/rp2350_boot2_generic03h.S | 86 +++++++++++++++++++----------- 3 files changed, 55 insertions(+), 31 deletions(-) create mode 100755 rp2350.uf2 diff --git a/rp2350.elf b/rp2350.elf index f7b190b496e81352ac0ba9d104a5208c7731e620..25e58fe5141593068d684cab3ed7466535b614fd 100755 GIT binary patch delta 1162 zcmXZbeMnSU6aesZ&VBQovKei}dX|%uletUeIJ1@+TUlAjsEvO})7j@s(4%~kX7g>!B!@qSR4kEqDrzVhp&Y%)mIGr9( zy8!?-0J#uC01FQ4)WRB-?a+M02~|}ijSCjle$j_6`LKuvtzSr+WNVHjmRWEK)DV>1hR)sL@<8f|yd>0pS(+ zK=tN}gOl(}R&h2SlJmN(9i;;Tqh)3BxV|!dBp#1M%OdeeJW2sTJmEel*e&}z ztwr+IAuFn?ezd$1S);7l)LjCgHh`os?)Mm{+Q!R1;|F$=-{cS3f7rr+sn@Zy@=X5q zOyk9%afJP9Rwhru1`|Lpn;+80)opDk19Y&zvwySMvmw(~vm4kX+t1!*$JzX1v#vg4 z3gA2!2G}R;%&?hQ&aPrR*)!~Q_J4Nv9J8*KO|e(mS8P^^o~Q2*1#X~Q3%iFs%wE#E zujmOIoNMy!Y&Sckbz4rU882m5vFq4PUzqXlwLy1df5a4am75KIVEeoJhAh=L4ONd;Ll9z@ zV3A7d(Hu&=A`$n>r9w|6h?YO(h6M4b+Xjih2(j^qGze$*d}k)#Z@%w4XJ#^I?wv9R zPnjJ)G(6pTuYX0nwPuqQkJg*@zC_H7M_Yb8%Bl^=D_LD*I38k08~dC48_m_$CrG#6 z0W+7U*VZ-p;6&;AQlhcAt;gW2k=!0rpWul_#J=_*^$9r9A3&}BlvbVOqFIX&&Y&T zVp5P#hXz9GMm#TmN4lni9*eC}v%caHW6 zSv4k+N7x#D!Tu%-ed^uRSmsN>4w0|O&!l&(?k^(OkUPje@;UjQEX>pE{!AEQ>=G63 zk{`**`Fi3^av>?mi)1hPoeYlC>o$=c%LzTFY;v5eb#UqP4Poi*jyD2nte89qC3r*^&3yl{%!yO diff --git a/rp2350.uf2 b/rp2350.uf2 new file mode 100755 index 0000000000000000000000000000000000000000..edc3413a65297724a1317bc71c024c7259b67451 GIT binary patch literal 6144 zcmeI0eQZ@8DW--!XW$3lhR%ZW%VCtg`tSlrM|1S_N%$BiT>OZlS>x~ zOB>F~spc(BAmA#9RH~_^Rw+VzeJz>*CF~RC@0lrhSWJT$%vRiR{b0q(yTP z&5?s_eWK|Wr`J^&aZ3y;IT1(r$daGOpUu5Ewib@$y2lu;f*lsWo@T!pv##OK6!|l= z_@5IiD);%g96Rny1OG@OIyIK1dc8HyPt5~x2nkLnb5H0(i8by@G$$xA)E*M!bVotH zei$RhTqI`3VkwcF33Y0`um%?gfuEXRin=G@_+epgk#@z>*hJ4?=*l~_3Qow)opj{p z=17jabV!ua1`}Nk94Bxeo^*gOi~j~Eb$JeFfk9pD`cD!ERGRj&``zC#VE^GEQ z$DWq%kVN>jL`xmH=SgVC-s+!8)UzEcu!Q7wvd0ybOZ+8vhKo6gSAo~Z-0Ut<~U zS8CO#l@Zf)yfiV>>uk6;>#zsZdqYR2be$}BsJJWqkvlIZ>09aC1kPQuqgG+G8;ZZ7 z$loxFKh^sD;f~KWy23|w8c>Pzh`3vsk6vW_La$W6Aspu|l0nV;W!Dai%kULGOu&;B z#PA?!7cK+(CCvh!jJnjv3LeZBJh*f1$BB-0&>Pf@mN`0a#c0ESkm9}lTXdzWY?pNV zX0Hz1PZpm{nZ09Mu+5aX!92E^^n$RfPSkoLLr1{1CQe+UHW;|R&%At;~zE;%_YSH_qbkkn$Pz z>VJ~%5L9go@ATS7`jr=XOZrFTK(jMPbfU3@t!0M=)YoX%9U`~?D;fS7as4x1)M+vL zcZO)BcdAss?<9%vy~M{UW*&02LDk8WVIGw)5AE^RjvP_`Kv!qiH&^G_j7einpL}N0 zZf54(MBngy_Jfp-5VuDMauQpH!~^NmVN0C$^<;w@u^AJLuwSfB12i_#^~vocNk&*6 z+EvG39s*`-LREt47g$R=z?gMnKGj^AW5%8}v2ki;x^jP#9N=}r_ts^H$pKPzL-98i z`I~0(H&&j^+In9dW#C?~d6Y36=GkAmT^ zSZ=KDHXG7$@?yc(cA0E(%=@&;Y&UPfjIAgwS|AKZ2M0fkilDiU(Rb4K7#*yW;J66S zprx`6&nokqE7OFOHWhOY`v4y>I(I2Mc_uBgWTkCW73R6D#4aDbH%jKcG-{i_UwX}J z8|lFq;9>16$Z}WnIg!`xEZ`Rf#&t2yjoKC-!@U2!`1vfrA#csuK5z91Eb2B}&`yeL z?=me$JIQDE=DTnmk$IT<_$8yp8d=O9tmyCMKKrsQP28~6PaO6dPnb*aBji<2wg$)@ zeLBaRbPysoP#*XqxsCu z({wZ~#j$&=V1Et^8we<7JXK3#Ody|O3hU5VaI3#20L~sSiE~3!$!dRf;MRs-FB9kg z$`9p|RSi{sPi57*u5xiX-WYYUyt_Oq&oi%R$!Ff4s_+{WLC9x5xxz^j|hVNracAF4emv!TrI$#OQMz5wW1c4|6`r;{a~&m5U{sbLvH`OIrm+vV}3 z5Yr2LFYbRPR^3qiEk*v8S^TLU`jFw5`rrj>2QQyG{d7$OC)5NP$C(t7N#A_wSiMoV z0dZh9U_O&#ImcSI&nZ=+yy9-7jt9EK&}$Nmy@tLe(rty&Zj{lssh1b{UQ-`kp$uho z)(ypkE;)>-_|q|Ce-HPWvAQp{)M=@Ne=%k)}lM0kSU;eNI1;>D}^@xQwxcF_$) zga{`>6hE6RQ#QiNgNx~XZxh}t#f^`e;E@XqwVl>S+FKtM9_noC*xt6ab%)T}vUO|w zHeqv{@YBw=mThgF!ZxL4tMF+1_RiL}FUP&#g!{V#_jV7KgV_EX)-=BKVg3K-f7bv# G|NjeOgTgof literal 0 HcmV?d00001 diff --git a/targets/rp2350_boot2_generic03h.S b/targets/rp2350_boot2_generic03h.S index 34b557a1bf..393390417f 100644 --- a/targets/rp2350_boot2_generic03h.S +++ b/targets/rp2350_boot2_generic03h.S @@ -314,7 +314,56 @@ bne 1b // Conditionally branch if Z flag set. BNE: Branch if Not Equal -> Will branch if Z set, so if r0&bitmask == 0. .endm -.macro uart_init +#define USESIO SIO_BASE +#define SIO_GPIOOUTSET_OFFSET _u(0x18) +#define SIO_GPIOOUTCLR_OFFSET _u(0x20) +#define pinfnSIO _u(1<<5) +#define pinfnUART _u(1<<2) +.macro pin_init pin, pinfn + #define pinmask (1<<\pin) + #define SIO_GPIOOECLR_OFFSET _u(0x40) + #define SIO_GPIOOESET_OFFSET _u(0x38) + #define pdtctrl_replace_bits _u(0x40|) + #define PADSBNK_IOPIN_OFFSET _u(4+4*\pin) + #define IOCTLREG _u(IO_BANK0_BASE+8*\pin+4) + #define padinputenablemsk _u(0x40) + #define padoutuptdisablemsk _u(0x80) + // First load in padbank io reg and replace bits in it. + ldr r3, =PADS_BANK0_BASE + ldr r0, [r3, PADSBNK_IOPIN_OFFSET] + bic r0, r0, (padinputenablemsk|padoutuptdisablemsk) // r0 &^= mask + orr r0, r0, padinputenablemsk + str r0, [r3, PADSBNK_IOPIN_OFFSET] + // Set the pin function in IO_BANK0. + ldr r3, =IOCTLREG + ldr r0, =\pinfn + str r0, [r3] + // Clear pinstate. + ldr r3, =USESIO + ldr r0, =pinmask + str r0, [r3, SIO_GPIOOECLR_OFFSET] // GPIO Output enable + str r0, [r3, SIO_GPIOOUTCLR_OFFSET] // Set pin to low. + .if \pinfn == pinfnSIO + str r0, [r3, SIO_GPIOOESET_OFFSET] // Assume pin is output: enable output. + .endif +.endm + +.macro pinout_init pin + pin_init \pin, pinfnSIO +.endm + +.macro pin_set pin, value + #define pinmsk _u(1<<\pin) + ldr r1, =pinmsk + ldr r0, =USESIO + .if \value == 0 + str r1, [r0, SIO_GPIOOUTCLR_OFFSET] + .else + str r1, [r0, SIO_GPIOOUTSET_OFFSET] + .endif +.endm + +.macro uart_init txpin #define RESET_UART0 _u(0x4000000) ldr r3, =RESETS_BASE ldr r0, [r3] // Load value @r3 into r0. @@ -347,34 +396,7 @@ orr r0, r0, r1 // Cannot use UARTSETTINGS as literal here, exceeds size of 255. str r0, [r3, UART_CR_OFFSET] // Configure pin 0 as UART (is Tx pin). - #define txpin 0 - #define pinmask (1< Date: Sat, 14 Sep 2024 13:19:51 -0300 Subject: [PATCH 12/16] remove binaries --- rp2350.elf | Bin 397256 -> 0 bytes rp2350.uf2 | Bin 6144 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100755 rp2350.elf delete mode 100755 rp2350.uf2 diff --git a/rp2350.elf b/rp2350.elf deleted file mode 100755 index 25e58fe5141593068d684cab3ed7466535b614fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 397256 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
TpBJ_uFnh15076hl4JQ%}MK(pigbQ+qiJ{NOG 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≥Iw2-gP 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 G|NjeOgTgof From 801f293aee0b2bbf6a69a8940e2865cb71c6b14e Mon Sep 17 00:00:00 2001 From: soypat Date: Sat, 14 Sep 2024 13:21:02 -0300 Subject: [PATCH 13/16] exclude .elf and .uf2 binaries in gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 42e6a21965..5efb185980 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,6 @@ test.nro test.uf2 test.wasm wasm.wasm + +*.uf2 +*.elf \ No newline at end of file From c341b1b29749333cd203620f28fd87f2beb492db Mon Sep 17 00:00:00 2001 From: soypat Date: Sun, 15 Sep 2024 00:01:57 -0300 Subject: [PATCH 14/16] work on adding IMAGE_DEF patching --- builder/build.go | 75 +++++++++++++++++++++++++++++++ targets/rp2350_boot2_generic03h.S | 4 +- 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/builder/build.go b/builder/build.go index 780dc8df49..18a3743ef1 100644 --- a/builder/build.go +++ b/builder/build.go @@ -1460,6 +1460,74 @@ func patchRP2040BootCRC(executable string) error { return replaceElfSection(executable, ".boot2", bytes) } +// RP2350 block patching. +func patchRP2350BootIMAGE_DEF(executable string) error { + const ( + picobinBlockMarkerStart = 0xffffded3 + picobinBlockMarkerEnd = 0xab123579 + picobinBlockItem1BSImageType = 3 + ) + bytes, _, err := getElfSectionData(executable, ".boot2") + if err != nil { + return err + } + type item struct { + head uint8 // [0:1]:size_flag(0 means 1 byte size, 1 means 2 byte size) [1:7]: item type. + s0mod uint8 // s0%256 + s0div uint8 // s0/256 if size_flag==1, or is type specific data for blocks that are never >256 words. + tpdata uint8 // Type specific data. + data []byte // item data. + } + type block struct { + items []item + } + makeIMAGE_DEF := func(imgType, exeSec, exeCPU, exeChip uint8, exeTBYB bool) item { + return item{ + head: 0x42, s0mod: 1, s0div: 0b111&imgType | (0b11 & exeSec << 4), + tpdata: 0b111&exeCPU | ((0b111 & exeChip) << 4) | b2u8(exeTBYB)<<7, + } + } + appendItem := func(dst []byte, it item) []byte { + dst = append(dst, it.head, it.s0mod, it.s0div, it.tpdata) + return append(dst, it.data...) + } + appendBlock := func(dst []byte, blk block) []byte { + dst = binary.LittleEndian.AppendUint32(dst, picobinBlockMarkerStart) + startSize := len(dst) + for _, item := range blk.items { + dst = appendItem(dst, item) + } + itemsSize := len(dst) - startSize + // Last item append: + dst = append(dst, + 0xff, // size_flag=1, item_type==blockItemLast + uint8((itemsSize/4)%256), + uint8((itemsSize/4)/256), + 0, // Pad. + ) + // Relative position in bytes to next block HEADER relative to this blocks HEADER. + // Use 0 to denote a loop to this same block. + dst = binary.LittleEndian.AppendUint32(dst, 0) + dst = binary.LittleEndian.AppendUint32(dst, picobinBlockMarkerEnd) // Footer. + return nil + } + boot2IMGDEF := makeIMAGE_DEF( + 1, // 1:Executable; 2: Data. + 2, // 0:Non-Secure; 1:Run in secure mode. + 0, // 0:ARM arch; 1:RISCV arch + 1, // 0:RP2040; 1:RP2350 + false, // true: Image is flagged for "Try Before You Buy" + ) + + if len(bytes) != 256 { + return fmt.Errorf("rp2040 .boot2 section must be exactly 256 bytes") + } + _ = appendBlock + _ = boot2IMGDEF + // Update the .boot2 section to included the CRC + return replaceElfSection(executable, ".boot2", bytes) +} + // lock may acquire a lock at the specified path. // It returns a function to release the lock. // If flock is not supported, it does nothing. @@ -1472,3 +1540,10 @@ func lock(path string) func() { return func() { flock.Close() } } + +func b2u8(b bool) uint8 { + if b { + return 1 + } + return 0 +} diff --git a/targets/rp2350_boot2_generic03h.S b/targets/rp2350_boot2_generic03h.S index 393390417f..70b861afc4 100644 --- a/targets/rp2350_boot2_generic03h.S +++ b/targets/rp2350_boot2_generic03h.S @@ -434,8 +434,8 @@ regular_func _stage2_boot push {lr} #define LED _u(25) #define txpin _u(0) - pinout_init LED - pin_set LED, 1 + // pinout_init LED + // pin_set LED, 1 ldr r3, =XIP_QMI_BASE // Note: STORE_OFF_R3 steps on r0. // Here we configure/initialize QMI. From f56a0c74faf9a618996060315b83267b4d4c7341 Mon Sep 17 00:00:00 2001 From: soypat Date: Sun, 22 Sep 2024 16:26:40 -0300 Subject: [PATCH 15/16] add rp2350 boot patching --- builder/build.go | 93 +++++++++----------------- builder/objcopy.go | 85 +++++++----------------- builder/uf2.go | 148 +++++------------------------------------- compileopts/target.go | 1 + go.mod | 1 + go.sum | 2 + 6 files changed, 79 insertions(+), 251 deletions(-) diff --git a/builder/build.go b/builder/build.go index 18a3743ef1..6b6ef04631 100644 --- a/builder/build.go +++ b/builder/build.go @@ -25,6 +25,7 @@ import ( "strings" "github.com/gofrs/flock" + "github.com/soypat/tinyboot/boot/picobin" "github.com/tinygo-org/tinygo/compileopts" "github.com/tinygo-org/tinygo/compiler" "github.com/tinygo-org/tinygo/goenv" @@ -804,6 +805,12 @@ func Build(pkgName, outpath, tmpdir string, config *compileopts.Config) (BuildRe return fmt.Errorf("could not modify stack sizes: %w", err) } } + + // Apply patches of bootloader in the order they appear. + if len(config.Target.BootPatches) > 0 { + err = applyPatches(result.Executable, config.Target.BootPatches) + } + if config.RP2040BootPatch() { // Patch the second stage bootloader CRC into the .boot2 section err = patchRP2040BootCRC(result.Executable) @@ -1422,6 +1429,23 @@ func printStacks(calculatedStacks []string, stackSizes map[string]functionStackS } } +func applyPatches(executable string, bootPatches []string) (err error) { + for _, patch := range bootPatches { + switch patch { + case "rp2040": + err = patchRP2040BootCRC(executable) + case "rp2350": + err = patchRP2350BootIMAGE_DEF(executable) + default: + err = errors.New("undefined boot patch name") + } + if err != nil { + return fmt.Errorf("apply boot patch %q: %w", patch, err) + } + } + return nil +} + // RP2040 second stage bootloader CRC32 calculation // // Spec: https://datasheets.raspberrypi.org/rp2040/rp2040-datasheet.pdf @@ -1433,7 +1457,7 @@ func patchRP2040BootCRC(executable string) error { } if len(bytes) != 256 { - return fmt.Errorf("rp2040 .boot2 section must be exactly 256 bytes") + return fmt.Errorf("rp2040 .boot2 section must be exactly 256 bytes, got %d", len(bytes)) } // From the 'official' RP2040 checksum script: @@ -1462,70 +1486,17 @@ func patchRP2040BootCRC(executable string) error { // RP2350 block patching. func patchRP2350BootIMAGE_DEF(executable string) error { - const ( - picobinBlockMarkerStart = 0xffffded3 - picobinBlockMarkerEnd = 0xab123579 - picobinBlockItem1BSImageType = 3 - ) - bytes, _, err := getElfSectionData(executable, ".boot2") + boot2, _, err := getElfSectionData(executable, ".boot2") if err != nil { return err } - type item struct { - head uint8 // [0:1]:size_flag(0 means 1 byte size, 1 means 2 byte size) [1:7]: item type. - s0mod uint8 // s0%256 - s0div uint8 // s0/256 if size_flag==1, or is type specific data for blocks that are never >256 words. - tpdata uint8 // Type specific data. - data []byte // item data. - } - type block struct { - items []item - } - makeIMAGE_DEF := func(imgType, exeSec, exeCPU, exeChip uint8, exeTBYB bool) item { - return item{ - head: 0x42, s0mod: 1, s0div: 0b111&imgType | (0b11 & exeSec << 4), - tpdata: 0b111&exeCPU | ((0b111 & exeChip) << 4) | b2u8(exeTBYB)<<7, - } - } - appendItem := func(dst []byte, it item) []byte { - dst = append(dst, it.head, it.s0mod, it.s0div, it.tpdata) - return append(dst, it.data...) - } - appendBlock := func(dst []byte, blk block) []byte { - dst = binary.LittleEndian.AppendUint32(dst, picobinBlockMarkerStart) - startSize := len(dst) - for _, item := range blk.items { - dst = appendItem(dst, item) - } - itemsSize := len(dst) - startSize - // Last item append: - dst = append(dst, - 0xff, // size_flag=1, item_type==blockItemLast - uint8((itemsSize/4)%256), - uint8((itemsSize/4)/256), - 0, // Pad. - ) - // Relative position in bytes to next block HEADER relative to this blocks HEADER. - // Use 0 to denote a loop to this same block. - dst = binary.LittleEndian.AppendUint32(dst, 0) - dst = binary.LittleEndian.AppendUint32(dst, picobinBlockMarkerEnd) // Footer. - return nil - } - boot2IMGDEF := makeIMAGE_DEF( - 1, // 1:Executable; 2: Data. - 2, // 0:Non-Secure; 1:Run in secure mode. - 0, // 0:ARM arch; 1:RISCV arch - 1, // 0:RP2040; 1:RP2350 - false, // true: Image is flagged for "Try Before You Buy" - ) - - if len(bytes) != 256 { - return fmt.Errorf("rp2040 .boot2 section must be exactly 256 bytes") - } - _ = appendBlock - _ = boot2IMGDEF + item0 := picobin.MakeImageDef(picobin.ImageTypeExecutable, picobin.ExeSecSecure, picobin.ExeCPUARM, picobin.ExeChipRP2350, false) + newBoot := make([]byte, 256) + newBoot, _, err = picobin.AppendBlockFromItems(newBoot[:0], []picobin.Item{item0.Item}, boot2, 0) + off := len(newBoot) + newBoot, _, err = picobin.AppendFinalBlock(newBoot, -off) // Update the .boot2 section to included the CRC - return replaceElfSection(executable, ".boot2", bytes) + return replaceElfSection(executable, ".boot2", newBoot) } // lock may acquire a lock at the specified path. diff --git a/builder/objcopy.go b/builder/objcopy.go index cf10547b4d..8561ef5793 100644 --- a/builder/objcopy.go +++ b/builder/objcopy.go @@ -2,11 +2,11 @@ package builder import ( "debug/elf" - "io" + "fmt" "os" - "sort" "github.com/marcinbor85/gohex" + "github.com/soypat/tinyboot/build/elfutil" ) // maxPadBytes is the maximum allowed bytes to be padded in a rom extraction @@ -26,18 +26,12 @@ func (e objcopyError) Error() string { return e.Op + ": " + e.Err.Error() } -type progSlice []*elf.Prog - -func (s progSlice) Len() int { return len(s) } -func (s progSlice) Less(i, j int) bool { return s[i].Paddr < s[j].Paddr } -func (s progSlice) Swap(i, j int) { s[i], s[j] = s[j], s[i] } - // extractROM extracts a firmware image and the first load address from the // given ELF file. It tries to emulate the behavior of objcopy. func extractROM(path string) (uint64, []byte, error) { f, err := elf.Open(path) if err != nil { - return 0, nil, objcopyError{"failed to open ELF file to extract text segment", err} + return 0, nil, objcopyError{Op: "failed to open ELF file to extract text segment", Err: err} } defer f.Close() @@ -47,62 +41,33 @@ func extractROM(path string) (uint64, []byte, error) { // > memory dump of the contents of the input object file. All symbols and // > relocation information will be discarded. The memory dump will start at // > the load address of the lowest section copied into the output file. - - // Find the lowest section address. - startAddr := ^uint64(0) - for _, section := range f.Sections { - if section.Type != elf.SHT_PROGBITS || section.Flags&elf.SHF_ALLOC == 0 { - continue - } - if section.Addr < startAddr { - startAddr = section.Addr - } + start, end, err := elfutil.ROMAddr(f) + if err != nil { + return 0, nil, objcopyError{Op: "failed to calculate ELF ROM addresses", Err: err} } - - progs := make(progSlice, 0, 2) - for _, prog := range f.Progs { - if prog.Type != elf.PT_LOAD || prog.Filesz == 0 || prog.Off == 0 { - continue - } - progs = append(progs, prog) + err = elfutil.EnsureROMContiguous(f, start, end, maxPadBytes) + if err != nil { + return 0, nil, objcopyError{Op: "checking if ELF ROM contiguous", Err: err} } - if len(progs) == 0 { - return 0, nil, objcopyError{"file does not contain ROM segments: " + path, nil} + const ( + _ = 1 << (iota * 10) + kB + MB + GB + ) + const maxSize = 1 * GB + if end-start > maxSize { + return 0, nil, objcopyError{Op: fmt.Sprintf("obj size exceeds max %d/%d, bad ELF address calculation?", end-start, maxSize)} } - sort.Sort(progs) - var rom []byte - for _, prog := range progs { - romEnd := progs[0].Paddr + uint64(len(rom)) - if prog.Paddr > romEnd && prog.Paddr < romEnd+16 { - // Sometimes, the linker seems to insert a bit of padding between - // segments. Simply zero-fill these parts. - rom = append(rom, make([]byte, prog.Paddr-romEnd)...) - } - if prog.Paddr != progs[0].Paddr+uint64(len(rom)) { - diff := prog.Paddr - (progs[0].Paddr + uint64(len(rom))) - if diff > maxPadBytes { - return 0, nil, objcopyError{"ROM segments are non-contiguous: " + path, nil} - } - // Pad the difference - rom = append(rom, make([]byte, diff)...) - } - data, err := io.ReadAll(prog.Open()) - if err != nil { - return 0, nil, objcopyError{"failed to extract segment from ELF file: " + path, err} - } - rom = append(rom, data...) - } - if progs[0].Paddr < startAddr { - // The lowest memory address is before the first section. This means - // that there is some extra data loaded at the start of the image that - // should be discarded. - // Example: ELF files where .text doesn't start at address 0 because - // there is a bootloader at the start. - return startAddr, rom[startAddr-progs[0].Paddr:], nil - } else { - return progs[0].Paddr, rom, nil + ROM := make([]byte, end-start) + n, err := elfutil.ReadROMAt(f, ROM, start) + if err != nil { + return 0, nil, objcopyError{Op: "reading ELF ROM", Err: err} + } else if n != len(ROM) { + return 0, nil, objcopyError{Op: "short ELF ROM read"} } + return start, ROM, nil } // objcopy converts an ELF file to a different (simpler) output file format: diff --git a/builder/uf2.go b/builder/uf2.go index 62bae5c66a..676acee09c 100644 --- a/builder/uf2.go +++ b/builder/uf2.go @@ -8,146 +8,34 @@ package builder // import ( - "bytes" - "encoding/binary" + "math" "os" - "strconv" + + "github.com/soypat/tinyboot/build/uf2" ) // convertELFFileToUF2File converts an ELF file to a UF2 file. func convertELFFileToUF2File(infile, outfile string, uf2FamilyID string) error { - // Read the .text segment. - targetAddress, data, err := extractROM(infile) - if err != nil { - return err + uf2Formatter := uf2.Formatter{ChunkSize: 256} + if uf2FamilyID != "" { + err := uf2Formatter.SetFamilyID(uf2FamilyID) + if err != nil { + return err + } } - - output, _, err := convertBinToUF2(data, uint32(targetAddress), uf2FamilyID) + start, ROM, err := extractROM(infile) if err != nil { return err + } else if start > math.MaxUint32 { + return objcopyError{Op: "ELF start ROM address overflows uint32"} } - return os.WriteFile(outfile, output, 0644) -} -// convertBinToUF2 converts the binary bytes in input to UF2 formatted data. -func convertBinToUF2(input []byte, targetAddr uint32, uf2FamilyID string) ([]byte, int, error) { - blocks := split(input, 256) - output := make([]byte, 0) - - bl, err := newUF2Block(targetAddr, uf2FamilyID) + // Write raw ROM contents in UF2 format to outfile. + expectBlocks := len(ROM)/int(uf2Formatter.ChunkSize) + 1 + uf2data := make([]byte, expectBlocks*uf2.BlockSize) + uf2data, _, err = uf2Formatter.AppendTo(uf2data[:0], ROM, uint32(start)) if err != nil { - return nil, 0, err - } - bl.SetNumBlocks(len(blocks)) - - for i := 0; i < len(blocks); i++ { - bl.SetBlockNo(i) - bl.SetData(blocks[i]) - - output = append(output, bl.Bytes()...) - bl.IncrementAddress(bl.payloadSize) - } - - return output, len(blocks), nil -} - -const ( - uf2MagicStart0 = 0x0A324655 // "UF2\n" - uf2MagicStart1 = 0x9E5D5157 // Randomly selected - uf2MagicEnd = 0x0AB16F30 // Ditto -) - -// uf2Block is the structure used for each UF2 code block sent to device. -type uf2Block struct { - magicStart0 uint32 - magicStart1 uint32 - flags uint32 - targetAddr uint32 - payloadSize uint32 - blockNo uint32 - numBlocks uint32 - familyID uint32 - data []uint8 - magicEnd uint32 -} - -// newUF2Block returns a new uf2Block struct that has been correctly populated -func newUF2Block(targetAddr uint32, uf2FamilyID string) (*uf2Block, error) { - var flags uint32 - var familyID uint32 - if uf2FamilyID != "" { - flags |= flagFamilyIDPresent - v, err := strconv.ParseUint(uf2FamilyID, 0, 32) - if err != nil { - return nil, err - } - familyID = uint32(v) - } - return &uf2Block{magicStart0: uf2MagicStart0, - magicStart1: uf2MagicStart1, - magicEnd: uf2MagicEnd, - targetAddr: targetAddr, - flags: flags, - familyID: familyID, - payloadSize: 256, - data: make([]byte, 476), - }, nil -} - -const ( - flagFamilyIDPresent = 0x00002000 -) - -// Bytes converts the uf2Block to a slice of bytes that can be written to file. -func (b *uf2Block) Bytes() []byte { - buf := bytes.NewBuffer(make([]byte, 0, 512)) - binary.Write(buf, binary.LittleEndian, b.magicStart0) - binary.Write(buf, binary.LittleEndian, b.magicStart1) - binary.Write(buf, binary.LittleEndian, b.flags) - binary.Write(buf, binary.LittleEndian, b.targetAddr) - binary.Write(buf, binary.LittleEndian, b.payloadSize) - binary.Write(buf, binary.LittleEndian, b.blockNo) - binary.Write(buf, binary.LittleEndian, b.numBlocks) - binary.Write(buf, binary.LittleEndian, b.familyID) - binary.Write(buf, binary.LittleEndian, b.data) - binary.Write(buf, binary.LittleEndian, b.magicEnd) - - return buf.Bytes() -} - -// IncrementAddress moves the target address pointer forward by count bytes. -func (b *uf2Block) IncrementAddress(count uint32) { - b.targetAddr += b.payloadSize -} - -// SetData sets the data to be used for the current block. -func (b *uf2Block) SetData(d []byte) { - b.data = make([]byte, 476) - copy(b.data[:], d) -} - -// SetBlockNo sets the current block number to be used. -func (b *uf2Block) SetBlockNo(bn int) { - b.blockNo = uint32(bn) -} - -// SetNumBlocks sets the total number of blocks for this UF2 file. -func (b *uf2Block) SetNumBlocks(total int) { - b.numBlocks = uint32(total) -} - -// split splits a slice of bytes into a slice of byte slices of a specific size limit. -func split(input []byte, limit int) [][]byte { - var block []byte - output := make([][]byte, 0, len(input)/limit+1) - for len(input) >= limit { - // add all blocks - block, input = input[:limit], input[limit:] - output = append(output, block) - } - if len(input) > 0 { - // add remaining block (that isn't full sized) - output = append(output, input) + return objcopyError{Op: "writing UF2 blocks", Err: err} } - return output + return os.WriteFile(outfile, uf2data, 0644) } diff --git a/compileopts/target.go b/compileopts/target.go index 41a7babd91..26b78f586b 100644 --- a/compileopts/target.go +++ b/compileopts/target.go @@ -45,6 +45,7 @@ type TargetSpec struct { LinkerScript string `json:"linkerscript,omitempty"` ExtraFiles []string `json:"extra-files,omitempty"` RP2040BootPatch *bool `json:"rp2040-boot-patch,omitempty"` // Patch RP2040 2nd stage bootloader checksum + BootPatches []string `json:"boot-patches,omitempty"` // Bootloader patches to be applied in the order they appear. Emulator string `json:"emulator,omitempty"` FlashCommand string `json:"flash-command,omitempty"` GDB []string `json:"gdb,omitempty"` diff --git a/go.mod b/go.mod index bf85ef3ad1..ea75e1959e 100644 --- a/go.mod +++ b/go.mod @@ -31,6 +31,7 @@ require ( github.com/josharian/intern v1.0.0 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-isatty v0.0.20 // indirect + github.com/soypat/tinyboot v0.0.0-20240922191516-a0ab175013d3 // indirect github.com/stretchr/testify v1.8.4 // indirect golang.org/x/text v0.16.0 // indirect ) diff --git a/go.sum b/go.sum index 7a6d1f4a97..65c737fd24 100644 --- a/go.sum +++ b/go.sum @@ -48,6 +48,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/sigurn/crc16 v0.0.0-20211026045750-20ab5afb07e3 h1:aQKxg3+2p+IFXXg97McgDGT5zcMrQoi0EICZs8Pgchs= github.com/sigurn/crc16 v0.0.0-20211026045750-20ab5afb07e3/go.mod h1:9/etS5gpQq9BJsJMWg1wpLbfuSnkm8dPF6FdW2JXVhA= +github.com/soypat/tinyboot v0.0.0-20240922191516-a0ab175013d3 h1:qTeQ5xG5DQUW01KWdoMJ/XbZp8InTm1Mz7nR7Qfv4D0= +github.com/soypat/tinyboot v0.0.0-20240922191516-a0ab175013d3/go.mod h1:OsayN6hjGmz9VPyFHqVH6OSAUvUjXAcMviO3YS336hA= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= go.bug.st/serial v1.6.0 h1:mAbRGN4cKE2J5gMwsMHC2KQisdLRQssO9WSM+rbZJ8A= From 0ef88d1a5bff7d04c48f4c3a6dddaec5ee3be122 Mon Sep 17 00:00:00 2001 From: Matthew Mets Date: Mon, 25 Nov 2024 22:59:15 +0100 Subject: [PATCH 16/16] Fix RP2350 memory layout (#4626) * Fix RP2350 memory layout * Remove rp2040-style second stage bootloader. * Add 'minimum viable' IMAGE_DEF embedded block * Create a pico2 specific target * Remove board-specific defines from rp2350 machine file * Add pico2-specific target --- src/machine/board_pico2.go | 88 ++++++ src/machine/machine_rp2_2350.go | 12 - targets/arm.ld | 1 + targets/pico2.json | 5 +- targets/rp2350.json | 4 +- targets/rp2350.ld | 24 +- targets/rp2350_boot2_generic03h.S | 461 ------------------------------ targets/rp2350_embedded_block.s | 10 + 8 files changed, 103 insertions(+), 502 deletions(-) create mode 100644 src/machine/board_pico2.go delete mode 100644 targets/rp2350_boot2_generic03h.S create mode 100644 targets/rp2350_embedded_block.s diff --git a/src/machine/board_pico2.go b/src/machine/board_pico2.go new file mode 100644 index 0000000000..327c542fbc --- /dev/null +++ b/src/machine/board_pico2.go @@ -0,0 +1,88 @@ +//go:build pico2 + +package machine + +// GPIO pins +const ( + GP0 Pin = GPIO0 + GP1 Pin = GPIO1 + GP2 Pin = GPIO2 + GP3 Pin = GPIO3 + GP4 Pin = GPIO4 + GP5 Pin = GPIO5 + GP6 Pin = GPIO6 + GP7 Pin = GPIO7 + GP8 Pin = GPIO8 + GP9 Pin = GPIO9 + GP10 Pin = GPIO10 + GP11 Pin = GPIO11 + GP12 Pin = GPIO12 + GP13 Pin = GPIO13 + GP14 Pin = GPIO14 + GP15 Pin = GPIO15 + GP16 Pin = GPIO16 + GP17 Pin = GPIO17 + GP18 Pin = GPIO18 + GP19 Pin = GPIO19 + GP20 Pin = GPIO20 + GP21 Pin = GPIO21 + GP22 Pin = GPIO22 + GP26 Pin = GPIO26 + GP27 Pin = GPIO27 + GP28 Pin = GPIO28 + + // Onboard LED + LED Pin = GPIO25 + + // Onboard crystal oscillator frequency, in MHz. + xoscFreq = 12 // MHz +) + +// I2C Default pins on Raspberry Pico. +const ( + I2C0_SDA_PIN = GP4 + I2C0_SCL_PIN = GP5 + + I2C1_SDA_PIN = GP2 + I2C1_SCL_PIN = GP3 +) + +// SPI default pins +const ( + // Default Serial Clock Bus 0 for SPI communications + SPI0_SCK_PIN = GPIO18 + // Default Serial Out Bus 0 for SPI communications + SPI0_SDO_PIN = GPIO19 // Tx + // Default Serial In Bus 0 for SPI communications + SPI0_SDI_PIN = GPIO16 // Rx + + // Default Serial Clock Bus 1 for SPI communications + SPI1_SCK_PIN = GPIO10 + // Default Serial Out Bus 1 for SPI communications + SPI1_SDO_PIN = GPIO11 // Tx + // Default Serial In Bus 1 for SPI communications + SPI1_SDI_PIN = GPIO12 // Rx +) + +// UART pins +const ( + UART0_TX_PIN = GPIO0 + UART0_RX_PIN = GPIO1 + UART1_TX_PIN = GPIO8 + UART1_RX_PIN = GPIO9 + UART_TX_PIN = UART0_TX_PIN + UART_RX_PIN = UART0_RX_PIN +) + +var DefaultUART = UART0 + +// USB identifiers +const ( + usb_STRING_PRODUCT = "Pico2" + usb_STRING_MANUFACTURER = "Raspberry Pi" +) + +var ( + usb_VID uint16 = 0x2E8A + usb_PID uint16 = 0x000A +) diff --git a/src/machine/machine_rp2_2350.go b/src/machine/machine_rp2_2350.go index adb75f0090..90f9e2c3ac 100644 --- a/src/machine/machine_rp2_2350.go +++ b/src/machine/machine_rp2_2350.go @@ -8,10 +8,8 @@ import ( ) const ( - LED = GPIO25 _NUMBANK0_GPIOS = 48 _NUMBANK0_IRQS = 6 - xoscFreq = 12 // Pico 2 Crystal oscillator Abracon ABM8-272-T3 frequency in MHz rp2350ExtraReg = 1 notimpl = "rp2350: not implemented" initUnreset = rp.RESETS_RESET_ADC | @@ -22,16 +20,6 @@ const ( rp.RESETS_RESET_USBCTRL ) -// UART pins -const ( - UART0_TX_PIN = GPIO0 - UART0_RX_PIN = GPIO1 - UART1_TX_PIN = GPIO8 - UART1_RX_PIN = GPIO9 - UART_TX_PIN = UART0_TX_PIN - UART_RX_PIN = UART0_RX_PIN -) - const ( PinOutput PinMode = iota PinInput diff --git a/targets/arm.ld b/targets/arm.ld index 39b5c75ddb..cdf5b1dd43 100644 --- a/targets/arm.ld +++ b/targets/arm.ld @@ -9,6 +9,7 @@ SECTIONS .text : { KEEP(*(.isr_vector)) + KEEP(*(.after_isr_vector)) /* for the RP2350 */ *(.text) *(.text.*) *(.rodata) diff --git a/targets/pico2.json b/targets/pico2.json index 13f07e18cb..3c91fa47bd 100644 --- a/targets/pico2.json +++ b/targets/pico2.json @@ -3,8 +3,5 @@ "rp2350" ], "build-tags": ["pico2"], - "linkerscript": "targets/pico2.ld", - "extra-files": [ - "targets/pico_boot_stage2.S" - ] + "serial-port": ["2e8a:000A"] } diff --git a/targets/rp2350.json b/targets/rp2350.json index 0f6e5fb4e9..9070560bcb 100644 --- a/targets/rp2350.json +++ b/targets/rp2350.json @@ -8,9 +8,9 @@ "msd-firmware-name": "firmware.uf2", "binary-format": "uf2", "uf2-family-id": "0xe48bff59","comment":"See page 393 of RP2350 datasheet: RP2350 Arm Secure image (i.e. one intended to be booted directly by the bootrom)", - "rp2040-boot-patch": true, "extra-files": [ - "targets/rp2350_boot2_generic03h.S" + "src/device/rp/rp2350.s", + "targets/rp2350_embedded_block.s" ], "linkerscript": "targets/rp2350.ld", "openocd-interface": "picoprobe", diff --git a/targets/rp2350.ld b/targets/rp2350.ld index 95fe3bbeee..dbe495cf7c 100644 --- a/targets/rp2350.ld +++ b/targets/rp2350.ld @@ -10,9 +10,7 @@ MEMORY i.e: Separate stacks for core0 and core1. */ SRAM4 : ORIGIN = 0x20080000, LENGTH = 4k SRAM5 : ORIGIN = 0x20081000, LENGTH = 4k - /* Reserve exactly 256 bytes at start of flash for second stage bootloader */ - BOOT2_TEXT (rx) : ORIGIN = 0x10000000, LENGTH = 256 - FLASH_TEXT (rx) : ORIGIN = 0x10000000 + 256, LENGTH = 2048k - 256 + FLASH_TEXT (rx) : ORIGIN = 0x10000000, LENGTH = 2048k RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 512k } @@ -20,26 +18,6 @@ _stack_size = 2K; SECTIONS { - /* Second stage bootloader is prepended to the image. It must be 256 bytes - and checksummed. The gap to the checksum is zero-padded. - */ - .boot2 : { - __boot2_start__ = .; - KEEP (*(.boot2)); - - /* Explicitly allocate space for CRC32 checksum at end of second stage - bootloader - */ - . = __boot2_start__ + 256 - 4; - LONG(0) - } > BOOT2_TEXT = 0x0 - - /* The second stage will always enter the image at the start of .text. - The debugger will use the ELF entry point, which is the _entry_point - symbol if present, otherwise defaults to start of .text. - This can be used to transfer control back to the bootrom on debugger - launches only, to perform proper flash setup. - */ } INCLUDE "targets/arm.ld" diff --git a/targets/rp2350_boot2_generic03h.S b/targets/rp2350_boot2_generic03h.S deleted file mode 100644 index 70b861afc4..0000000000 --- a/targets/rp2350_boot2_generic03h.S +++ /dev/null @@ -1,461 +0,0 @@ -// ---------------------------------------------------------------------------- -// Second stage boot code -// Copyright (c) 2019-2021 Raspberry Pi (Trading) Ltd. -// SPDX-License-Identifier: BSD-3-Clause -// -// Device: Anything which responds to 03h serial read command -// -// Details: * Configure SSI to translate each APB read into a 03h command -// * 8 command clocks, 24 address clocks and 32 data clocks -// * This enables you to boot from almost anything: you can pretty -// much solder a potato to your PCB, or a piece of cheese -// * The tradeoff is performance around 3x worse than QSPI XIP -// -// Building: * This code must be position-independent, and use stack only -// * The code will be padded to a size of 256 bytes, including a -// 4-byte checksum. Therefore code size cannot exceed 252 bytes. -// ---------------------------------------------------------------------------- - -// #include "pico.h" // https://github.com/raspberrypi/pico-sdk/blob/master/src/boards/include/boards/pico.h -// Figure out what boot uses... - -// #include "pico/asm_helper.S" // https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/pico_platform/include/pico/asm_helper.S -#if !PICO_ASSEMBLER_IS_CLANG -#define apsr_nzcv r15 -#endif -# note we don't do this by default in this file for backwards comaptibility with user code -# that may include this file, but not use unified syntax. Note that this macro does equivalent -# setup to the pico_default_asm macro for inline assembly in C code. -.macro pico_default_asm_setup -#ifndef __riscv -.syntax unified // Selects Unified Assembly Language (UAL) syntax for assembler. Unifies ARM and thumb into single syntax. -.cpu cortex-m33 // Specify target CPU architecture. -.fpu fpv5-sp-d16 // Specify the type of FPU available on CPU. Supports SP (single precision) operations with 16 double precision registers. -.thumb // Assemble subsequent code with Thumb instruction set, the compact 16-bit encoding of the most frequently used 32-bit ARM instructions. -.section .boot2, "ax" // Defines a new section named .boot2 with attributes 'a': Allocatable-This section occupies space in memory image, and 'x': This section contains executable code. -// Code and data assembled after this point will be placed in .boot2 section. The Linker script can specify where this section should be located in memory, such as at a specific address. -// We need to ensure this code is placed at the very start of flash. See rp2350.ld, .boot2 is placed at 0x10000000 and has max length 256. -// The compiled code cannot exceed 256 bytes! -// One can check contents by compiling and using objdump to visualize the code: -// tinygo build -target=rp2350 -o=rp2350.elf -serial=none examples/blinky1 -// objdump -s -j .boot2 rp2350.elf -#endif -.endm - -.macro regular_func fnname -.global \fnname // Declares fnname as a global symbol. -.type \fnname,%function // Specifies fnname is a type of function. Helps tools understand fnname is executable code, not data. -#ifndef __riscv -.thumb_func // Indicate fnname is a thumb function. -#endif -\fnname: // Mark point of entry for function. -.endm - - -// #include "hardware/platform_defs.h" // https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/hardware_regs/include/hardware/platform_defs.h -#ifndef _u -#ifdef __ASSEMBLER__ -#define _u(x) x -#else -#define _u(x) x ## u -#endif -#endif - -// #include "hardware/regs/addressmap.h" https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/hardware_regs/include/hardware/regs/addressmap.h -// Register address offsets for atomic RMW aliases -#define REG_ALIAS_RW_BITS (_u(0x0) << _u(12)) -#define REG_ALIAS_XOR_BITS (_u(0x1) << _u(12)) -#define REG_ALIAS_SET_BITS (_u(0x2) << _u(12)) -#define REG_ALIAS_CLR_BITS (_u(0x3) << _u(12)) - -#define ROM_BASE _u(0x00000000) -#define XIP_BASE _u(0x10000000) -#define XIP_SRAM_BASE _u(0x13ffc000) -#define XIP_END _u(0x14000000) -#define XIP_NOCACHE_NOALLOC_BASE _u(0x14000000) -#define XIP_SRAM_END _u(0x14000000) -#define XIP_NOCACHE_NOALLOC_END _u(0x18000000) -#define XIP_MAINTENANCE_BASE _u(0x18000000) -#define XIP_NOCACHE_NOALLOC_NOTRANSLATE_BASE _u(0x1c000000) -#define SRAM0_BASE _u(0x20000000) -#define XIP_NOCACHE_NOALLOC_NOTRANSLATE_END _u(0x20000000) -#define SRAM_BASE _u(0x20000000) -#define SRAM_STRIPED_BASE _u(0x20000000) -#define SRAM4_BASE _u(0x20040000) -#define SRAM8_BASE _u(0x20080000) -#define SRAM_STRIPED_END _u(0x20080000) -#define SRAM_SCRATCH_X_BASE _u(0x20080000) -#define SRAM9_BASE _u(0x20081000) -#define SRAM_SCRATCH_Y_BASE _u(0x20081000) -#define SRAM_END _u(0x20082000) -#define SYSINFO_BASE _u(0x40000000) -#define SYSCFG_BASE _u(0x40008000) -#define CLOCKS_BASE _u(0x40010000) -#define PSM_BASE _u(0x40018000) -#define RESETS_BASE _u(0x40020000) -#define IO_BANK0_BASE _u(0x40028000) -#define IO_QSPI_BASE _u(0x40030000) -#define PADS_BANK0_BASE _u(0x40038000) -#define PADS_QSPI_BASE _u(0x40040000) -#define XOSC_BASE _u(0x40048000) -#define PLL_SYS_BASE _u(0x40050000) -#define PLL_USB_BASE _u(0x40058000) -#define ACCESSCTRL_BASE _u(0x40060000) -#define BUSCTRL_BASE _u(0x40068000) -#define UART0_BASE _u(0x40070000) -#define UART1_BASE _u(0x40078000) -#define SPI0_BASE _u(0x40080000) -#define SPI1_BASE _u(0x40088000) -#define I2C0_BASE _u(0x40090000) -#define I2C1_BASE _u(0x40098000) -#define ADC_BASE _u(0x400a0000) -#define PWM_BASE _u(0x400a8000) -#define TIMER0_BASE _u(0x400b0000) -#define TIMER1_BASE _u(0x400b8000) -#define HSTX_CTRL_BASE _u(0x400c0000) -#define XIP_CTRL_BASE _u(0x400c8000) -#define XIP_QMI_BASE _u(0x400d0000) -#define WATCHDOG_BASE _u(0x400d8000) -#define BOOTRAM_BASE _u(0x400e0000) -#define BOOTRAM_END _u(0x400e0400) -#define ROSC_BASE _u(0x400e8000) -#define TRNG_BASE _u(0x400f0000) -#define SHA256_BASE _u(0x400f8000) -#define POWMAN_BASE _u(0x40100000) -#define TICKS_BASE _u(0x40108000) -#define OTP_BASE _u(0x40120000) -#define OTP_DATA_BASE _u(0x40130000) -#define OTP_DATA_RAW_BASE _u(0x40134000) -#define OTP_DATA_GUARDED_BASE _u(0x40138000) -#define OTP_DATA_RAW_GUARDED_BASE _u(0x4013c000) -#define CORESIGHT_PERIPH_BASE _u(0x40140000) -#define CORESIGHT_ROMTABLE_BASE _u(0x40140000) -#define CORESIGHT_AHB_AP_CORE0_BASE _u(0x40142000) -#define CORESIGHT_AHB_AP_CORE1_BASE _u(0x40144000) -#define CORESIGHT_TIMESTAMP_GEN_BASE _u(0x40146000) -#define CORESIGHT_ATB_FUNNEL_BASE _u(0x40147000) -#define CORESIGHT_TPIU_BASE _u(0x40148000) -#define CORESIGHT_CTI_BASE _u(0x40149000) -#define CORESIGHT_APB_AP_RISCV_BASE _u(0x4014a000) -#define DFT_BASE _u(0x40150000) -#define GLITCH_DETECTOR_BASE _u(0x40158000) -#define TBMAN_BASE _u(0x40160000) -#define DMA_BASE _u(0x50000000) -#define USBCTRL_BASE _u(0x50100000) -#define USBCTRL_DPRAM_BASE _u(0x50100000) -#define USBCTRL_REGS_BASE _u(0x50110000) -#define PIO0_BASE _u(0x50200000) -#define PIO1_BASE _u(0x50300000) -#define PIO2_BASE _u(0x50400000) -#define XIP_AUX_BASE _u(0x50500000) -#define HSTX_FIFO_BASE _u(0x50600000) -#define CORESIGHT_TRACE_BASE _u(0x50700000) -#define SIO_BASE _u(0xd0000000) -#define SIO_NONSEC_BASE _u(0xd0020000) -#define PPB_BASE _u(0xe0000000) -#define PPB_NONSEC_BASE _u(0xe0020000) -#define EPPB_BASE _u(0xe0080000) - -// #include "hardware/regs/qmi.h" // https://github.com/raspberrypi/pico-sdk/blob/master/src/rp2350/hardware_regs/include/hardware/regs/qmi.h -// Thats a lot of content... -#define QMI_M0_TIMING_CLKDIV_LSB _u(0) -#define QMI_M0_TIMING_CLKDIV_BITS _u(0x000000ff) -#define QMI_M0_TIMING_RXDELAY_LSB _u(8) -#define QMI_M0_TIMING_RXDELAY_BITS _u(0x00000700) -#define QMI_M0_TIMING_COOLDOWN_RESET _u(0x1) -#define QMI_M0_TIMING_COOLDOWN_BITS _u(0xc0000000) -#define QMI_M0_TIMING_COOLDOWN_MSB _u(31) -#define QMI_M0_TIMING_COOLDOWN_LSB _u(30) -#define QMI_M0_TIMING_COOLDOWN_ACCESS "RW" -#define QMI_M0_RCMD_PREFIX_RESET _u(0x03) -#define QMI_M0_RCMD_PREFIX_BITS _u(0x000000ff) -#define QMI_M0_RCMD_PREFIX_MSB _u(7) -#define QMI_M0_RCMD_PREFIX_LSB _u(0) -#define QMI_M0_RCMD_PREFIX_ACCESS "RW" -#define QMI_M0_RFMT_PREFIX_WIDTH_RESET _u(0x0) -#define QMI_M0_RFMT_PREFIX_WIDTH_BITS _u(0x00000003) -#define QMI_M0_RFMT_PREFIX_WIDTH_MSB _u(1) -#define QMI_M0_RFMT_PREFIX_WIDTH_LSB _u(0) -#define QMI_M0_RFMT_PREFIX_WIDTH_ACCESS "RW" -#define QMI_M0_RFMT_PREFIX_WIDTH_VALUE_S _u(0x0) -#define QMI_M0_RFMT_PREFIX_WIDTH_VALUE_D _u(0x1) -#define QMI_M0_RFMT_PREFIX_WIDTH_VALUE_Q _u(0x2) - -#define QMI_M0_RFMT_ADDR_WIDTH_RESET _u(0x0) -#define QMI_M0_RFMT_ADDR_WIDTH_BITS _u(0x0000000c) -#define QMI_M0_RFMT_ADDR_WIDTH_MSB _u(3) -#define QMI_M0_RFMT_ADDR_WIDTH_LSB _u(2) -#define QMI_M0_RFMT_ADDR_WIDTH_ACCESS "RW" -#define QMI_M0_RFMT_ADDR_WIDTH_VALUE_S _u(0x0) -#define QMI_M0_RFMT_ADDR_WIDTH_VALUE_D _u(0x1) -#define QMI_M0_RFMT_ADDR_WIDTH_VALUE_Q _u(0x2) - -#define QMI_M0_RFMT_SUFFIX_WIDTH_RESET _u(0x0) -#define QMI_M0_RFMT_SUFFIX_WIDTH_BITS _u(0x00000030) -#define QMI_M0_RFMT_SUFFIX_WIDTH_MSB _u(5) -#define QMI_M0_RFMT_SUFFIX_WIDTH_LSB _u(4) -#define QMI_M0_RFMT_SUFFIX_WIDTH_ACCESS "RW" -#define QMI_M0_RFMT_SUFFIX_WIDTH_VALUE_S _u(0x0) -#define QMI_M0_RFMT_SUFFIX_WIDTH_VALUE_D _u(0x1) -#define QMI_M0_RFMT_SUFFIX_WIDTH_VALUE_Q _u(0x2) - -#define QMI_M0_RFMT_DUMMY_WIDTH_RESET _u(0x0) -#define QMI_M0_RFMT_DUMMY_WIDTH_BITS _u(0x000000c0) -#define QMI_M0_RFMT_DUMMY_WIDTH_MSB _u(7) -#define QMI_M0_RFMT_DUMMY_WIDTH_LSB _u(6) -#define QMI_M0_RFMT_DUMMY_WIDTH_ACCESS "RW" -#define QMI_M0_RFMT_DUMMY_WIDTH_VALUE_S _u(0x0) -#define QMI_M0_RFMT_DUMMY_WIDTH_VALUE_D _u(0x1) -#define QMI_M0_RFMT_DUMMY_WIDTH_VALUE_Q _u(0x2) - -#define QMI_M0_RFMT_DATA_WIDTH_RESET _u(0x0) -#define QMI_M0_RFMT_DATA_WIDTH_BITS _u(0x00000300) -#define QMI_M0_RFMT_DATA_WIDTH_MSB _u(9) -#define QMI_M0_RFMT_DATA_WIDTH_LSB _u(8) -#define QMI_M0_RFMT_DATA_WIDTH_ACCESS "RW" -#define QMI_M0_RFMT_DATA_WIDTH_VALUE_S _u(0x0) -#define QMI_M0_RFMT_DATA_WIDTH_VALUE_D _u(0x1) -#define QMI_M0_RFMT_DATA_WIDTH_VALUE_Q _u(0x2) - -#define QMI_M0_RFMT_PREFIX_LEN_RESET _u(0x1) -#define QMI_M0_RFMT_PREFIX_LEN_BITS _u(0x00001000) -#define QMI_M0_RFMT_PREFIX_LEN_MSB _u(12) -#define QMI_M0_RFMT_PREFIX_LEN_LSB _u(12) -#define QMI_M0_RFMT_PREFIX_LEN_ACCESS "RW" -#define QMI_M0_RFMT_PREFIX_LEN_VALUE_NONE _u(0x0) -#define QMI_M0_RFMT_PREFIX_LEN_VALUE_8 _u(0x1) - -#define QMI_M0_RCMD_OFFSET _u(0x00000014) -#define QMI_M0_RCMD_BITS _u(0x0000ffff) -#define QMI_M0_RCMD_RESET _u(0x0000a003) - -#define QMI_M0_TIMING_OFFSET _u(0x0000000c) -#define QMI_M0_TIMING_BITS _u(0xf3fff7ff) -#define QMI_M0_TIMING_RESET _u(0x40000004) - -#define QMI_M0_RFMT_OFFSET _u(0x00000010) -#define QMI_M0_RFMT_BITS _u(0x1007d3ff) -#define QMI_M0_RFMT_RESET _u(0x00001000) - -// ---------------------------------------------------------------------------- -// Config section -// ---------------------------------------------------------------------------- -// It should be possible to support most flash devices by modifying this section - -// The serial flash interface will run at clk_sys/PICO_FLASH_SPI_CLKDIV. -// This must be a positive integer. -// The bootrom is very conservative with SPI frequency, but here we should be -// as aggressive as possible. - -#ifndef PICO_FLASH_SPI_CLKDIV -#define PICO_FLASH_SPI_CLKDIV 4 -#endif -#if (PICO_FLASH_SPI_CLKDIV << QMI_M0_TIMING_CLKDIV_LSB) & ~QMI_M0_TIMING_CLKDIV_BITS -#error "CLKDIV greater than maximum" -#endif - -// RX sampling delay is measured in units of one half clock cycle. - -#ifndef PICO_FLASH_SPI_RXDELAY -#define PICO_FLASH_SPI_RXDELAY 1 -#endif -#if (PICO_FLASH_SPI_RXDELAY << QMI_M0_TIMING_RXDELAY_LSB) & ~QMI_M0_TIMING_RXDELAY_BITS -#error "RX delay greater than maximum" -#endif - -#define CMD_READ 0x03 - -// ---------------------------------------------------------------------------- -// Register initialisation values -- same in Arm/RISC-V code. -// ---------------------------------------------------------------------------- - -// The QMI is automatically configured for 03h XIP straight out of reset, -// but this code can't assume it's still in that state. Set up memory -// window 0 for 03h serial reads. - -// Setup timing parameters: short sequential-access cooldown, configured -// CLKDIV and RXDELAY, and no constraints on CS max assertion, CS min -// deassertion, or page boundary burst breaks. - - -#define INIT_M0_TIMING ((1 << QMI_M0_TIMING_COOLDOWN_LSB) |(PICO_FLASH_SPI_RXDELAY << QMI_M0_TIMING_RXDELAY_LSB) |(PICO_FLASH_SPI_CLKDIV << QMI_M0_TIMING_CLKDIV_LSB) |0) - -// Set command constants -#define INIT_M0_RCMD (CMD_READ << QMI_M0_RCMD_PREFIX_LSB | 0) - -// Set read format to all-serial with a command prefix -#define INIT_M0_RFMT ((QMI_M0_RFMT_PREFIX_WIDTH_VALUE_S << QMI_M0_RFMT_PREFIX_WIDTH_LSB) | (QMI_M0_RFMT_ADDR_WIDTH_VALUE_S << QMI_M0_RFMT_ADDR_WIDTH_LSB) | (QMI_M0_RFMT_SUFFIX_WIDTH_VALUE_S << QMI_M0_RFMT_SUFFIX_WIDTH_LSB) | (QMI_M0_RFMT_DUMMY_WIDTH_VALUE_S << QMI_M0_RFMT_DUMMY_WIDTH_LSB) | (QMI_M0_RFMT_DATA_WIDTH_VALUE_S << QMI_M0_RFMT_DATA_WIDTH_LSB) | (QMI_M0_RFMT_PREFIX_LEN_VALUE_8 << QMI_M0_RFMT_PREFIX_LEN_LSB) | 0) - - -// load_r0 loads the register's value at address regaddr into R0 by stepping on r1 with the regaddr. -.macro load_r0 regaddr - ldr r1, =\regaddr // Load immediate value of regaddr with = pseudoinstr. May translate into several instructions depending on size of integer. - ldr r0, [r1] // Load memory at addr described by a register. -.endm - - -// fload_r0 loads the register's value at address regaddr into R0 and leaves rest of registers in same state. -.macro fload_r0 regaddr - push {r1} // Pushes contents of r1 onto stack. Stack grows downward in Cortex arch. - load_r0 regaddr - pop {r1} // Pops stack onto register r1. Braces can contain a range of addresses. -.endm - -// store_off_r3 is a helper that stores value into a register at address given by r3+off. Uses r0. -.macro store_off_r3 value, off - ldr r0, =\value // Store literal value we want to store at address r3+off into r0. - str r0, [r3, #\off] // Store value r0 into register at r3+off. -.endm - -// wait_bitclr checks value at address specified by register rx against bitmask until the AND between them yields 0. Steps on r0. -.macro wait_bitclr rx, bitmask -1: - tst \rx, #\bitmask // Perform bitwise AND between register and operand (register or immediate value) updating condition flags. Z flag set if AND yields zero. - bne 1b // Conditionally branch if Z flag set. BNE: Branch if Not Equal -> Will branch if Z set, so if r0&bitmask == 0. -.endm - -#define USESIO SIO_BASE -#define SIO_GPIOOUTSET_OFFSET _u(0x18) -#define SIO_GPIOOUTCLR_OFFSET _u(0x20) -#define pinfnSIO _u(1<<5) -#define pinfnUART _u(1<<2) -.macro pin_init pin, pinfn - #define pinmask (1<<\pin) - #define SIO_GPIOOECLR_OFFSET _u(0x40) - #define SIO_GPIOOESET_OFFSET _u(0x38) - #define pdtctrl_replace_bits _u(0x40|) - #define PADSBNK_IOPIN_OFFSET _u(4+4*\pin) - #define IOCTLREG _u(IO_BANK0_BASE+8*\pin+4) - #define padinputenablemsk _u(0x40) - #define padoutuptdisablemsk _u(0x80) - // First load in padbank io reg and replace bits in it. - ldr r3, =PADS_BANK0_BASE - ldr r0, [r3, PADSBNK_IOPIN_OFFSET] - bic r0, r0, (padinputenablemsk|padoutuptdisablemsk) // r0 &^= mask - orr r0, r0, padinputenablemsk - str r0, [r3, PADSBNK_IOPIN_OFFSET] - // Set the pin function in IO_BANK0. - ldr r3, =IOCTLREG - ldr r0, =\pinfn - str r0, [r3] - // Clear pinstate. - ldr r3, =USESIO - ldr r0, =pinmask - str r0, [r3, SIO_GPIOOECLR_OFFSET] // GPIO Output enable - str r0, [r3, SIO_GPIOOUTCLR_OFFSET] // Set pin to low. - .if \pinfn == pinfnSIO - str r0, [r3, SIO_GPIOOESET_OFFSET] // Assume pin is output: enable output. - .endif -.endm - -.macro pinout_init pin - pin_init \pin, pinfnSIO -.endm - -.macro pin_set pin, value - #define pinmsk _u(1<<\pin) - ldr r1, =pinmsk - ldr r0, =USESIO - .if \value == 0 - str r1, [r0, SIO_GPIOOUTCLR_OFFSET] - .else - str r1, [r0, SIO_GPIOOUTSET_OFFSET] - .endif -.endm - -.macro uart_init txpin - #define RESET_UART0 _u(0x4000000) - ldr r3, =RESETS_BASE - ldr r0, [r3] // Load value @r3 into r0. - orr r0, r0, #RESET_UART0 // Set reset bit for UART0. - str r0, [r3] // Storing the reset bit resets UART. - bic r0, r0, #RESET_UART0 // Unset the reset bit - str r0, [r3] // Clear the UART0 reset bit. - wait_bitclr r3, RESET_UART0 // Wait until peripheral is fully reset. - - // baud supported between ~200..6452000 - #define baud 115200 - #define div (8*125000000/baud) - #define ibrd _u(div>>7) - #define fbrd _u(((div&0x7f)+1)/2) - #define UART_IBRD_OFFSET _u(0x24) - #define UART_FBRD_OFFSET _u(0x28) - #define UART_LCRH_OFFSET _u(0x2C) - ldr r3, =UART0_BASE - // Start setting baud. - store_off_r3 ibrd, UART_IBRD_OFFSET - store_off_r3 fbrd, UART_FBRD_OFFSET - ldr r0, [r3, UART_LCRH_OFFSET] // Needs dummy write with contents in LCR. - str r0, [r3, UART_LCRH_OFFSET] // write back what we read. - #define uartenable (0x1) - #define uarttxenable (0x100) - #define UARTSETTINGS _u(uartenable|uarttxenable) - #define UART_CR_OFFSET _u(0x30) - ldr r0, [r3, UART_CR_OFFSET] - ldr r1, =UARTSETTINGS - orr r0, r0, r1 // Cannot use UARTSETTINGS as literal here, exceeds size of 255. - str r0, [r3, UART_CR_OFFSET] - // Configure pin 0 as UART (is Tx pin). - pin_init \txpin, pinfnUART -.endm - -.macro uart_write value - #define UART_FR_OFFSET _u(0x18) - ldr r0, =\value // Mark as immediate value, needs to be constant at compile time. - ldr r1, =UART0_BASE - str r0, [r1, UART_FR_OFFSET] // Write value in r0 to tx fifo. -.endm - -// ---------------------------------------------------------------------------- -// Start of 2nd Stage Boot Code -// ---------------------------------------------------------------------------- - -pico_default_asm_setup - -// On RP2350 boot stage2 is always called as a regular function, and should return normally -regular_func _stage2_boot -.ifdef __riscv - mv t0, ra - li a3, XIP_QMI_BASE - li a0, INIT_M0_TIMING - sw a0, QMI_M0_TIMING_OFFSET(a3) - li a0, INIT_M0_RCMD - sw a0, QMI_M0_RCMD_OFFSET(a3) - li a0, INIT_M0_RFMT - sw a0, QMI_M0_RFMT_OFFSET(a3) - // Exit routine. - jr t0 -.else - // Save link register for exit. lr hold the return address when a function call is made (bl or blx). - // We save it because we entered this bootload from the boot ROM, thus lr will contain the flash address - // immediately after this second-stage bootloader code. If bootloader is called by user lr will contain return address - // to resume execution after the bootloader ends. - // The bootloader uses r0..r1 as scratch and r3 holds the current register-of-interest base address. No other GPRs are used. - push {lr} - #define LED _u(25) - #define txpin _u(0) - // pinout_init LED - // pin_set LED, 1 - ldr r3, =XIP_QMI_BASE - // Note: STORE_OFF_R3 steps on r0. - // Here we configure/initialize QMI. - store_off_r3 INIT_M0_TIMING, QMI_M0_TIMING_OFFSET - store_off_r3 INIT_M0_RCMD, QMI_M0_RCMD_OFFSET - store_off_r3 INIT_M0_RFMT, QMI_M0_RFMT_OFFSET - // We pop the link value we saved in push {lr} above and set the program counter to it. This effectively returns from the function - // and returns to the calling function, this is because loading into pc causes the execution to jump to that address. - pop {pc} - // Declares the local symbol literals as a global symbol, making it accessible to the linker and other object files. - // ltorg instructs assembler to emit the literal pool at this point in the code. - // Places all pending literals (constants that cannot be encoded directly into instructions) at this point. // - // This ensures any ldr pseudo-instructions that reference literals have the corresponding data placed here. - // For example, when using the Thumb1 instruction set (16bit encoding) the ldr instruction offset range is limited to 0 to 1020 bytes (increments of 4 bytes), - // this is because it encodes offset as an 8 bit integer. If using Thumb2 (32bit) offset has range 0..4095, with 1 byte increment. - // - // We need to specify where we place the literals since we also need to have tight control of our bootloader size, limited to 256 bytes including 4 byte checksum. - // At the time of writing this bootloader literals section is empty, all instructions are fully encoded above. - .global literals - literals: - .ltorg -.endif - diff --git a/targets/rp2350_embedded_block.s b/targets/rp2350_embedded_block.s new file mode 100644 index 0000000000..f6202ed859 --- /dev/null +++ b/targets/rp2350_embedded_block.s @@ -0,0 +1,10 @@ +// Minimum viable block image from datasheet section 5.9.5.1, "Minimum Arm IMAGE_DEF" +.section .after_isr_vector, "a" +.p2align 2 +embedded_block: +.word 0xffffded3 +.word 0x10210142 +.word 0x000001ff +.word 0x00000000 +.word 0xab123579 +embedded_block_end: