FreeCalypso > hg > freecalypso-tools
view target-utils/libbase/waitarm.S @ 924:d452188587b4
rvinterf: begin change to backslash escape output format
Right now throughout the rvinterf suite, any time we emit output that
is expected to be ASCII, but may contain non-printable garbage, we use
'cat -v' form of garbage character representation. Unfortunately, this
transformation is lossy (can't be reversed 100% reliably in the user's
wetware), hence we would like to migrate to C-style backslash escapes,
including doubling of any already-present backslashes - this escape
mechanism is lossless. Begin this change by converting the output
of RV and L1 traces in rvinterf and rvtdump.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 23 May 2023 03:10:50 +0000 |
parents | 06ad5e30e8d0 |
children |
line wrap: on
line source
/* * This assembly module provides a wait_ARM_cycles() function similar to * the one in TI's firmware; it is meant to gradually replace and phase out * osmo_delay_ms(). One loop count for this function equals 4 ARM clock * cycles when running out of IRAM; if the ARM clock is 52 MHz, 13 loop counts * equal one microsecond. * * Note the instruction sequence difference from TI's firmware version: * we use the SUBS instruction (equivalent of plain SUB in Thumb) and omit * the CMP, which is why our version is 4 cycles per loop (when running * out of IRAM), as opposed to 5 cycles per loop (plus wait states as they * execute from flash) in TI's fw version. */ .text .code 32 .globl wait_ARM_cycles wait_ARM_cycles: cmp r0, #0 bxeq lr 1: subs r0, r0, #1 bne 1b bx lr