This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

errors in 'clib_arm.c' while adding FAT file system component with FreeRTOS

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