/var/www/restricted/ssh/stm32/www/stm32circle/ STM CircleOS forum / Using a new CircleOS function in user app, with rebuilt CircleOS

Username:     
Password:     
             

Forum
  • Index
  •  » circleOS
  •  » Using a new CircleOS function in user app, with rebuilt CircleOS

# 1   2012-01-17 11:31:19 Using a new CircleOS function in user app, with rebuilt CircleOS

johnja9
New member
Registered: 2011-05-13
Posts: 6

Using a new CircleOS function in user app, with rebuilt CircleOS

I am trying to gain access to the filename of files I read and write to the sdCard, without GUI intervention. These files will have application configuration data in them, or be used for data-logging.

I don't see any way to do this without customising CircleOS. So, I have rebuilt CircleOS from source, and re-programmed my EvoPrimer successfully.
   
However, I can't access my new CircleOS function within my user application. The user application fails to compile :

Running: ARM Compiler
"C:\Program Files\Raisonance\Ride\arm-gcc\bin\arm-none-eabi-gcc.exe" -MD -D_STM32F107VCT6_EVO_ -D_STM3x_ -D_STM32x_ -mthumb   -mcpu=cortex-m3 "E:\Subversion\Firmware\Babybear\EvoPrimer\trunk\src\Application.c" -o "E:\Subversion\Firmware\Babybear\EvoPrimer\trunk\objdebug\Application.o" -I ".\Include" -I ".\Libraries\CMSIS\CM3\CoreSupport" -I ".\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x" -I ".\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7" -I ".\Libraries\STM32_USB-FS-Device_Driver\inc" -I ".\Libraries\STM32F10x_StdPeriph_Driver\inc" -I "C:\Program Files\Raisonance\Ride\Lib\ARM\CircleOS" -c     -fsigned-char -D OPEN4 -D USE_STDPERIPH_DRIVER -D USE_STM3210E_EVAL -D STM32F10X_HD  -g         -ffunction-sections        -Winline -mlittle-endian
..\EvoPrimer\trunk\src\Application.c: In function 'dataLogging_Handler': 
..\EvoPrimer\trunk\src\Application.c:644:57: error: macro "FS_SetSDCardCurrentPath" passed 1 arguments, but takes just 0 
..\EvoPrimer\trunk\src\Application.c:644:17: error: 'FS_SetSDCardCurrentPath' undeclared (first use in this function) 
..\EvoPrimer\trunk\src\Application.c:644:17: note: each undeclared identifier is reported only once for each function it appears in 
 
Build failed

To rebuild CircleOS :
1. I added the new function in fs.c/fs.h.
2. I updated circle_api.h to contain :

#define FS_SET_SD_CURRENT_PATH_ID (FS_ID+14) /* Get the current path of the SDCard*/

&

#define FS_SetSDCardCurrentPath()               (u32) (((tCircleFunc1)(Circle_API [FS_SET_SD_CURRENT_PATH_ID])) ((u8) (a)))                     /* void FS_SetSDCardCurrentPath (u8 *pathName);*/


3. I updated circle_api.c to contain :

( tCircleFunc0 )FS_SetSDCardCurrentPath,

then rebuilt CircleOS.

The updated circle_api.h is pointed to within the user application project setup.

Can anyone help explain the application compilation error, or point out anything I've done wrongly in rebuilding CircleOS?

Offline

 

# 2   2012-01-17 14:22:53 Using a new CircleOS function in user app, with rebuilt CircleOS

johnja9
New member
Registered: 2011-05-13
Posts: 6

Re: Using a new CircleOS function in user app, with rebuilt CircleOS

I found the error :


#define FS_SetSDCardCurrentPath(a)              (u32) (((tCircleFunc1)(Circle_API [FS_SET_SD_CURRENT_PATH_ID])) ((u8) (a)))                     /* void FS_SetSDCardCurrentPath (u8 *pathName);*/


Application now builds with the updated CircleOS.

Offline

 

  • Index
  •  » circleOS
  •  » Using a new CircleOS function in user app, with rebuilt CircleOS

Board footer