Patents by Inventor Christopher Philip Smith
Christopher Philip Smith has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11294650Abstract: Methods for logging strings during execution of a program running on an embedded system without storing the strings in the memory of the embedded system include, during the build process, receiving source code for a program that comprises one or more log statements that identifies a string to be logged; generating object code based on the source code that comprises a special log section that includes the identified strings, and, for each log statement one or more instructions that cause a reference to the corresponding string to be stored in memory of the embedded system; generating execution code based on the object code wherein the special log section is marked as non-loadable and each reference is a location of the corresponding string in the special log section; and, loading the generated executable code into the memory of the embedded system such that the identified strings are not loaded into the memory of the embedded system.Type: GrantFiled: August 15, 2017Date of Patent: April 5, 2022Assignee: Nordic Semiconductor ASAInventor: Christopher Philip Smith
-
Patent number: 10936322Abstract: A method of processing exceptions in an exception-driven computing-based system that operates in either initialisation mode or exception-driven mode. The method includes, upon detecting an exception has occurred, causing the processor to execute exception handling instructions. When the system is operating in initialisation mode the exception handling instructions invoke a first exception handler that causes a main register set to be saved before processing the exception and restored after processing the exception, and when the system is operating in exception-driven mode the exception handling instructions invoke a second exception handler that does not cause the main register set to be saved and restored. In some examples, the exception handling instructions are initially configured to invoke the first exception handler and are dynamically updated when the system switches from initialisation mode to exception-driven mode to invoke the second exception handler.Type: GrantFiled: April 23, 2019Date of Patent: March 2, 2021Assignee: Nordic Semiconductor ASAInventor: Christopher Philip Smith
-
Publication number: 20190250923Abstract: A method of processing exceptions in an exception-driven computing-based system that operates in either initialisation mode or exception-driven mode. The method includes, upon detecting an exception has occurred, causing the processor to execute exception handling instructions. When the system is operating in initialisation mode the exception handling instructions invoke a first exception handler that causes a main register set to be saved before processing the exception and restored after processing the exception, and when the system is operating in exception-driven mode the exception handling instructions invoke a second exception handler that does not cause the main register set to be saved and restored. In some examples, the exception handling instructions are initially configured to invoke the first exception handler and are dynamically updated when the system switches from initialisation mode to exception-driven mode to invoke the second exception handler.Type: ApplicationFiled: April 23, 2019Publication date: August 15, 2019Inventor: Christopher Philip Smith
-
Patent number: 10353717Abstract: Methods for generating executable files for two or more independent programs to be run on separate processor cores of an embedded system wherein the programs share data/code via shared memory by symbolically referring to data/code generated by another program. The methods implement a two-stage link process. In the first link stage addresses in shared memory are allocated to the shared code and data of the independent programs, and the allocated memory addresses are stored in a library. In a second link stage executable code and initialized data is generated for the non-shared code and initialized data of each independent program which is linked to the shared data/code by the addresses in the library.Type: GrantFiled: September 13, 2017Date of Patent: July 16, 2019Assignee: Imagination Technologies LimitedInventor: Christopher Philip Smith
-
Patent number: 10338929Abstract: A method of processing exceptions in an exception-driven computing-based system that operates in either initialization mode or exception-driven mode. The method includes, upon detecting an exception has occurred, causing the processor to execute exception handling instructions. When the system is operating in initialization mode the exception handling instructions invoke a first exception handler that causes a main register set to be saved before processing the exception and restored after processing the exception, and when the system is operating in exception-driven mode the exception handling instructions invoke a second exception handler that does not cause the main register set to be saved and restored. In some examples, the exception handling instructions are initially configured to invoke the first exception handler and are dynamically updated when the system switches from initialization mode to exception-driven mode to invoke the second exception handler.Type: GrantFiled: April 26, 2017Date of Patent: July 2, 2019Assignee: Imagination Technologies LimitedInventor: Christopher Philip Smith
-
Patent number: 10168957Abstract: A method of storing computer executable instructions and data elements of a program in a plurality of memory blocks of an embedded system. The method includes receiving object code that comprises instructions that symbolically refer to one or more data elements; metadata that identifies the data elements in the object code; and a data element description that identifies each of the data elements as either a regular data element or a non-regular data element. Executable code is generated based the object code, metadata and the data element description that comprises computer executable instructions that refer to the data elements using an address in the memory, wherein the regular data elements are referenced by an address in a non-instruction memory block of the plurality of memory blocks and the non-regular data elements are referenced by an address in an instruction memory block. The executable code is then loaded into the memory of the embedded system.Type: GrantFiled: April 27, 2017Date of Patent: January 1, 2019Assignee: Imagination Technologies LimitedInventor: Christopher Philip Smith
-
Publication number: 20180074835Abstract: Methods for generating executable files for two or more independent programs to be run on separate processor cores of an embedded system wherein the programs share data/code via shared memory by symbolically referring to data/code generated by another program. The methods implement a two-stage link process. In the first link stage addresses in shared memory are allocated to the shared code and data of the independent programs, and the allocated memory addresses are stored in a library. In a second link stage executable code and initialised data is generated for the non-shared code and initialised data of each independent program which is linked to the shared data/code by the addresses in the library.Type: ApplicationFiled: September 13, 2017Publication date: March 15, 2018Inventor: Christopher Philip Smith
-
Publication number: 20180052669Abstract: Methods for logging strings during execution of a program running on an embedded system without storing the strings in the memory of the embedded system include, during the build process, receiving source code for a program that comprises one or more log statements that identifies a string to be logged; generating object code based on the source code that comprises a special log section that includes the identified strings, and, for each log statement one or more instructions that cause a reference to the corresponding string to be stored in memory of the embedded system; generating execution code based on the object code wherein the special log section is marked as non-loadable and each reference is a location of the corresponding string in the special log section; and, loading the generated executable code into the memory of the embedded system such that the identified strings are not loaded into the memory of the embedded system.Type: ApplicationFiled: August 15, 2017Publication date: February 22, 2018Inventor: Christopher Philip Smith
-
Publication number: 20170315755Abstract: A method of storing computer executable instructions and data elements of a program in a plurality of memory blocks of an embedded system. The method includes receiving object code that comprises instructions that symbolically refer to one or more data elements; metadata that identifies the data elements in the object code; and a data element description that identifies each of the data elements as either a regular data element or a non-regular data element. Executable code is generated based the object code, metadata and the data element description that comprises computer executable instructions that refer to the data elements using an address in the memory, wherein the regular data elements are referenced by an address in a non-instruction memory block of the plurality of memory blocks and the non-regular data elements are referenced by an address in an instruction memory block. The executable code is then loaded into the memory of the embedded system.Type: ApplicationFiled: April 27, 2017Publication date: November 2, 2017Inventor: Christopher Philip Smith
-
Publication number: 20170315816Abstract: A method of processing exceptions in an exception-driven computing-based system that operates in either initialisation mode or exception-driven mode. The method includes, upon detecting an exception has occurred, causing the processor to execute exception handling instructions. When the system is operating in initialisation mode the exception handling instructions invoke a first exception handler that causes a main register set to be saved before processing the exception and restored after processing the exception, and when the system is operating in exception-driven mode the exception handling instructions invoke a second exception handler that does not cause the main register set to be saved and restored. In some examples, the exception handling instructions are initially configured to invoke the first exception handler and are dynamically updated when the system switches from initialisation mode to exception-driven mode to invoke the second exception handler.Type: ApplicationFiled: April 26, 2017Publication date: November 2, 2017Inventor: Christopher Philip Smith