diff --git a/src/rp2_common/cmsis/include/cmsis/rename_exceptions.h b/src/rp2_common/cmsis/include/cmsis/rename_exceptions.h index 5ab49e824..efd2fd7b1 100644 --- a/src/rp2_common/cmsis/include/cmsis/rename_exceptions.h +++ b/src/rp2_common/cmsis/include/cmsis/rename_exceptions.h @@ -16,7 +16,7 @@ #endif #if PICO_CMSIS_RENAME_EXCEPTIONS -#if PICO_RP2040 +#if __ARM_ARCH_6M__ #define isr_nmi NMI_Handler #define isr_hardfault HardFault_Handler #define isr_svcall SVC_Handler @@ -48,8 +48,7 @@ #define isr_irq23 I2C0_IRQ_Handler #define isr_irq24 I2C1_IRQ_Handler #define isr_irq25 RTC_IRQ_Handler -#endif -#if PICO_RP2350 +#elif __ARM_ARCH_8M_MAIN__ #define isr_nmi NMI_Handler #define isr_hardfault HardFault_Handler #define isr_memmanage MemManage_Handler diff --git a/test/hardware_sync_spin_lock_test/hardware_sync_spin_lock_test.c b/test/hardware_sync_spin_lock_test/hardware_sync_spin_lock_test.c index 7ff8db0f5..a5f38002c 100644 --- a/test/hardware_sync_spin_lock_test/hardware_sync_spin_lock_test.c +++ b/test/hardware_sync_spin_lock_test/hardware_sync_spin_lock_test.c @@ -220,7 +220,7 @@ int main() { } } if (failed == 0u) { - printf("All tests passed.\n"); + printf("PASSED\n"); return 0; } else { printf("%u tests failed. Review log for details.\n", failed); diff --git a/test/kitchen_sink/kitchen_sink.c b/test/kitchen_sink/kitchen_sink.c index 0b712a220..81b9fee30 100644 --- a/test/kitchen_sink/kitchen_sink.c +++ b/test/kitchen_sink/kitchen_sink.c @@ -6,10 +6,12 @@ #include #include +#include #ifndef KITCHEN_SINK_INCLUDE_HEADER // provided for backwards compatibility for non CMake build systems - just includes enough to compile #include "hardware/dma.h" +#include "hardware/exception.h" #include "pico/sync.h" #include "pico/stdlib.h" #if LIB_PICO_BINARY_INFO @@ -61,6 +63,11 @@ float __attribute__((noinline)) foox(float x, float b) { return x * b; } +void svc_call(void) { + puts("PASSED"); + exit(0); +} + int main(void) { spiggle(); @@ -125,7 +132,10 @@ int main(void) { #endif #endif #ifndef __riscv - // this should compile as we are Cortex M0+ + exception_set_exclusive_handler(SVCALL_EXCEPTION, svc_call); + // this should compile as we are Cortex-M pico_default_asm ("SVC #3"); +#else + puts("PASSED"); #endif } diff --git a/test/pico_divider_test/pico_divider_test.c b/test/pico_divider_test/pico_divider_test.c index 5a7848222..77e168205 100644 --- a/test/pico_divider_test/pico_divider_test.c +++ b/test/pico_divider_test/pico_divider_test.c @@ -388,7 +388,7 @@ int main() { test_random(); - ostr("END\n"); + ostr("PASSED\n"); return 0; #endif } diff --git a/test/pico_sha256_test/pico_sha256_test.c b/test/pico_sha256_test/pico_sha256_test.c index 5b38d15c5..9cd819a48 100644 --- a/test/pico_sha256_test/pico_sha256_test.c +++ b/test/pico_sha256_test/pico_sha256_test.c @@ -172,5 +172,5 @@ int main() { run_test(false); run_test(true); - printf("Test passed\n"); + printf("PASSED\n"); } diff --git a/test/pico_stdlib_test/pico_stdlib_test.c b/test/pico_stdlib_test/pico_stdlib_test.c index 11f1f7900..d8f1238e9 100644 --- a/test/pico_stdlib_test/pico_stdlib_test.c +++ b/test/pico_stdlib_test/pico_stdlib_test.c @@ -101,5 +101,5 @@ int main() { printf("%" PRIu64 "\n", to_us_since_boot(get_absolute_time())); until = delayed_by_us(until, 500000); } - puts("DONE"); + puts("PASSED"); } diff --git a/test/pico_test/include/pico/test.h b/test/pico_test/include/pico/test.h index c4fc028e5..cb3a614a4 100644 --- a/test/pico_test/include/pico/test.h +++ b/test/pico_test/include/pico/test.h @@ -57,7 +57,7 @@ but not sure that is implemented yet. #define PICOTEST_END_TEST() if (picotest_error_code != 0) \ {printf("%s: Failed\n", picotest_description); return -1;} \ else \ - {printf("%s: Success\n", picotest_description); return 0;} + {printf("%s: Success\n", picotest_description); puts("PASSED"); return 0;} #endif