cancel
Showing results for 
Search instead for 
Did you mean: 

PROBLEM WITH X-NUCLEO-GNSS1A1 and NUCLEO-F446ZE

gamelk
Associate III

Hi I have connected the GNSS1A1 board and F446ZE boards. When I run the FW (Virtual Com Port) that I set up through STM32CUBE IDE (X-CUBE-GNSS) and start the program, when it enters MX_GNSS_Process() the gnssMsg struct's buffer pointer is pointing at reserved 0x2002 0000 address. 

bufatreserved.png

Then I tried generating the code for FW Updater example program, the Teseo Suit Can not do anything. It stops at Syncing, or if I try to force the update, at around 80% it freezes and recommends recovery mode. That doesn't work either.

bufatreserved.png

 Please help. I tried everything I2C or UART port but it looks like nothing is helping. The GetPos example is running fine, however gets no data. 

bufatreserved.png

@Tesla DeLorean maybe you know something. :)

1 ACCEPTED SOLUTION

Accepted Solutions

Have you enabled callbacks when you selected for UART (From Teseo to STM32) ? You can enable callbacks from Project Manager Tab > Advanced Settings -- on the right you will see a panel, UART to ENABLE.

Also when you debug code does it hit this function? You can set a breakpoint/BP inside one of the lines in fsm_sync and see if the program control hits that BP.

static void teseo_rx_callback_ok(void)

 


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

View solution in original post

20 REPLIES 20
gamelk
Associate III

update:

teseo update was succesfull.

GalaxyQuest
ST Employee

Hello,

With X-NUCLEO-GNSS1A1, can you confirm it is LIV3F? I see from your screenshot you have programmed with LIV3FL. You can reprogram the board with LIV3F firmware.

Secondly, on GetPos example, it looks like you are able to run that. Can you try options 10 and 11? Make sure you are testing outside or at a very minimum by a window to get some satellites. Please note for actual testing of GNSS you need an outside view but for firmware development or just checking out features of Teseo LIV3F, you can sit by a window (partial view of sky).

 

Please make sure you regenerate the projects in both cases i.e. whether running GetPos for Virtual_COM_PORT.

Virtual_COM_Port, outputs NMEA data into serial termianl.

GetPos - parses the data and stores in data structures.

 


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Thank you for the quick answer! I did reupload the correct firmware: STA8090_4_6_8_2_UPG26. However, now I get the error in Teseo Suite: 

stagps.png

 GetGNSS message is still returning NULL however. After a power reset no such error showed up again.

Hello,

I do not have the specific STM32 to try out. I have the NUCLEO-F401RE with me.  Also, I am surprised to see such an error coming out of Teseo Suite, therefore can we take this step-by-step? 

At this point, I am trying to ascertain if if it is the Teseo module or if it is the STM32 board malfunctioning.

 

Could you please confirm the jumper settings on X-CUBE-GNSS1A1 board?

The jumper settings I have are,

Open Jumpers - J2,J10, J6, J8, J5,J9, J7

Closed Jumpers - J3,J13,J6,J4,J11,J12,J14,J15

When you programmed LIV3F with the firmware version shown above, did you use Teseo Suite or the firmware upgrader tool?


 GetGNSS message is still returning NULL however. After a power reset no such error showed up again.


Could you please let me know what you are referring by your quote above?

Are you seeing the blinking RED LED, D2?

 


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Hey,

I used the TESEO suite for updating the fw.

For me it is setup a bit differently. Im using the USART 6 as Asynchronous with 115200 baud rate of the NUCLEO-F446ZE. (Pins PG9, PG14 - > D0,D1). Jumpers on the GNSS1A1:

OPEN:

J3,J4,J7,J8,J10,J11,J12,J13

CLOSED:

J2, J4, J5, J6, J9, J13, J14, J15.

 

 

What I meant is after resetting the boards, and restarting the TESEO suite, the error in the picture didn't show up again. Yes, PPS is blinking. What is strange to me I routed an USER_LED on the F446ZE board to the wake-up signal and the state of it doesn't change at all. I can try leaving the wake-up signals floating. Currently the wake-up signal GPIO is set as "High" in GPIO settings.

gamelk_0-1729008681861.png

as for the message, this function returns a NULL value.

Running GetPos example code.

As for the VirtualComPort application is the loop where the app is stuck.

gamelk_0-1729009677949.png

 

With the jumpers set up the way mentioned by you, Communication via I2C.

gamelk_1-1729011218663.png

PPS blinking. PF13 set up as Reset Pin (GPIO status output HIGH)

gamelk_2-1729011275491.png

Data is still yet to come.

Hi,

On GNSS1A1 board, Red blinking LED = good sign. It means Teseo module is working.

Troubleshooting UART configuration below,

 


 Im using the USART 6 as Asynchronous with 115200 baud rate of the NUCLEO-F446ZE. (Pins PG9, PG14 - > D0,D1). Jumpers on the GNSS1A1:

Is USART6 between, STM32 and Teseo Module? If so, the module is configured by default at 9600, therefore setting the baud-rate to 115200 would be a problem.

The baud-rate between STM32 and PC is 115200.

If you have an oscilloscope/logic analyzer, can you check PG9 and PG14 on the header pins and see if you are seeing data?

 

GPIO pins troubleshoot,

You can leave Wake-up floating.

You mentioned J13 in each section in your open and closed jumper setting, . Therefore, can you double-check if it matches setting I provided you?

 

On I2C,

J11 and J12 jumpers should be closed, I2C_CLK and I2C_DATA respectively. 

Again would be great to check if you can see I2C traffic if you can monitor using a scope or logic analyzer.


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.