IP Library Granted Patent US 10,552,560
Granted Patent B2
US 10,552,560 · App. 15/284,096 · Granted Feb 4, 2020

Controlling real time during embedded system development

Inventors: Lance S. P. Brooks (Oregon City, OR); Darrell A. Teegarden (Lake Oswego, OR)
Assignee: Mentor Graphics Corporation
G06F17/5027G06F9/455G06F9/45537G06F11/362G06F17/5022G06F2217/62
View Patent ↗
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 10,552,560
App. No.
15/284,096
Granted
Feb 4, 2020
Kind
B2
Abstract

Disclosed herein are representative embodiments of methods, systems, and apparatus that can used to control real-time events (e.g., the real-time clock) during the design, simulation, or verification of an embedded system. In one exemplary embodiment disclosed herein, for example, a real-time clock signal is generated and tasks defined by an embedded software application are triggered with the real-time clock signal. In this embodiment, the embedded software application is executed by an embedded processor with a real-time operating system (“RTOS”), and the real-time clock signal is controllable independent of a processor clock signal driving the embedded processor in a manner that allows the real-time clock to have a different time base than the processor clock.

Claims (41)

1. A method, comprising:

generating a real-time clock signal; and

triggering tasks defined by an embedded software application with the real-time clock signal,

wherein the embedded software application is executed by an embedded processor with a real-time operating system (“RTOS”), and

wherein the real-time clock signal is controllable independent of a processor clock signal driving the embedded processor such that the real-time clock signal has a different time base than the processor clock signal, and

wherein the processor clock signal is derived from a source that is separate and different from a source of the real-time clock signal.

2. The method of claim 1 , wherein the real-time clock signal is generated by software running on a computer workstation.

3. The method of claim 1 , wherein the real-time clock signal is generated by software running on another external embedded system.

4. The method of claim 1 , wherein the real-time clock signal is generated by software that is running as a task within the embedded processor.

5. The method of claim 1 , further comprising suspending the generation of the real-time clock signal for a period of time without interrupting the processor clock signal.

6. The method of claim 5 , wherein the act of suspending the generation of the real-time clock signal is performed in response to a signal controlled by the embedded software application being executed by the embedded processor.

7. The method of claim 5 , further comprising restarting the generation of the real-time clock signal without interrupting the processor clock signal, the act of restarting the real-time clock causing the triggering to be continued.

8. The method of claim 7 , wherein the act of restarting the generation of the real-time clock signal is performed in response to a signal controlled by the embedded software application being executed by the embedded processor.

9. The method of claim 1 , wherein the embedded processor is part of an embedded system, and wherein the real-time clock signal is generated in part by a clock generator circuit located on the embedded system.

10. The method of claim 1 , further comprising measuring execution times of software executed on the embedded processor using a system profiler.

11. A method, comprising:

generating a series of real-time event signals; and

triggering tasks defined by an embedded software application with the real-time event signals,

wherein the embedded software application is executed by an embedded processor with a real-time operating system (“RTOS”), and

wherein the real-time event signals are controllable independent of processor clock signals driving the embedded processor such that the real-time event signals have a different time base than the processor clock signals,

wherein the processor clock signals are derived from a source that 1 s different and separate from the real-time event signals.

12. The method of claim 11 , wherein the real-time event signals are generated by software running on a computer workstation.

13. The method of claim 11 , wherein the real-time event signals are generated by software running on another external embedded system.

14. The method of claim 11 , wherein the real-time event signals are generated by software that is running as a task within the embedded processor.

15. The method of claim 11 , wherein the real-time event signals indicate that data is ready to be loaded from or sent to a peripheral coupled to the embedded processor.

16. The method of claim 11 , further comprising suspending the generation of the series of real-time event signals for a period of time without interrupting the processor clock signals.

17. The method of claim 16 , wherein the act of suspending the generation of the real-time event signals is performed in response to a signal controlled by the embedded software application being executed by the embedded processor.

18. The method of claim 16 , further comprising restarting the generation of the series of real-time event signals without interrupting the processor clock signals, the act of restarting causing the triggering to be continued.

19. The method of claim 18 , wherein the act of restarting the real-time event signals is performed in response to a signal controlled by the embedded software application being executed by the embedded processor.

20. The method of claim 11 , wherein the embedded processor is part of an embedded system, and wherein the real-time event signals are generated by a circuit located on the embedded system.

21. The method of claim 11 , further comprising measuring execution times of software executed on the embedded processor using a system profiler.

22. A system, comprising:

a host computer configured to execute software that generates a first signal; and

an embedded system coupled to the host computer and having an embedded processor, the embedded processor being configured to run a real-time operating system (“RTOS”) that executes tasks of a software application based on receipt of the first signal from the software running on the host computer,

the embedded processor being configured to execute individual instructions of the tasks based on receipt of a second signal, the first signal being controllable independent of the second signal such that the first and second signals have a different time base and such that the second signal is derived from a source that is different and separate from the first signal.

23. The system of claim 22 , wherein the first signal is the real-time clock signal.

24. The system of claim 22 , wherein the first signal is a real-time event signal that is not the real-time clock signal.

25. The system of claim 22 , wherein the first signal is communicated through one of a local area network (“LAN”) channel, universal serial bus (“USB”) channel, serial peripheral interface (“SPI”) channel, joint test action group (“JTAG”) channel, FlexRay channel, local interconnect network (“LIN”) channel, controller area network (“CAN”) channel, or inter-process communication (“IPC”) channel of the embedded system.

26. The system of claim 22 , wherein the software executing on the host computer is capable of suspending the first signal while the second signal continues uninterrupted.

27. The system of claim 22 , further comprising one or more additional embedded systems coupled to the host computer, each having respective embedded processors running respective RTOSes that are configured to execute tasks of respective software applications based on receipt of the first signal from software running on the host computer, and each being configured to execute individual instructions of the tasks based on receipt of other respective signals that are controllable independent of the first signal in a manner that allows the first signal and the other respective signals to have a different time base.

28. The system of claim 22 , wherein the host computer is further configured to execute a simulator or debugger, and wherein the software that generates the first signal is running within the simulator or the debugger.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Jun 9, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 056526/0054 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2017
From: BROOKS, LANCE S. P.; TEEGARDEN, DARRELL A.
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 041068/0770 →
Continuity (2)
Continuation 12218107 · Jul 10, 2008
Related Publication 20170185708A1 · Jun 29, 2017
Cited By (2)
US 12,416,727 US 12,487,595