Hi there,
I am using the following environment:
- CCS Version: 10.2.0.00009
- SDK simplelink_cc32xx_sdk_4_40_00_07
- costumer board with CC3220MODASF
- TI-RTOS
- use of Posix threads in the application/ firmware
I have debugged my program. At one point the ROV shows me the error shown in the figure: SP outside stack!
ROV marked this error (?) in red.
This error is reproducible and occurs when I step over the function "getData" that loads some values from an SPI flash.
The breakpoint is just before the function call, step over this function and the ROV shows me the the error.
I attached two pictures, see below:
The first shows the ROV output just before calling the function "getData" ( 4 active threads ).
The second shows the ROV output after stepping over the function "getData" ( 6 active threads ).
The function "getData" itself is part of an initialization routine that is called from inside a Posix thread.
During the time the function is working two other threads are started in the background (see the second picture).
If I move the breakpoint to the end of the initialization routine or at a point somewhere later in the program, no error message appears.
I found that the error only occurs when the getData function uses SPI transfers. Guarding SPI access using mutexes does not change this behavior.
In addition, I cannot find any errors in the program. The requested data is loaded, checked and then processed.
The threads started at the time the function getData is working, are working as expected.
If I hadn't accidentally set the breakpoint exactly in front of the getData function, I would never have seen "SP outside stack!".
I can imaging that the ROV message occurs because of the combination of creating threads are started and the location of the breakpoint.
This points me: I can ignore the message.
But I have to sure about this.
Can you please help me about this ROV message?
Thanks for reading all of this.
Best regards,
Roman