Hi,
I am trying to setup FAT32 file system for SD card according to steps mentioned in (http://www.keil.com/pack/doc/mw/FileSystem/html/fs_create_app.html#fs_Device_Configuration). Following are my RTE component settings.
When compiling the project, I am getting the following errors with clib_arm.c
compiling clib_arm.c... C:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.0\CMSIS\RTOS2\FreeRTOS\Source\ARM\clib_arm.c(46): error: #77-D: this declaration has no storage class or type specifier __WEAK C:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.0\CMSIS\RTOS2\FreeRTOS\Source\ARM\clib_arm.c(47): error: #65: expected a ";" void _platform_post_stackheap_init (void); C:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.0\CMSIS\RTOS2\FreeRTOS\Source\ARM\clib_arm.c(133): error: #77-D: this declaration has no storage class or type specifier __USED int _mutex_initialize(mutex *m); C:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.0\CMSIS\RTOS2\FreeRTOS\Source\ARM\clib_arm.c(133): error: #65: expected a ";" __USED int _mutex_initialize(mutex *m); C:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.0\CMSIS\RTOS2\FreeRTOS\Source\ARM\clib_arm.c(134): error: #77-D: this declaration has no storage class or type specifier __USED void _mutex_acquire (mutex *m); C:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.0\CMSIS\RTOS2\FreeRTOS\Source\ARM\clib_arm.c(134): error: #65: expected a ";" __USED void _mutex_acquire (mutex *m); C:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.0\CMSIS\RTOS2\FreeRTOS\Source\ARM\clib_arm.c(135): error: #77-D: this declaration has no storage class or type specifier __USED void _mutex_release (mutex *m); C:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.0\CMSIS\RTOS2\FreeRTOS\Source\ARM\clib_arm.c(135): error: #65: expected a ";" __USED void _mutex_release (mutex *m); C:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.0\CMSIS\RTOS2\FreeRTOS\Source\ARM\clib_arm.c(136): error: #77-D: this declaration has no storage class or type specifier __USED void _mutex_free (mutex *m); C:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.0\CMSIS\RTOS2\FreeRTOS\Source\ARM\clib_arm.c(136): error: #65: expected a ";" __USED void _mutex_free (mutex *m); C:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.0\CMSIS\RTOS2\FreeRTOS\Source\ARM\clib_arm.c(151): warning: #223-D: function "xSemaphoreCreateMutexStatic" declared implicitly clib_mutex_id[i] = xSemaphoreCreateMutexStatic(&clib_mutex_cb[i]); C:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.0\CMSIS\RTOS2\FreeRTOS\Source\ARM\clib_arm.c(151): error: #513: a value of type "int" cannot be assigned to an entity of type "SemaphoreHandle_t" clib_mutex_id[i] = xSemaphoreCreateMutexStatic(&clib_mutex_cb[i]); C:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.0\CMSIS\RTOS2\FreeRTOS\Source\ARM\clib_arm.c: 1 warning, 11 errors compiling cmsis_os2.c... C:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.0\CMSIS\RTOS2\FreeRTOS\Include\freertos_os2.h(52): error: #35: #error directive: "Definition INCLUDE_xSemaphoreGetMutexHolder must be non-zero to implement Mutex Management API." #error "Definition INCLUDE_xSemaphoreGetMutexHolder must be non-zero to implement Mutex Management API." C:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.0\CMSIS\RTOS2\FreeRTOS\Source\cmsis_os2.c: 0 warnings, 1 error
Looks like you or your colleague already raised the support case regarding this.The initial observations have been communicated in the support case.
My lucky guess would be that you initially used FreeRTOS Native config file (component RTOS::Config::FreeRTOS) instead of CMSIS RTOS2 variant (component RTOS::Config::CMSIS RTOS2).Delete current FreeRTOSConfig.h file, uncheck RTOS::Config component and select it agaig but this time using config variant for CMSIS RTOS2.
Sankalp Agarwal said:Looks like you or your colleague already raised the support case
Here: https://community.arm.com/developer/tools-software/tools/f/keil-forum/45764/errors-in-clib_arm-c ?