In my last post on 8015 couple of days back, I promised to revisit the soft core descendant of the 80C251 processor. Here we take a closer look at what it has to offer.
The advantage of micro-controllers is that it can offers many peripherals on chip. The more it can offer, more diverse systems can be implemented with it. So, let's take a look at the peripherals the DQ 80251, the soft core has to offer. One unique peripheral is a block that is JTAG compatible hardware. Other units on-chip include a power management unit, an interrupt controller, 4 x 8 bit I/O units, 2 x timer/controllers, and a full duplex serial port. We shall take a look at the peripherals in another post.
Meanwhile let us look at the debug facilities available through the access provided in the core. The interface follows the JTAG and other standards. The soft core bundle comes with a set of debug software too. So when you have created a device and implemented a system, you would be able to get a detailed look at what is happening when your application code is running. Major source of problems at development time is how the program logic was implemented. The logic used in developing algorithm(s) could be wrong. next thing is the problem in semantics. You used source statements meant to implement some logic but the exact semantics (that is rigid in programming languages) could be different. The same thing can extend to object code level. The compiler used may have used some machine instructions to implement the source statements but the actual machine code may do things differently, based on what it is defined to do.
To understand what exactly has happened inside the target machine can only be decoded by looking at the processor status (the ALU, registers, Stack pointer, any special registers, the flags, etc.), values of relevant variables, etc. Any good debug system should let you control execution and find these information bits.
The debug process breaks the chain of execution at some suitable point (chosen by the developer/tester) and allowing you to look at the relevant information as mentioned already. You should be able to do this after a block of code has been executed or even after every statement is executed. The debug hardware module and the software provided gives quite a sophisticated set up. You should be able to debug most kinds of systems implemented using the DQ80251.
No comments:
Post a Comment