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