G06F9/44557

Code and data sharing among multiple independent processors
11144322 · 2021-10-12 · ·

A system includes a memory and multiple processors. The memory further includes a shared section and a non-shared section. The processors further include at least a first processor and a second processor, both of which read-only access to the shared section of the memory. The first processor and the second processor are operable to execute shared code stored in the shared section of the memory, and execute non-shared code stored in a first sub-section and a second sub-section of the non-shared section, respectively. The first processor and the second processor execute the share code according to a first scheduler and a second scheduler, respectively. The first scheduler operates independently of the second scheduler.

Host device for obtaining operating instructions for a barcode reader from a remote server

A barcode reader may include barcode reading hardware, which may include an image sensor. The image sensor may capture an image of a barcode within a field of view. The barcode reading hardware may also include a communication interface for output of decoded data to a remote computing system. The barcode reader may also include volatile memory and non-volatile memory. The non-volatile memory may include start-up instructions. The barcode reader may also include a processor. The processor may be configured to, upon power-up of the barcode reader, execute the start-up instructions to obtain firmware for operating the barcode reader from a remote configuration server, load the firmware to the volatile memory, and commence execution of the firmware to commence barcode reading functions of the barcode reader without performing a re-boot operation.

Method and apparatus for loading application

The present disclosure discloses a method and apparatus for loading an application. An embodiment of the method comprises: selecting, in a programmable read-only memory, a storage space for storing a preset data section in an executable file of an application; copying the preset data section to a memory, and relocating the preset data section based on a start address of the storage space; and copying the relocated preset data section to the storage space. A relocation of a code portion of the executable file in the memory is implemented, and the relocated code portion is then written back into the programmable read-only memory, so that the relocation of the code portion can be completed only by one erase operation for a memory block, thereby reducing system overheads during the application loading process, and reducing wear of the programmable read-only memory.

Engineering apparatus, control method, and program for executing a control application

A portion of executable code generated from a general-purpose high-level language can be changed easily while the executable code is running. An engineering apparatus (10) of the present disclosure includes an instance management unit (103) and a compiler/linker (104). When a control application is edited while the engineering apparatus (10) and target hardware (20) are connected online, the instance management unit (103) generates a list for control application switching and a program for control application switching. The list and the program are generated from the control application and expressed in a second programming language. The compiler/linker (104) generates executable code based on the list, the program, and a control service program. When the executable code is downloaded onto the target hardware (20), the control service program causes the program for control application switching to be executed on the target hardware (20).

MODELING FOREIGN FUNCTIONS USING EXECUTABLE REFERENCES

Techniques for representing a native function using an executable reference are disclosed. The system receives an instruction to create an executable reference for a native function, including a method type comprising a method signature corresponding to the executable reference, and a function description including (a) a memory layout corresponding to data returned by the function and (b) memory layouts corresponding to parameters required by the function. The system selects an application binary interface (ABI). The system generates code that, for each parameter, of the one or more parameters required by the function, converts the parameter from a value formatted for use by a Java Virtual machine to a value formatted for use in the native function, based on the selected ABI. Responsive to invocation of the executable reference, the generated code and the native function may be executed.

EMBEDDED SYSTEM
20210200543 · 2021-07-01 ·

Embedded systems and methods of reading or writing data or instructions of at least one application in a non-volatile memory are disclosed. A method includes reading or writing data or instructions of at least one application in a non-volatile memory of an embedded system. The data or instructions transit through a memory area and are interpreted by a distinct program of an operating system of the embedded system.

COMPILER OPERATIONS FOR HETEROGENEOUS CODE OBJECTS

Described herein are techniques for performing compilation operations for heterogeneous code objects. According to the techniques, a compiler identifies architectures targeted by a compilation unit, compiles the compilation unit into a heterogeneous code object that includes a different code object portion for each identified architecture, performs name mangling on functions of the compilation unit, links the heterogeneous code object with a second code object to form an executable, and generates relocation records for the executable.

Initial Data Distribution for Different Application Processes
20210103446 · 2021-04-08 ·

In a mobile device, processes of an application can be monitored and scored for initial data distribution. Specifically, a method can include monitoring processes of an application, and scoring objects or components used by the processes to determine placement of the objects or components in memory during initiation of the application. The method can also include, during initiation of the application, loading, into a first portion of the memory, at least partially, the objects or components scored at a first level. The method can also include, during initiation of the application, loading, into a second portion of the memory, at least partially, the objects or components scored at a second level. The objects or components scored at the second level can be less critical to the application than the objects or components scored at the first level.

CODE AND DATA SHARING AMONG MULTIPLE INDEPENDENT PROCESSORS
20210132952 · 2021-05-06 ·

A system includes a memory and multiple processors. The memory further includes a shared section and a non-shared section. The processors further include at least a first processor and a second processor, both of which read-only access to the shared section of the memory. The first processor and the second processor are operable to execute shared code stored in the shared section of the memory, and execute non-shared code stored in a first sub-section and a second sub-section of the non-shared section, respectively. The first processor and the second processor execute the share code according to a first scheduler and a second scheduler, respectively. The first scheduler operates independently of the second scheduler.

HOST DEVICE FOR OBTAINING OPERATING INSTRUCTIONS FOR A BARCODE READER FROM A REMOTE SERVER
20210084118 · 2021-03-18 ·

A barcode reader may include barcode reading hardware, which may include an image sensor. The image sensor may capture an image of a barcode within a field of view. The barcode reading hardware may also include a communication interface for output of decoded data to a remote computing system. The barcode reader may also include volatile memory and non-volatile memory. The non-volatile memory may include start-up instructions. The barcode reader may also include a processor. The processor may be configured to, upon power-up of the barcode reader, execute the start-up instructions to obtain firmware for operating the barcode reader from a remote configuration server, load the firmware to the volatile memory, and commence execution of the firmware to commence barcode reading functions of the barcode reader without performing a re-boot operation.