I am facing a issue in STM32L425 with IAR simulation mode. I recently try to implement unit test in an existing Embedded project. while using i used printf to print the information for that i enabled semi hosting option and everything when ever i call printf my code is getting crashed.
Related
I have a Catalyst application that uses Template Toolkit.
We recently decided to reorganise some of the tests so that some are skipped unless AUTHOR_TESTING or RELEASE_TESTING variables are set (which would be set for automated continuous integration tests).
Apparently when either the AUTHOR_TESTING or RELEASE_TESTING is set, some of the pages die with an error in the Catalyst view rendering stage:
Couldn't render template "[path to template]: undef error - "
A bit of searching on the web found something about enabling debugging at http://lists.scsys.co.uk/pipermail/catalyst/2007-March/012548.html but this is unhelpful.
I've run a grep for these environment variables in the installed Perl modules and Carton local library, in the hopes of finding the code that uses them. They only seem to be referenced by testing and Module-Build.
Can anyone help with identifying the cause of this?
After a bit of exploration and trial and error, it turns out that a custom method in the view (added to the template using expose_methods) died via Devel::StrictMode.
here is the problem I'm searching for help for: I've created an example program for testing BLE advertisement using exactly the source found in:
https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLETests/SampleServer.cpp
with a tiny addition of prints to make program progress visual.
When running the single file in Arduino it works perfectly as expected.
However, building it with vscode & platformio with the right setup, the program waits forever.
The right setup means correct board & Arduino platform selections which work perfectly for me for lots of other functionalities (BLE, WiFi, etc).
Following is the line where the program is waiting forever:
Thank you.
The code to run when compiled with VScode PlatfromIO
I've just started using the tests functionality in the Python extension. I want to debug my test however when I hit the debug button in the tests extension the debugger runs but doesn't stop on a bug and display a red box with the error - it just reports a failed test in the debug console. This means I can't examine the variables that caused the error.
I've tried just running the normal debugger (not from within the tests section) on the test file but the same thing happens. I've tried the normal debugger on a non-test file and it works fine.
Is the test debugger supposed to work in the same way as the normal debugger, i.e. stop on a bug?
Edit:
Worth me mentioning that the bug is occurring in the function I'm testing rather than the test file itself
Edit_2:
I've tested break points and they seem to be working ok. Can't get a conditional one to work though
I'm currently working on a project on STM32F4 and I'm using Eclipse. I've got some problems with the program - it seems to have a random behavior - sometimes it works fine, other times it has some errors. Sometimes when I try do debug with breakpoints I get the beautiful HardFault Handler and it really messes with my brains.
Sorry for the little off-topic paragraph, just wanted to let you know why I decided to use printing to a log file at some key moments in the program so I can see in which states and in which functions does the problem occur. I'm debugging through a JTAG interface with Eclipse (gdb) and I need to know if there is an easy method integrated in Eclipse that may help me use fprintf-like functions inside my program to write to a file on the disk.
If no, any other solutions?
Thanks
I do not like to connect the debug output log to the Jtag communication port because the log will not be available after development.
I usually build an SystemLog library that can send the log messages through any medium that is available (UART, USB, Ethernet or SDCARD). That's what I'd recommend you to do. It will help you through the development, and the support team on the event of any failure on field.
If stdlib is available in your project you should use the snprintf family functions to build your SystemLog.
Also, you can integrate the log output to the eclipse console by calling a serial console communicator (if you use UART) on you makefile, in this case, your makefile will have to flash the target as well.
Hello all: I have never posted on Stackoverflow, but I have always come here for help for years.
I have a question and problem regarding debugging in eclipse using an STLINK STM32 Discovery board. I have looked online for the answer and have followed many tutorials, but I still cannot seem to get it to work correctly. I will try my luck at asking here.
I have set up the eclipse environment correctly with my compiler and gdb server (to my knowledge). First I make sure the server is started before I press debug in eclipse. I am using Atollic STLINK gdb server. I have tried many arm-none-eabi-gdb type exe's while debugging, but they all seem the same. My debug configuration is setup to use arm-none-eabi-gdb on port 61234 (Attolic). When I press debug, the program launches correctly and goes into the debug view in eclipse. The program downloads correctly to my discovery board. I know this because I have gotten debugging to work partially and have stepped through the code without crashing on 'some' occasions depending on the compiled code and debug configuration startup options. The code is a simple LED turn on on the board. If I unplug the usb cable and plug it back in, my code runs fine, because the LEDs light up, so we know the environment is probably set up correctly, because the code downloads to flash via eclipse commands.
The problem is with actual debug steps. 99% of the time the arm-none-eabi-gdb.exe program crashes when in the debug view after I do a few "step into's" with the debugger commands at the top of eclipse. After the first line of my main function is reached, I will try to step into the first line and I get a windows crash of the arm-eabi.exe program. The debug console in eclipse reads a gdb error: .......dwarf2: C10xx Internal Error - unknown CFA rule. Now... depending on how I set the options in the debug configuration with regards to the startup tab, different options produce different results and the following options have been toggled: Halt, resume, break point at : main, etc.. This crash also seems to be dependent on the code being compiled in the main function.
Now, does this have any dependency on which compiler is used with the gdb server and arm-none-eabi-gdb.exe programs? For instance, if I compiled the code with Atollic versus Keil versus code sourcery versus IAR, would the Attollic gdb service + arm-none-eabi-gdb programs be able to work with any compiled code? Are there some missing symbols somewhere not being generated? For reference, I am using an EVAL version of the IAR compiler tool set. If I make a project with the same code in embedded workbench using the STLINK, the code compiles and debugs fine.
What is a CFA rule? Call frame address? Am I not setting up the stack pointer or something in my program? I thought the IAR compiler took care of all that junk in the cstartup.
Any help is appreciated.
Thanks,
LostTime77