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
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 ?