Timeline for Can abstractions and good code practice in embedded C++ eliminate the need for the debugger?
Current License: CC BY-SA 4.0
8 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Nov 5, 2019 at 23:16 | comment | added | Ben Voigt | It definitely is valuable as a debugging and diagnostic tool. It's a horrible test and validation tool. | |
Nov 5, 2019 at 16:13 | comment | added | crasic | @BenVoigt But if the error count is not what you expect, what will you do to interogate the system? What if there is a cpu error? The swd will let you examine all status registers. I am not suggesting you step through to understand your code I am saying that hardware errors can exist too. Even CPU errors where documentation is wrong and errata is needed. I believe you may be misinterpreting my answer or I didn't understand the question | |
Nov 5, 2019 at 16:09 | comment | added | Ben Voigt | I develop a UART driver based on the microcontroller documentation. I validate it by counting errors from incoming invalid packets, and reading them using commands in valid packets. Way too much repetitive work to do that in an interactive debugger. The debugger really is only useful for debugging. | |
Nov 5, 2019 at 16:00 | comment | added | crasic | @BenVoigt how would you develop or validate the UART driver? UART irq change the device state, a SWD just pauses it. The debugger and SWD/ICE is what the manufacturer validates to read out the internal state of your device, any external tool or firmware capacity for doing readouts would need to be verified and benchmarked, likely using the debugger . Depends on your requirements and tolerance for issues of course. GPIO is also useful for fantastic timing measurements, but it's hard to read out a lot of data, a UART requires CPU time to read out any significant data (115200bd is 100us a byte). | |
Nov 4, 2019 at 14:42 | comment | added | Ben Voigt | "As a development tool the debugger is essential for testing code and execution states in a sterile and controlled environment." No, it's not essential, one can certainly trigger test sequences through any sort of I/O port, with a UART being very popular. In fact it's not clear that a debugger is even useful for testing, sure it lets you look at variables that you didn't preplan to read, but structured output is far better for capturing, performing further analysis, and creating records of the test results. | |
S Nov 3, 2019 at 4:03 | history | suggested | Peter Mortensen | CC BY-SA 4.0 |
Copy edited (e.g. ref. <http://en.wikipedia.org/wiki/Input/output>). Introduced abbr.s "SE", "EE", "ME", and "PM".
|
Nov 3, 2019 at 2:41 | review | Suggested edits | |||
S Nov 3, 2019 at 4:03 | |||||
Nov 2, 2019 at 4:35 | history | answered | crasic | CC BY-SA 4.0 |