Poll

How important is debug port access for microcontroller code development?

Must have - can't live without it!
22 (20.2%)
It's already 2016 and debug support must be standard everywhere!
23 (21.1%)
It's essential.  Code development will take a lot more time and effort without it.
25 (22.9%)
It's nice to have but I would be fine even without it.
32 (29.4%)
It's just a luxury so better take it out to save cost.
2 (1.8%)
It's not needed.
5 (4.6%)

Total Members Voted: 109

Author Topic: [POLL] Necessity of Debug Port for Code Development  (Read 19314 times)

0 Members and 1 Guest are viewing this topic.

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: [POLL] Necessity of Debug Port for Code Development
« Reply #75 on: October 22, 2016, 11:16:28 am »
yesterday I modified my debug engine (integrated within my own soft core)
in order to support a new kind of test point: cbranch-point

so, now I have
  • break point, the PC triggers the event
  • watch point, the EA triggers the event (Effective Address used in load/store stage)
  • cbranch point, every conditional branch triggers the event

it's useful for the dynamic coverage
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: [POLL] Necessity of Debug Port for Code Development
« Reply #76 on: October 22, 2016, 11:46:42 am »
yesterday I modified my debug engine (integrated within my own soft core)
in order to support a new kind of test point: cbranch-point

so, now I have
  • break point, the PC triggers the event
  • watch point, the EA triggers the event (Effective Address used in load/store stage)
  • cbranch point, every conditional branch triggers the event

it's useful for the dynamic coverage

You might as well extend the cbranch point to a more generic opcode point - whenever a certain opcode is encountered it triggers the event. to break on cbranches just break on the cbranch opcodes.
 

Offline John Coloccia

  • Super Contributor
  • ***
  • Posts: 1212
  • Country: us
Re: [POLL] Necessity of Debug Port for Code Development
« Reply #77 on: October 22, 2016, 01:07:31 pm »
I voted for "it's not needed." Honestly, I really just can't remember the last time I used a debugger for anything. Maybe I should have voted for one of the other options because it is very occasionally convenient. I can't actually remember ever working on a system that didn't have SOME access to JTAG, even if the connector was unpopulated and I had to solder wires to get to it. I don't know. If it's no big deal to include one, I don't see why you'd go out of your way to remove it, but if it's causing massive space and cost problems for some reason it would definitely be one of those things I'd consider removing, especially on a more mature project.
 

Offline pelule

  • Frequent Contributor
  • **
  • Posts: 513
  • Country: de
  • What is business? It’s other people’s money
Re: [POLL] Necessity of Debug Port for Code Development
« Reply #78 on: October 22, 2016, 01:12:52 pm »
I voted "Must have" - simply because thats my resumee out of more than 20 years of embedded development.
In the past a very expensive in-circuit emulator was the only way to get a project ready in calculated time.
Since the flash based products are in the market the debug port offers a lower cost solution.
You will learn something new every single day
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26868
  • Country: nl
    • NCT Developments
Re: [POLL] Necessity of Debug Port for Code Development
« Reply #79 on: October 22, 2016, 01:19:20 pm »
Reading this thread the necessity of a debug port depends largely on what kind of work you do (low level stuff without any I/O), whether you develop higher level software on the hardware itself or use a PC/simulator and last but not least programming style. Also when it comes to more advanced features (like profiling or 'realtime' debugging) it seems you still have to pay a lot of money for a good debugging environment. OTOH several low cost solutions are available nowadays which wheren't there in the 90's and earlier so setting breakpoints, stepping and watching variables is cheaper than ever nowadays.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: [POLL] Necessity of Debug Port for Code Development
« Reply #80 on: October 22, 2016, 01:38:49 pm »
about me, i'd better talk about
"instrumentation", refering to an ability
a) to monitor and  b) to measure
the level of a product's performance
c) to diagnose errors and d) to record traces

"traces" are needed when you have to fill
some reports, test reports and coverage reports
you need to include some file as evidence

I also need to alter the common flow
because I need to prove and to check
the the behavior of the program
under "abnormal conditions"

therefore I need to break on some points
and then I need to modify registers/branches
in order to force the code and see if
everything goes according to requirements
 

Offline John Coloccia

  • Super Contributor
  • ***
  • Posts: 1212
  • Country: us
Re: [POLL] Necessity of Debug Port for Code Development
« Reply #81 on: October 22, 2016, 02:49:15 pm »
Reading this thread the necessity of a debug port depends largely on what kind of work you do (low level stuff without any I/O), whether you develop higher level software on the hardware itself or use a PC/simulator and last but not least programming style. Also when it comes to more advanced features (like profiling or 'realtime' debugging) it seems you still have to pay a lot of money for a good debugging environment. OTOH several low cost solutions are available nowadays which wheren't there in the 90's and earlier so setting breakpoints, stepping and watching variables is cheaper than ever nowadays.

I think it's more about "programming style" than anything else, and how you're used to working. I think older guys like me (and I'm not that old....42...but old enough) are simply used to working without a good debugger, and you get kind of good at looking at a piece of code and being able to imagine exactly what's going on, what timing issues may exist and things like that, because you just had to be.

It's kind of like doing arithmetic in your head. If the work you do requires that you do a lot of calculating, and I have had to do stuff like this from time to time, you just start getting a feel for the numbers involved, you learn tricks etc, and you end up being able to do a lot of stuff in your head much faster than whipping out a calculator. And then you don't do it for a while and it all goes away and you become stupid again. :)

A lot of my early career was stuff like radar processing and robotics. Often times you can't even get to the processor in question, never mind getting some sort of debug setup going, so it's not even really an option, but it's hard to imagine why you would ever not provide that sort of access during development, or at a minimum you should at least have a development board to work on so you can test your code, do you debugging if you have to and then try it on the real thing. This stuff is hard enough as it is so it's kind of dumb to limit your options, even if you don't use them 99% of the time.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf