Video overlay buffer mirrored through a shared mailbox between two processors in a feature phone
First Claim
1. A dual-processor wireless-communications device comprising:
- a wireless transceiver for sending and receiving wireless data over a wireless network using wireless protocols;
a base-band processor, coupled to control the wireless transceiver, for executing routines using a first operating system kernel including routines to transmit and receive wireless data through the wireless transceiver;
a base-band frame buffer, coupled to the base-band processor, for storing base-band graphics data generated by routines executing on the base-band processor;
an applications processor for executing application programs using a second operating system kernel;
a shared memory having a first buffer that is written by the base-band processor and read by the applications processor;
a transmit routine, executing on the base-band processor and coupled to the base-band frame buffer, the transmit routine writing a graphics-update message to the first buffer in the shared memory in response to the routines executing on the base-band processor updating the base-band graphics data in the base-band frame buffer;
a shared mailbox, coupled to be written by the applications processor and by the base-band processor, having a plurality of mailbox locations, wherein writing to a first mailbox location in the shared mailbox generates a second interrupt to the applications processor;
a receive driver, executed by the applications processor in response to the second interrupt, the receive driver reading the graphics-update message from the first buffer in the shared memory in response to the second interrupt;
a copied frame buffer, coupled to the applications processor, having a copy of the base-band graphics data, the receive driver updating the copy of the base-band graphics data in the copied frame buffer in response to the graphics-update message; and
a display, coupled to the applications processor, for displaying to a user the base-band graphics data from the copied frame buffer generated by the base-band processor and for displaying applications information to the user generated by the application programs;
whereby the display is shared by passing messages through the shared memory using the shared mailbox.
3 Assignments
0 Petitions
Accused Products
Abstract
A feature phone has two processors that share a display. The display is attached to an applications processor that has a frame buffer for refreshing the display. A base-band processor also runs programs that generate graphics data that is written to a base-band frame buffer. Updates to the base-band frame buffer are sent through a shared-memory interface to a shared memory, and a shared mailbox is written with the message length, triggering a mailbox-interrupt to the applications processor. The applications processor reads the message from the shared memory and updates a copied frame buffer. An overlay engine uses the copied frame buffer to refresh the display when the base-band processor has the focus, or to refresh a smaller base-band window that covers a portion of the display, leaving the rest of the display area for applications-processor graphics data. Rapid switching between the copied and local frame buffer is possible.
-
Citations
20 Claims
-
1. A dual-processor wireless-communications device comprising:
-
a wireless transceiver for sending and receiving wireless data over a wireless network using wireless protocols; a base-band processor, coupled to control the wireless transceiver, for executing routines using a first operating system kernel including routines to transmit and receive wireless data through the wireless transceiver; a base-band frame buffer, coupled to the base-band processor, for storing base-band graphics data generated by routines executing on the base-band processor; an applications processor for executing application programs using a second operating system kernel; a shared memory having a first buffer that is written by the base-band processor and read by the applications processor; a transmit routine, executing on the base-band processor and coupled to the base-band frame buffer, the transmit routine writing a graphics-update message to the first buffer in the shared memory in response to the routines executing on the base-band processor updating the base-band graphics data in the base-band frame buffer; a shared mailbox, coupled to be written by the applications processor and by the base-band processor, having a plurality of mailbox locations, wherein writing to a first mailbox location in the shared mailbox generates a second interrupt to the applications processor; a receive driver, executed by the applications processor in response to the second interrupt, the receive driver reading the graphics-update message from the first buffer in the shared memory in response to the second interrupt; a copied frame buffer, coupled to the applications processor, having a copy of the base-band graphics data, the receive driver updating the copy of the base-band graphics data in the copied frame buffer in response to the graphics-update message; and a display, coupled to the applications processor, for displaying to a user the base-band graphics data from the copied frame buffer generated by the base-band processor and for displaying applications information to the user generated by the application programs; whereby the display is shared by passing messages through the shared memory using the shared mailbox. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for sharing a display between a first processor and a second processor within a mobile device comprising:
-
the first processor generating first graphics data and activating a transmit driver; the transmit driver generating a graphics-update message identifying changes to the first graphics data and writing the graphics-update message to a shared memory, the transmit driver also writing to a shared mailbox to generate a second interrupt to the second processor; the second processor, in response to the second interrupt, activating a receive driver; the receive driver reading the graphics-update message from the shared memory in response to the second interrupt and updating copied graphics data in response to the graphics-update message; the second processor executing second programs that generate second graphics data, the second processor refreshing a display controlled by the second processor using the second graphics data; and an overlay engine substituting the copied graphics data for the second graphics data for a first window portion of the display, whereby second graphics data on the display is overlaid with the copied graphics data for the first window portion, the copied graphics data being updated by the graphics-update messages sent through the shared memory. - View Dependent Claims (12, 13, 14, 15)
-
-
16. An applications processor that shares a local display with a base-band processor comprising:
-
processing means for executing high-level programs that generate local graphics data; shared memory means for storing a graphics-update message received from the base-band processor; inter-processor interface means, coupled between the shared memory means and the base-band processor, for allowing the base-band processor to write the graphics-update message to the shared memory means; shared mailbox means, coupled to the inter-processor interface means and to the processing means, for generating a first interrupt in response to the base-band processor writing to a first location in the shared mailbox means; display interface means for driving the local graphics data to the local display; copied frame buffer means for storing remote graphics data; graphics-update driver means, executing on the processing means and activated by the first interrupt, for reading the shared memory means to read graphics data from the graphics-update message sent from the base-band processor, the graphics-update driver means updating the remote graphics data stored in the copied frame buffer means in response to the graphics-update message; overlay engine means, coupled to the copied frame buffer means, for driving the remote graphics data to the local display and blocking the local display interface means from driving the local graphics data to the local display for at least a window portion of the local display, whereby the base-band processor writes the graphics-update message to the shared memory means and signals the applications processor by writing to the shared mailbox means. - View Dependent Claims (17, 18, 19, 20)
-
Specification