FreeCalypso > hg > freecalypso-tools
view target-utils/libbase/waitarm.S @ 716:3713a349fb1e
doc/Loadtools-usage: Mot V17x documented
Mot V17x is equivalent to C155/156 for loadtools purposes, but this fact
needs to be documented, as it may not be obvious to those who are not
as deeply involved.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 01 Jul 2020 00:31:37 +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