Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: idd_hw5_bleFanProto
Fork of nRF51822 by
Diff: nordic/nrf-sdk/s110/nrf_svc.h
- Revision:
- 0:eff01767de02
- Child:
- 37:c29c330d942c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nordic/nrf-sdk/s110/nrf_svc.h Wed Mar 26 14:38:17 2014 +0000
@@ -0,0 +1,35 @@
+#ifndef NRF_SVC__
+#define NRF_SVC__
+
+#include "nordic_global.h"
+
+#ifdef SVCALL_AS_NORMAL_FUNCTION
+#define SVCALL(number, return_type, signature) return_type signature
+#else
+
+#ifndef SVCALL
+#if defined (__CC_ARM)
+#define SVCALL(number, return_type, signature) return_type __svc(number) signature
+#elif defined (__GNUC__)
+#define SVCALL(number, return_type, signature) \
+ _Pragma("GCC diagnostic ignored \"-Wreturn-type\"") \
+ _Pragma("GCC diagnostic ignored \"-Wunused-function\"") \
+ __attribute__((naked)) static return_type signature \
+ { \
+ __asm( \
+ "svc %0\n" \
+ "bx r14" : : "I" (number) : "r0" \
+ ); \
+ }
+#elif defined (__ICCARM__)
+#define PRAGMA(x) _Pragma(#x)
+#define SVCALL(number, return_type, signature) \
+PRAGMA(swi_number = number) \
+ __swi return_type signature;
+#else
+#define SVCALL(number, return_type, signature) return_type signature
+#endif
+#endif // SVCALL
+
+#endif // SVCALL_AS_NORMAL_FUNCTION
+#endif // NRF_SVC__
