Integrated-circuit radio
Abstract
An integrated-circuit radio communication device ( 1 ) comprises a processor ( 7 ), memory ( 13 ), and radio communication logic ( 17 ). The memory ( 13 ) has a firmware module ( 23 ) stored at a firmware memory address, the firmware module ( 23 ) comprising instructions for controlling the radio communication logic ( 17 ) according to a predetermined radio protocol. The processor ( 7 ) is configured to receive supervisor call instructions, each having an associated supervisor call number, and to respond to a supervisor call instruction by (i) invoking a supervisor call handler in the firmware module ( 23 ), and (ii) making the supervisor call number available to the call handler. A software application ( 27 ) is loaded into the memory ( 13 ) of the device ( 1 ), and stored at a predetermined application memory address. It is arranged to invoke a radio communication function from the firmware module ( 23 ) by issuing a supervisor call instruction having an associated predetermined supervisor call number corresponding to the function to be invoked.
Claims
exact text as granted — not AI-modified1 . A method of configuring an integrated-circuit radio communication device, wherein:
the device comprises a processor, memory, and radio communication logic; the memory has a firmware module stored at a firmware memory address, the firmware module comprising instructions for controlling the radio communication logic according to a predetermined radio protocol; and the processor is configured to receive supervisor call instructions, each having an associated supervisor call number, and to respond to a supervisor call instruction by (i) invoking a supervisor call handler in the firmware module, and (ii) making the supervisor call number available to the call handler,
the method comprising loading a software application into the memory of the device, such that the application is stored at a predetermined application memory address, wherein the software application is arranged to invoke a radio communication function from the firmware module by issuing a supervisor call instruction having an associated predetermined supervisor call number corresponding to the function to be invoked.
2 . The method of claim 1 , wherein the firmware module is a linked binary module.
3 . The method of claim 1 , wherein the firmware module is arranged so that all radio communication functions provided by the firmware module are invoked by supervisor call instructions having respective supervisor call numbers, according to a predetermined correspondence between numbers and functions.
4 . The method of claim 1 , further comprising compiling the software application and using the correspondence between supervisor call numbers and radio communication functions in said compiling.
5 . The method of claim 1 , further comprising using the predetermined software-application memory address when compiling and/or loading the software application.
6 . The method of claim 1 , wherein the software application is arranged to issue a supervisor call instruction by executing a dedicated SVC processor instruction.
7 . The method of claim 1 , wherein the firmware module and the software application each has a respective interrupt vector table, wherein the device is configured to use the vector table of the firmware module when processing an interrupt, and wherein the firmware module is configured so that all interrupts that the firmware module is not programmed to handle itself are passed on to the software application.
8 . The method of claim 7 , wherein the interrupt vector table of the firmware module has interrupt-vector-address offsets that are identical to interrupt-vector-address offsets in the interrupt vector table of the software application.
9 . The method of claim 1 , wherein the device comprises memory protection logic arranged to intercept memory access instructions and being configured to prevent the software application from reading or overwriting the firmware module.
10 . A method of configuring an integrated-circuit radio communication device, wherein the device comprises a processor, memory, and radio communication logic, the method comprising:
loading a software application into the memory of the device, such that the application is stored at a predetermined application memory address; and loading a firmware module into the memory of the device, such that the firmware module is stored at a predetermined firmware memory address, the firmware module comprising instructions for controlling the radio communication logic according to a predetermined radio protocol,
wherein:
the processor is configured to receive supervisor call instructions, each having an associated supervisor call number, and to respond to a supervisor call instruction by (i) invoking a supervisor call handler in the firmware module, and (ii) making the supervisor call number available to the call handler; and
the software application is arranged to invoke a radio communication function from the firmware module by issuing a supervisor call instruction having an associated predetermined supervisor call number corresponding to the function to be invoked.
11 . The method of claim 10 , wherein the firmware module and the software application each has a respective interrupt vector table, wherein the device is configured to use the vector table of the firmware module when processing an interrupt, and wherein the firmware module is configured so that all interrupts that the firmware module is not programmed to handle itself are passed on to the software application.
12 . The method of claim 11 , wherein the interrupt vector table of the firmware module has interrupt-vector-address offsets that are identical to interrupt-vector-address offsets in the interrupt vector table of the software application.
13 . An integrated-circuit radio communication device, wherein:
the device comprises a processor, memory, and radio communication logic; the memory has a firmware module stored at a firmware memory address, the firmware module comprising instructions for controlling the radio communication logic according to a predetermined radio protocol; and the processor is configured to receive supervisor call instructions, each having an associated supervisor call number, and to respond to a supervisor call instruction by (i) invoking a supervisor call handler in the firmware module, and (ii) making the supervisor call number available to the call handler; the memory has a software application stored at a predetermined application memory address, the software application being arranged to invoke a radio communication function from the firmware module by issuing a supervisor call instruction having an associated predetermined supervisor call number corresponding to the function to be invoked.
14 . The device of claim 13 , wherein the firmware module is arranged so that all radio communication functions provided by the firmware module are invoked by supervisor call instructions having respective supervisor call numbers, according to a predetermined correspondence between numbers and functions.
15 . The device of claim 13 , wherein the firmware module is arranged so that all functions provided by the firmware module are invoked by the issuing of supervisor call instructions.
16 . The device of claim 13 , configured so that no run-time linking is required when executing the software application on the device.
17 . The device of claim 13 , wherein the software application is arranged to issue a supervisor call instruction by executing a dedicated SVC processor instruction.
18 . The device of claim 13 , wherein the processor and/or software application are configured to make the values of one or more arguments available to the supervisor call handler.
19 . The device of claim 13 , wherein the processor is configured to handle a supervisor call instruction from the software application as an exception, wherein the processor supports a plurality of interrupt priorities, and wherein some functions in the firmware module are assigned a relatively high priority, with other functions in the firmware module having a relatively low priority.
20 . The device of claim 19 , wherein the software application is arranged to handle interrupts, assigning a relatively high priority to some event-driven functions, and a relatively low priority to other event-driven functions.
21 . The device of claim 20 , wherein the highest firmware priority level is higher than the highest software application priority level.
22 . The device of claim 13 , wherein the firmware module is configured to invoke a function in the software application in response to the firmware module receiving an interrupt.
23 . The device of claim 13 , wherein the firmware module and the software application each has a respective interrupt vector table, wherein the device is configured to use the vector table of the firmware module when processing an interrupt, and wherein the firmware module is configured so that all interrupts that the firmware module is not programmed to handle itself are passed on to the software application.
24 . The device of claim 23 , wherein the interrupt vector table of the firmware module has interrupt-vector-address offsets that are identical to interrupt-vector-address offsets in the interrupt vector table of the software application.
25 . The device of claim 13 , wherein the processor supports seamless transitions from one interrupt priority level to another.
26 . The device of claim 13 , comprising memory protection logic arranged to intercept memory access instructions and being configured to prevent the software application from reading or overwriting the firmware module and/or from reading or writing to RAM associated with the firmware module.
27 . A non-transient, tangible medium containing a firmware module for loading on an integrated-circuit radio communication device comprising a processor, memory, and radio communication logic, at a firmware memory address, wherein the firmware module comprises:
instructions for controlling the radio communication logic according to a predetermined radio protocol; and a supervisor call handler arranged to respond to a supervisor call instruction being issued by a software application by performing a radio communication function corresponding to a supervisor call number associated with the supervisor call instruction.
28 . The non-transient, tangible medium of claim 27 , wherein the firmware module is a linked binary module.
29 . A non-transient, tangible medium containing a software application for loading on an integrated-circuit radio communication device comprising a processor, memory, and radio communication logic, at a predetermined software application memory address, wherein the software application is arranged to invoke a radio communication function by issuing a supervisor call instruction having an associated, predetermined supervisor call number corresponding to the function to be invoked.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.