Showing results for 
Search instead for 
Did you mean: 

S2LP and STM32L051

Takayoshi Ishii
Associate III
Posted on January 31, 2018 at 17:22


I have been developping Sigfox device that is using S2LP and STM32.

I want to know how to link the S2LP library when the hardware is different from the Eval board.

First, I got the Eval board, STML053 + S2LP, and it worked.

Next, I made a original PCB, STM32L053 + S2LP, and it worked.

Then, I made original PCB again, STM32L051 + S2LP.  The MCU is changed from L053 to L051.

The SDK is S2-LP_Sigfox_DK_1.3.0. Pin assign is same of L053(Eval board).

1) When I switch the device setting from L053 to L051 on the sample program of the SDK, there were a lot of compile error. For example, there is a LCD driver error even the sample program doesn't use LCD..

2) When I don't change the device setting, that mean setting=L053, I can compile it and I can load the program into the L051. But S2LP doesn't work. Sometime, when I change the source program little bit and run, the L051 is broken. Especially,  when I comment out 'enc_utils_retrieve_data()', 100% the mcu is broken.

I think the function and other function just use SPI1 to communicate between STM32 to S2LP, and the pin assign is same as L053 and L051.  I gave up to use the sample program. 

3) I made a new project by using Cube-MX. The project directly is same as the sample program. I am making a new program referring to the sample program, but I couldn't compile 'ST_RF_API_xx' library.

For example, if I wrote


and compile it, error occurred as 


Error: L6218E: Undefined symbol ST_RF_API_set_xtal_freq (referred from main.o).

Not enough information to list image symbols.

Not enough information to list load address in the image map.


I included 

&sharpinclude 'assert.h'

&sharpinclude 'stddef.h'

&sharpinclude 'sigfox_types.h'

&sharpinclude 'sigfox_api.h'

&sharpinclude 'sigfox_retriever.h'

&sharpinclude 'S2LP_SDK_Util.h'

&sharpinclude 'MCU_Interface.h'

&sharpinclude 'st_rf_api.h'

&sharpinclude 'st_mcu_api.h'

&sharpinclude 'mcu_api.h'

&sharpinclude 'sigfox_types.h'

and there is no error for the included headder files.

I thought that I just need including 'st_rf_api.h', but may be something is missing.

Let me know how to use those library when I make a new project.