IP Library Patent Application 11764949
Patent Application
App. No. 11/764,949

MICROCONTROLLER AND DEBUGGING METHOD

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
11/764,949
Abstract

A microcontroller has a RAM monitor function that facilitates debugging by enabling a debugging device to specify a location and access the specified location during program execution. Access takes place when the microcontroller's central processing unit or a peripheral module in the microcontroller satisfies a predetermined condition. The access can therefore be synchronized with the execution of a particular instruction, or the occurrence of an interrupt.

Claims (37)

1 . A microcontroller having a central processing unit, a memory, and at least one peripheral module interconnected by a system bus, the microcontroller comprising:

a data transceiver for receiving a monitor address from an external device, the monitor address designating a location in the memory or a location in the peripheral module; and

an access controller interposed between the data transceiver and the system bus and connected directly to the central processing unit, for accessing the location designated by the monitor address when the central processing unit or the peripheral module satisfies a predetermined condition and transferring data between the external device and the designated location.

2 . The microcontroller of claim 1 , wherein the central processing unit has a program counter, and the predetermined condition includes the presence of a specific value in the program counter.

3 . The microcontroller of claim 2 , wherein the access controller comprises:

a comparison register for storing an instruction address; and

a comparator for comparing the instruction address stored in the comparison register with a value stored in the program counter in the central processing unit.

4 . The microcontroller of claim 2 , wherein the central processing unit generates a bus enable signal indicating availability of the system bus, and the predetermined condition also includes the availability of the system bus.

5 . The microcontroller of claim 4 , wherein the access controller comprises:

a comparison register for storing an instruction address; and

a comparator for comparing the instruction address stored in the comparison register with a value stored in the program counter in the central processing unit;

an address register for storing the monitor address;

a data register for storing the data transferred between the external device and the designated location;

a timing controller for generating control signals controlling access to the designated location;

a first flip-flop connected to the data transceiver and the timing controller, for generating a flag signal that is set when the data transceiver sets the monitor address in the address register and is reset when the timing controller accesses the designated location;

a second flip-flop connected to the data transceiver and the comparator, for generating a timing signal that is reset when the data transceiver sets the monitor address in the address register and is set when the value in the program counter matches the instruction address stored in the comparison register; and

a logic gate receiving the flag signal, the timing signal, and the bus enable signal and generating a start signal that activates the timing controller.

6 . A method of debugging the microcontroller of claim 5 , comprising:

setting the instruction address in the comparison register;

setting the monitor address in the address register;

comparing the value in the program counter with the instruction address; and

accessing the location designated by the monitor address when the value in the program counter matches the instruction address.

7 . The microcontroller of claim 1 , wherein at least one of the central processing unit and the peripheral module generates an interrupt, and the predetermined condition includes generation of the interrupt.

8 . The microcontroller of claim 7 , wherein the central processing unit generates a bus enable signal indicating availability of the system bus, and the predetermined condition also includes the availability of the system bus.

9 . The microcontroller of claim 8 , wherein the access controller comprises:

an address register for storing the monitor address;

a data register for storing the data transferred between the external device and the designated location;

a timing controller for generating control signals controlling access to the designated location;

a first flip-flop connected to the data transceiver and the timing controller, for generating a flag signal that is set when the data transceiver sets the monitor address in the address register and is reset when the timing controller accesses the designated location;

a second flip-flop connected to the data transceiver, for generating a timing signal that is reset when the data transceiver sets the monitor address in the address register and is set when the interrupt is generated; and

a first logic gate receiving the flag signal, the timing signal, and the bus enable signal and generating a start signal that activates the timing controller.

10 . The microcontroller of claim 9 , wherein both the central processing unit and the peripheral module generate respective interrupt signals, and the access controller further comprises:

a second logic gate connected to the second flip-flop, for receiving the interrupt signals from the central processing unit and the peripheral module and generating a signal that sets the timing signal.

11 . A method of debugging the microcontroller of claim 9 , comprising:

setting the monitor address in the address register;

monitoring the central processing unit or the peripheral module; and

accessing the location designated by the monitor address when the central processing unit or the peripheral module generates an interrupt.

Assignments (2)
CHANGE OF NAME Recorded Jan 22, 2009
From: OKI ELECTRIC INDUSTRY CO., LTD.
To: OKI SEMICONDUCTOR CO., LTD.
Reel/Frame 022162/0669 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2007
From: YAMADA, KAZUYA
To: OKI ELECTRIC INDUSTRY CO., LTD.
Reel/Frame 019453/0879 →