IP Library Granted Patent US 9,348,618
Granted Patent B2
US 9,348,618 · App. 13/419,865 · Granted May 24, 2016

Systems and methods for enhancing firmware

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 9,348,618
App. No.
13/419,865
Granted
May 24, 2016
Kind
B2
Abstract

A measuring instrument includes at least one processor having at least one processor internal resource. The measuring instrument may also include at least one hardware component external to the processor and at least one storage component. Firmware may be stored in the storage component and is accessible by the processor. The firmware includes at least one application; a virtualized hardware system having routines that emulate at least one processor internal resource; and at least one application programming interface between the application and the virtualized hardware system.

Claims (35)

1. A measuring instrument comprising:

at least one processor having at least one processor internal resource;

at least one hardware component external to the processor;

at least one storage component;

firmware stored in the storage component and accessible by the processor, the firmware comprising:

at least one application;

a virtualized hardware system configured to determine one or more differences between the at least one application of the firmware and one or more of the at least one processor internal resource and the at least one hardware component external to the processor, the one or more differences including at least parameters associated with the at least one application,

wherein the virtualized hardware system includes routines that emulate, based on the one or more determined differences, the at least one processor internal resource, and

wherein the virtualized hardware system is configured to change, based on the one or more determined differences, at least one of the following: the at least one hardware component external to the processor and the at least one processor internal resource to provide the at least one application with an access to the at least one processor internal resource and the at least one hardware component external to the processor; and

at least one application programming interface between the application and the virtualized hardware system.

2. The measuring instrument of claim 1 wherein the routines comprise drivers having at least one common processor driver element and at least one processor specific driver element.

3. The measuring instrument of claim 2 wherein the application programming interface comprises at least one of the common processor driver element.

4. The measuring instrument of claim 2 wherein the firmware further comprises at least one software component that maps the application programming interface to at the least one processor specific driver element.

5. The measuring instrument of claim 1 wherein the firmware further comprises at least one software component that maps the application programming interface to the at least one processor internal resource.

6. The measuring instrument of claim 1 wherein the at least one hardware component external to the processor comprises at least one driver having at least one common hardware driver element and having at least one hardware specific driver element.

7. The measuring instrument of claim 6 wherein the application programming interface comprises at least one common hardware driver element.

8. The measuring instrument of claim 6 wherein the firmware further comprises at least one software component that maps the application programming interface to the at least one hardware specific driver element.

9. The measuring instrument of claim 1 wherein the at least one processor internal resource comprises at least one processor internal resource selected from among the group consisting of an I2C interface, a GPIO interface, an ADC, a DAC interface, an interrupt controller interface, a processor clock management interface, an SPI interface, a hardware timer, a UART/USART interface, a processor watchdog handler; and a processor security engine.

10. The measuring instrument of claim 1 wherein the at least one hardware component comprises at least one selected from among the group consisting of a metrology subsystem, a communications subsystem, and a data store.

11. The measuring instrument of claim 10 wherein the data store comprises at least one selected from among the group consisting of an EEPROM and a flash memory.

12. The measuring instrument of claim 10 wherein the metrology subsystem comprises at least one selected from among the group consisting of a voltage sensor, a current sensor, and a load side voltage sensor.

13. The measuring instrument of claim 10 wherein the communication subsystem comprises at least one selected from among the group consisting of a wireless communication subsystem; a power line communications subsystem; and an optical communication subsystem.

14. A method for controlling a measuring instrument having a processor, firmware, and at least one hardware component comprising:

storing at least one application in the firmware;

providing a virtualized hardware system configured to determine one or more differences between the at least one application of the firmware and one or more of the at least one processor internal resource and the at least one hardware component external to the processor, the one or more differences including at least parameters associated with the at least one application,

wherein the virtualized hardware system includes routines that emulate,

based on the one or more determined differences, the at least one processor internal resource, and

wherein the virtualized hardware system is configured to change, based on the one or more determined differences, at least one of the following: the at least one hardware component external to the processor and the at least one processor internal resource to provide the at least one application with an access to the at least one processor internal resource and the at least one hardware component external to the processor;

providing at least one application programming interface between the application and the virtualized hardware system;

providing instructions that map the application programming interface to the processor internal resource; and

communicating between the application and the processor internal resource through the application programming interface.

15. The method of claim 14 further comprising providing a virtualized hardware system having at least one routine that emulate at least one function of the external hardware component.

16. The method of claim 15 wherein the function of the external hardware component comprises at least one common hardware driver element and at least one hardware specific driver element.

17. The method of claim 16 wherein the method element of providing at least one application programming interface between the application and the virtualized hardware system comprises providing at least one application programming interface with the at least one common hardware driver element.

18. The method of claim 15 wherein the method element of providing a virtualized hardware system comprises providing at least one subsystem selected from among the group consisting of a virtualized metrology subsystem, a virtualized communications subsystem, and a virtualized data store.

Assignments (9)
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Mar 5, 2018
From: PNC BANK, NATIONAL ASSOCIATION
To: MRH METERS LLC
Reel/Frame 046117/0792 →
RELEASE OF SECURITY INTEREST Recorded Feb 5, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ACLARA TECHNOLOGIES LLC; ACLARA METERS LLC
Reel/Frame 045245/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 30, 2016
From: CERBERUS BUSINESS FINANCE, LLC
To: ACLARA TECHNOLOGIES LLC; ACLARA METERS LLC F/K/A MRH METERS LLC
Reel/Frame 039880/0908 →
SECURITY AGREEMENT Recorded Aug 30, 2016
From: ACLARA TECHNOLOGIES LLC; ACLARA METERS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 039872/0227 →
CHANGE OF NAME Recorded Feb 18, 2016
From: MRH METERS LLC
To: ACLARA METERS LLC
Reel/Frame 037852/0418 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2015
From: GENERAL ELECTRIC COMPANY
To: MRH METERS LLC (F/K/A LJF METERS LLC)
Reel/Frame 037398/0877 →
PATENT SECURITY AGREEMENT Recorded Dec 22, 2015
From: MRH METERS LLC
To: CERBERUS BUSINESS FINANCE, LLC, AS AGENT
Reel/Frame 037362/0603 →
SECURITY INTEREST Recorded Dec 22, 2015
From: MRH METERS LLC
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 037359/0375 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2012
From: KEENEY, ROBERT PATRICK; LADEAU, BRUCE ROBERT; PASUPULETI, RAJESWARA RAO
To: GENERAL ELECTRIC COMPANY
Reel/Frame 027862/0844 →