From c83c1bea5c05a1473e7d19e8dff60922a27ba396 Mon Sep 17 00:00:00 2001 From: soypat Date: Sat, 14 Sep 2024 12:34:40 -0300 Subject: [PATCH] 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 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
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<