SHARED MEMORY ARCHITECTURE
First Claim
Patent Images
1. For use with a battery monitoring system (BMS) having an application operable to measure current flow to a vehicle battery and a launcher operable to enable drivers utilized by the application, the BMS having a non-volatile memory and a volatile memory for storing code, the method comprising:
- storing application code for application functions capable of being called by the application to an application memory block of the non-volatile memory;
storing launcher code for launcher functions capable of being called by the launcher to a launcher memory block of the non-volatile memory;
storing shared code for an n number of shared functions capable of being called by the launcher and application to a shared memory block having an n number of locations of the non-volatile memory;
re-compiling the shared code where at least the same n number of shared functions are still available one or more times; and
storing one of an n number of shared function pointers within the shared memory block for each one of then number of shared functions, wherein each one of the n number of locations within the shared memory block remains dedicated to storing the same one of the n number of shared function pointers following each operation of re-compiling the shared code.
5 Assignments
0 Petitions
Accused Products
Abstract
A shared memory architecture is disclosed to support operations associated with executing shared functions from a shared memory space in such a manner that separate pieces of software can execute the shared functions.
14 Citations
20 Claims
-
1. For use with a battery monitoring system (BMS) having an application operable to measure current flow to a vehicle battery and a launcher operable to enable drivers utilized by the application, the BMS having a non-volatile memory and a volatile memory for storing code, the method comprising:
-
storing application code for application functions capable of being called by the application to an application memory block of the non-volatile memory; storing launcher code for launcher functions capable of being called by the launcher to a launcher memory block of the non-volatile memory; storing shared code for an n number of shared functions capable of being called by the launcher and application to a shared memory block having an n number of locations of the non-volatile memory; re-compiling the shared code where at least the same n number of shared functions are still available one or more times; and storing one of an n number of shared function pointers within the shared memory block for each one of then number of shared functions, wherein each one of the n number of locations within the shared memory block remains dedicated to storing the same one of the n number of shared function pointers following each operation of re-compiling the shared code. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A memory architecture comprising:
-
a non-volatile, first application memory block having first application code for application functions capable of being called by a first application; a non-volatile, second application memory block having second application code for application functions capable of being called by a second application; a non-volatile, shared memory block having shared code for an n number of shared functions; and n number of fixed memory locations dedicated within the shared memory block to store one of an n number of shared function pointers. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A battery monitoring system (BMS) controller comprising:
-
a non-volatile, application memory block having application code for an application operable to execute battery monitoring related functions; a non-volatile, launcher memory block having launcher code for a launcher operable for initializing the BMS; a non-volatile, shared memory block having shared code for an n number of shared functions; n number of fixed memory locations dedicated within the shared memory block to store one of an n number of shared function pointers; and a volatile memory storing n number of callback pointers, wherein the n number of callback pointers point to code stored in the application memory block in the event the application is operating and to code stored in the launcher memory block in the event the launcher is operating. - View Dependent Claims (17, 18, 19, 20)
-
Specification