AnsweredAssumed Answered

S2LP and STM32L051

Question asked by Takayoshi Ishii on Jan 31, 2018

Hello,

 

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

 

ST_RF_API_set_xtal_freq(50000000);

 

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 

 

#include "assert.h"
#include "stddef.h"
#include "sigfox_types.h"
#include "sigfox_api.h"
#include "sigfox_retriever.h"
#include "S2LP_SDK_Util.h"
#include "MCU_Interface.h"
#include "st_rf_api.h"
#include "st_mcu_api.h"
#include "mcu_api.h"
#include "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.

 

Outcomes