FreeCalypso > hg > freecalypso-tools
diff target-utils/libbase/waitarm.S @ 453:6228d27738d1
target-utils: wait_ARM_cycles() added to libbase
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 09 Feb 2019 07:35:07 +0000 |
parents | |
children | 06ad5e30e8d0 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/target-utils/libbase/waitarm.S Sat Feb 09 07:35:07 2019 +0000 @@ -0,0 +1,17 @@ +/* + * This assembly module provides a wait_ARM_cycles() function just like + * in TI's firmware; it is meant to gradually replace and phase out + * osmo_delay_ms(). One loop count for this function equals 5 ARM clock + * cycles when running out of IRAM. + */ + + .text + .code 32 + .globl wait_ARM_cycles +wait_ARM_cycles: + cmp r0, #0 + bxeq lr +1: sub r0, r0, #1 + cmp r0, #0 + bne 1b + bx lr