Hey! I’m trying to use FreeRTOS with my Seeed XIAO nRF52840 Sense but for some reason even after follwing this (FreeRTOS with Wio Terminal | Seeed Studio Wiki) I’m running into the below error. It might be because I have an ARM core, what are some other options I can use?
I’ve also tried to use Zypher but can’t seem to upload files/flash the sensor since it keeps saying the board is not found.
Error:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_semaphore.c: In function ‘sem_init’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_semaphore.c:87:9: error: ‘errno’ undeclared (first use in this function)
87 | errno = EINVAL;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_semaphore.c:41:1: note: ‘errno’ is defined in header ‘<errno.h>’; did you forget to ‘#include <errno.h>’?
40 | #include “atomic.h”
+++ |+#include <errno.h>
41 |
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_semaphore.c:87:9: note: each undeclared identifier is reported only once for each function it appears in
87 | errno = EINVAL;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_semaphore.c: In function ‘sem_timedwait’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_semaphore.c:185:17: error: ‘errno’ undeclared (first use in this function)
185 | errno = ETIMEDOUT;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_semaphore.c:185:17: note: ‘errno’ is defined in header ‘<errno.h>’; did you forget to ‘#include <errno.h>’?
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_semaphore.c: In function ‘sem_trywait’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_semaphore.c:217:32: error: ‘errno’ undeclared (first use in this function)
217 | if( ( iStatus == -1 ) && ( errno == ETIMEDOUT ) )
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_semaphore.c:217:32: note: ‘errno’ is defined in header ‘<errno.h>’; did you forget to ‘#include <errno.h>’?
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_timer.c: In function ‘timer_create’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_timer.c:115:9: error: ‘errno’ undeclared (first use in this function)
115 | errno = ENOTSUP;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_timer.c:44:1: note: ‘errno’ is defined in header ‘<errno.h>’; did you forget to ‘#include <errno.h>’?
43 | #include “timers.h”
+++ |+#include <errno.h>
44 |
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_timer.c:115:9: note: each undeclared identifier is reported only once for each function it appears in
115 | errno = ENOTSUP;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_timer.c: In function ‘timer_settime’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_timer.c:206:13: error: ‘errno’ undeclared (first use in this function)
206 | errno = EINVAL;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_timer.c:206:13: note: ‘errno’ is defined in header ‘<errno.h>’; did you forget to ‘#include <errno.h>’?
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOSVariant.c: In function ‘delay’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOSVariant.c:133:19: warning: division by zero [-Wdiv-by-zero]
133 | vTaskDelay(ms / portTICK_PERIOD_MS);
| ^
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOSVariant.c: At top level:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOSVariant.c:164:2: error: #error “Processor or architecture not support!”
164 | #error “Processor or architecture not support!”
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_clock.c: In function ‘clock_settime’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_clock.c:205:5: error: ‘errno’ undeclared (first use in this function)
205 | errno = EPERM;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_clock.c:40:1: note: ‘errno’ is defined in header ‘<errno.h>’; did you forget to ‘#include <errno.h>’?
39 | #include “FreeRTOS_POSIX/utils.h”
+++ |+#include <errno.h>
40 |
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_clock.c:205:5: note: each undeclared identifier is reported only once for each function it appears in
205 | errno = EPERM;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_clock.c: In function ‘nanosleep’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_clock.c:224:9: error: ‘errno’ undeclared (first use in this function)
224 | errno = EINVAL;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_clock.c:224:9: note: ‘errno’ is defined in header ‘<errno.h>’; did you forget to ‘#include <errno.h>’?
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c: In function ‘mq_close’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c:443:9: error: ‘errno’ undeclared (first use in this function)
443 | errno = EBADF;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c:40:1: note: ‘errno’ is defined in header ‘<errno.h>’; did you forget to ‘#include <errno.h>’?
39 | #include “FreeRTOS_POSIX/utils.h”
+++ |+#include <errno.h>
40 |
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c:443:9: note: each undeclared identifier is reported only once for each function it appears in
443 | errno = EBADF;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c: In function ‘mq_getattr’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c:482:9: error: ‘errno’ undeclared (first use in this function)
482 | errno = EBADF;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c:482:9: note: ‘errno’ is defined in header ‘<errno.h>’; did you forget to ‘#include <errno.h>’?
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c: In function ‘mq_open’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c:521:9: error: ‘errno’ undeclared (first use in this function)
521 | errno = EINVAL;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c:521:9: note: ‘errno’ is defined in header ‘<errno.h>’; did you forget to ‘#include <errno.h>’?
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c: In function ‘mq_timedreceive’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c:654:9: error: ‘errno’ undeclared (first use in this function)
654 | errno = EBADF;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c:654:9: note: ‘errno’ is defined in header ‘<errno.h>’; did you forget to ‘#include <errno.h>’?
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c: In function ‘mq_timedsend’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c:746:9: error: ‘errno’ undeclared (first use in this function)
746 | errno = EBADF;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c:746:9: note: ‘errno’ is defined in header ‘<errno.h>’; did you forget to ‘#include <errno.h>’?
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c: In function ‘mq_unlink’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c:843:9: error: ‘errno’ undeclared (first use in this function)
843 | errno = EINVAL;
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_mqueue.c:843:9: note: ‘errno’ is defined in header ‘<errno.h>’; did you forget to ‘#include <errno.h>’?
In file included from /Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/error_hooks.cpp:3:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOSConfig.h:32:2: error: #error “Processor or architecture not support!”
32 | #error “Processor or architecture not support!”
| ^~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/error_hooks.cpp: In function ‘void vNopDelayMS(long unsigned int)’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/error_hooks.cpp:187:39: error: ‘configCAL_FACTOR’ was not declared in this scope
187 | unsigned long iterations = millis * configCAL_FACTOR;
| ^~~~~~~~~~~~~~~~
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_pthread.c: In function ‘pthread_create’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_pthread.c:355:13: warning: implicit declaration of function ‘vTaskSetApplicationTaskTag’; did you mean ‘xTaskCallApplicationTaskHook’? [-Wimplicit-function-declaration]
355 | vTaskSetApplicationTaskTag( pxThread->xTaskHandle, ( TaskHookFunction_t ) pxThread );
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| xTaskCallApplicationTaskHook
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_pthread.c: In function ‘pthread_self’:
/Users/ayaanesmail/Documents/Arduino/libraries/Seeed_Arduino_FreeRTOS/src/FreeRTOS_POSIX/FreeRTOS_POSIX_pthread.c:482:26: warning: implicit declaration of function ‘xTaskGetApplicationTaskTag’; did you mean ‘xTaskCallApplicationTaskHook’? [-Wimplicit-function-declaration]
482 | return ( pthread_t ) xTaskGetApplicationTaskTag( NULL );
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| xTaskCallApplicationTaskHook
Multiple libraries were found for “Adafruit_TinyUSB.h”
Used: /Users/ayaanesmail/Documents/Arduino/libraries/Adafruit_TinyUSB_Library
Not used: /Users/ayaanesmail/Library/Arduino15/packages/Seeeduino/hardware/nrf52/1.1.8/libraries/Adafruit_TinyUSB_Arduino
exit status 1
Compilation error: exit status 1