b05d863428
Adds a new cmsis_core INTERFACE library, which provides the basic CMSIS macros/definitions, and RP2040.h and system_RP2040.h By default the isr_ methods in the vector table are renamed to their CMSIS versions, but this can be overridden by defining PICO_CMSIS_RENAME_EXCEPTIONS=0
24 lines
434 B
C
24 lines
434 B
C
#include <stdio.h>
|
|
|
|
#include "RP2040.h"
|
|
#include "pico/stdio.h"
|
|
|
|
__STATIC_FORCEINLINE int some_function(int i) {
|
|
return __CLZ(i);
|
|
}
|
|
|
|
static bool pendsv_called;
|
|
|
|
void PendSV_Handler(void) {
|
|
pendsv_called = true;
|
|
}
|
|
|
|
int main(void) {
|
|
stdio_init_all();
|
|
for(int i=0;i<10;i++) {
|
|
printf("%d %d\n", i, some_function(i));
|
|
}
|
|
SCB->ICSR = SCB_ICSR_PENDSVSET_Msk;
|
|
puts(pendsv_called ? "SUCCESS" : "FAILURE");
|
|
}
|