Rendering display system, rendering display method, voice output system, and voice output method
The system addresses firmware update interruptions in drawing and voice output systems by using a non-volatile memory with dual storage areas, allowing updates during idle times, thus preventing interruptions and reducing costs.
Patent Information
- Application Number
- PCT/JP2024/045180
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-27
- Filing Date
- 2024-12-20
- Publication Date
- 2025-07-03
AI Technical Summary
Firmware updates using FOTA (Firmware Over The Air) are challenging with one non-volatile memory due to potential interruptions in processing, especially in drawing and voice output systems, leading to increased costs when using two non-volatile memories or large-capacity volatile memories.
A drawing and voice output system utilizing a non-volatile memory with a first and second storage area, where firmware updates are performed during idle times detected in the processing, preventing interruptions by gradually accessing the second storage area during these times.
Prevents processing interruptions during firmware updates, reducing costs by eliminating the need for multiple non-volatile memories or large-capacity volatile memories.
Smart Images

Figure JP2024045180_03072025_PF_FP_ABST
Abstract
Description
Drawing display system, drawing display method, audio output system, and audio output method
[0001] The present disclosure relates to a drawing display system, a drawing display method, an audio output system, and an audio output method.
[0002] Patent Documents 1 and 2 disclose technologies related to FOTA (Firmware Over The Air). Generally, when a system is operating using firmware stored in a single memory, it is difficult to update the firmware stored in that memory. Therefore, in FOTA, firmware is stored in a startup memory (non-volatile memory) and an update memory (non-volatile memory). In FOTA, while program code is retrieved from the startup memory and the system is operating, firmware update data received from an external network via a TCU (Telematics Control Unit) connected to the system is written in the background to the update memory. Then, once the firmware update in the update memory is complete, the update memory becomes the startup memory, and the system operates by retrieving program code from that memory. The memory originally used for startup becomes the update memory, and when new firmware update data is received in the future, the firmware update data is written to that memory.
[0003] JP 2019-144669 A JP 2021-71960 A
[0004] To avoid the high cost of implementing FOTA using two nonvolatile memories, it is desirable to implement FOTA using only one nonvolatile memory. For example, in a configuration using one nonvolatile memory, it is possible to copy the startup program code to the volatile memory and then read the program code from the volatile memory. However, if the capacity of the volatile memory is small, storing the program code will constrain the memory capacity, making memory operation difficult. Alternatively, a large-capacity volatile memory will be required, increasing system costs.
[0005] One possible solution is to provide a single nonvolatile memory with both a startup storage area and an update storage area. However, because program code readout from the startup storage area is blocked during access to the update storage area, processing is interrupted. For example, assuming a rendering performance of 30 fps or 60 fps, rendering update processing is required approximately every 33.3 ms at 30 fps and approximately every 16.7 ms at 60 fps. In contrast, the time required to erase a 4 KB sector of a typical flash memory is approximately 30 to 50 ms. Therefore, if a sector erase is performed once during rendering processing at a rendering performance of 30 fps or 60 fps, one or more frames will be displayed in an incomplete state, resulting in flickering and other issues.
[0006] Therefore, the present disclosure provides a drawing display system and the like that can prevent processing interruptions in a FOTA that uses one nonvolatile memory.
[0007] The drawing display system of the present disclosure comprises a drawing display device and a non-volatile memory, wherein the drawing display device has a drawing processing unit that performs drawing processing, a drawing processing free time detection unit that detects free time that occurs during the drawing processing, and a firmware update processing unit that updates firmware for controlling the drawing display device, and the non-volatile memory has a first memory area and a second memory area that each store firmware, the drawing processing unit retrieves program code from the first memory area and performs the drawing processing by executing the retrieved program code, and the firmware update processing unit accesses the second memory area for firmware update based on free time information indicating the detected free time.
[0008] The drawing display method of the present disclosure is a drawing display method executed by a drawing display system including a drawing display device and a non-volatile memory, wherein the non-volatile memory each has a first memory area and a second memory area for storing firmware for controlling the drawing display device, and the drawing display method includes a drawing processing step for performing drawing processing, a drawing processing free time detection step for detecting free time that occurs in the drawing processing, and a firmware update processing step for updating firmware, wherein the drawing processing step obtains program code from the first memory area and performs the drawing processing by executing the obtained program code, and the firmware update processing step accesses the second memory area for firmware update based on free time information indicating the detected free time.
[0009] The audio output system according to the present disclosure comprises an audio output device and a non-volatile memory, wherein the audio output device has an audio output processing unit that performs audio output processing, an audio output processing free time detection unit that detects free time that occurs in the audio output processing, and a firmware update processing unit that updates firmware for controlling the audio output device, wherein the non-volatile memory has a first memory area and a second memory area that store firmware, the audio output processing unit retrieves program code from the first memory area and performs the audio output processing by executing the retrieved program code, and the firmware update processing unit accesses the second memory area for firmware update based on free time information indicating the detected free time.
[0010] The audio output method of the present disclosure is an audio output method executed by an audio output system including an audio output device and a non-volatile memory, wherein the non-volatile memory each has a first memory area and a second memory area for storing firmware for controlling the audio output device, and the audio output method includes an audio output processing step for performing audio output processing, an audio output processing free time detection step for detecting free time that occurs in the audio output processing, and a firmware update processing step for updating firmware, wherein the audio output processing step obtains program code from the first memory area and performs the audio output processing by executing the obtained program code, and the firmware update processing step accesses the second memory area for firmware update based on free time information indicating the detected free time.
[0011] These comprehensive or specific aspects may be realized as a system, a method, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM, or may be realized as any combination of a system, a method, an integrated circuit, a computer program, and a recording medium.
[0012] According to a drawing display system according to one aspect of the present disclosure, it is possible to prevent interruptions in processing in a FOTA that uses one nonvolatile memory.
[0013] 1 is a block diagram showing an example of a drawing display system according to embodiment 1. FIG. 2 is a sequence diagram showing a first example of operation of the drawing display system according to embodiment 1. FIG. 3 is a sequence diagram showing a second example of operation of the drawing display system according to embodiment 1. FIG. 4 is a sequence diagram showing a third example of operation of the drawing display system according to embodiment 1. FIG. 5 is a sequence diagram showing a fourth example of operation of the drawing display system according to embodiment 1. FIG. 6 is a sequence diagram showing a sixth example of operation of the drawing display system according to embodiment 1. FIG. 7 is a block diagram showing an example of a drawing display system according to embodiment 2. FIG. 8 is a sequence diagram showing a first example of operation of the drawing display system according to embodiment 2. FIG. 9 is a sequence diagram showing a second example of operation of the drawing display system according to embodiment 2. FIG. 10 is a sequence diagram showing a third example of operation of the drawing display system according to embodiment 2. FIG. 11 is a sequence diagram showing a fourth example of operation of the drawing display system according to embodiment 2. FIG. 12 is a sequence diagram showing a fifth example of operation of the drawing display system according to embodiment 2. FIG. 13 is a block diagram showing an example of an audio output system according to embodiment 3. FIG. 14 is a flowchart showing an example of a drawing display method according to another embodiment. FIG. 15 is a flowchart showing an example of an audio output method according to another embodiment.
[0014] Hereinafter, the embodiments will be specifically described with reference to the drawings.
[0015] The embodiments described below are all comprehensive or specific examples, and the numerical values, shapes, materials, components, arrangement and connection of the components, steps, and order of steps shown in the following embodiments are merely examples and are not intended to limit the present disclosure.
[0016] (First Embodiment) A drawing display system according to a first embodiment will be described below.
[0017] 1 is a block diagram showing an example of a drawing display system 1 according to embodiment 1. In addition to the drawing display system 1, Fig. 1 also shows a TCU 100 and a display 200. Note that the drawing display system 1 may also include the TCU 100 and the display 200.
[0018] The drawing display system 1 is a system that performs drawing processing for displaying an image or video on a display 200. The display 200 is, for example, a display provided in a vehicle, such as a meter display or a HUD (Head Up Display).
[0019] The drawing display system 1 includes a drawing display device 10 and a nonvolatile memory 20. The drawing display device 10 is a device for performing drawing processing, and firmware for controlling the drawing display device 10 is stored in the nonvolatile memory 20. The firmware stored in the nonvolatile memory 20 is updated by FOTA.
[0020] The drawing display device 10 includes a drawing processing unit 11, a drawing processing free time detection unit 12, and a firmware update processing unit 13. The drawing display device 10 is a computer including a processor (microprocessor) and memory. The memory is, for example, RAM (Random Access Memory) and can store programs executed by the processor. The drawing processing unit 11, the drawing processing free time detection unit 12, and the firmware update processing unit 13 are realized by, for example, a processor that executes programs stored in the memory. The non-volatile memory 20 has a first memory area 21 and a second memory area 22 that store firmware, respectively. The non-volatile memory 20 is, for example, an external ROM (Read Only Memory) of the drawing display device 10.
[0021] The drawing processing unit 11 performs drawing processing and displays an image or video on the display 200. Specifically, the drawing processing unit 11 performs drawing processing by acquiring program code from the first storage area 21 that stores firmware and executing the acquired program code. After completing an update of the firmware stored in the second storage area 22, which will be described later, the drawing processing unit 11 acquires program code from the second storage area 22 and executes the acquired program code to perform drawing processing.
[0022] The drawing processing free time detection unit 12 detects free time that occurs during drawing processing.
[0023] The firmware update processing unit 13 updates the firmware for controlling the drawing display device 10. Specifically, the firmware update processing unit 13 accesses the second storage area 22 for firmware update based on free time information indicating the detected free time. The access for firmware update includes access for erasing stored data and access for writing firmware data for firmware update. Note that, after the update of the firmware stored in the second storage area 22 is completed, if the next firmware update occurs, the firmware update processing unit 13 accesses the first storage area 21 for firmware update.
[0024] The details of the operations of the drawing processing unit 11, the drawing processing free time detection unit 12, and the firmware update processing unit 13 will be described with reference to first to sixth examples.
[0025] First, a first example of the operation of the drawing display system 1 will be described with reference to FIG.
[0026] Fig. 2 is a sequence diagram showing a first example of the operation of the drawing display system 1 according to embodiment 1. The subject of the drawing-related processing shown in Fig. 2 is the drawing processing unit 11 or the drawing processing free time detection unit 12, and the subject of the firmware update processing is the firmware update processing unit 13. The same applies to Figs. 3 to 7.
[0027] First, the firmware update processing unit 13 waits to receive a firmware update request and update data (next firmware data) from the TCU 100 (step S101). When the firmware update processing unit 13 receives the firmware update request and update data from the TCU 100, the firmware update processing unit 13 waits to receive free time information from the drawing processing free time detection unit 12 (step S102).
[0028] The drawing processing unit 11 acquires drawing update trigger information (step S201). For example, the drawing update trigger information may be information indicating a display mode switching request or vehicle information related to display. Specifically, the drawing processing unit 11 acquires the drawing update trigger information when the display mode of the HUD is switched or when the speedometer of the meter display is updated.
[0029] The drawing processing unit 11 performs drawing update processing based on the drawing update trigger information (step S202), for example, by switching the display mode of the HUD or updating the speedometer of the meter display to reflect the current vehicle speed.
[0030] The rendering processing free time detection unit 12 detects free time that occurs during rendering processing (step S203). The time required for rendering processing of one frame is shorter than the time available for rendering between frames according to the frame rate, and free time may occur for each frame during rendering processing. The method for detecting free time is not particularly limited, but examples include a method of obtaining time information within the CPU and a method of calculating from the content of rendering updates. An example of a free time detection method will be described later with reference to FIG. 7.
[0031] The drawing processing free time detection unit 12 transmits free time information indicating the detected free time to the firmware update processing unit 13 (step S204).
[0032] The firmware update processing unit 13 receives free time information from the rendering processing free time detection unit 12 and determines whether the second storage area 22 can be accessed within the free time indicated by the free time information (step S103). This is because, for example, when the frame rate is high, the free time may be short and access related to the firmware update may not be possible. If the firmware update processing unit 13 determines that the second storage area 22 cannot be accessed within the free time (No in step S103), it waits to receive the next free time information (step S102). If the firmware update processing unit 13 determines that the second storage area 22 can be accessed within the free time (Yes in step S103), it performs memory access to the second storage area 22 and partially updates the firmware (step S104). Since it is difficult to perform the entire firmware update within a single free time, the firmware update processing unit 13 updates the firmware little by little by utilizing the free time that occurs for each frame.
[0033] The firmware update processing unit 13 determines whether the firmware update processing is complete (step S105). For example, the firmware update processing unit 13 can determine whether the firmware update processing is complete by determining whether all of the received update data has been stored in the second storage area 22. If the firmware update processing unit 13 determines that the firmware update processing is not complete (No in step S105), it waits to receive the next free time information (step S102) and continues updating the firmware. If the firmware update processing unit 13 determines that the firmware update processing is complete (Yes in step S105), it ends the firmware update processing.
[0034] After transmitting the free time information, the rendering processing unit 11 waits for Vsync (step S205). While the firmware update processing unit 13 is accessing the second storage area 22, the rendering processing unit 11 cannot perform operations that would be performed by obtaining program code from the first storage area 21. However, because this memory access is performed during free time, it is possible to prevent a frame from being displayed in an incomplete rendering state.
[0035] In this way, when rendering processing is being performed using the firmware program code stored in the first storage area 21 in one nonvolatile memory 20, idle time that occurs in the rendering processing is detected, and access to the second storage area 22 in the one nonvolatile memory 20 for firmware updates is performed little by little during the idle time. Because the access to the second storage area 22 is performed during idle time in the rendering processing, the rendering processing is not interrupted, and therefore interruptions to processing (rendering processing) can be prevented in FOTA using one nonvolatile memory 20. Furthermore, because FOTA can be realized without using two nonvolatile memories or without using a large-capacity volatile memory, costs can be reduced.
[0036] Next, a second example of the operation of the drawing display system 1 will be described with reference to FIG.
[0037] 3 is a sequence diagram showing a second example of the operation of the drawing display system 1 according to embodiment 1. The description will be omitted for the same processes as in the first example of the operation of the drawing display system 1, and will focus on the differences from the first example of the operation of the drawing display system 1.
[0038] In a second example of the operation of the drawing display system 1, the drawing display device 10 has a normal operation mode and an update mode, and in the normal operation mode, the drawing processing unit 11 performs drawing processing by executing program code obtained from the first memory area 21.
[0039] The firmware update processing unit 13 receives free time information from the drawing processing free time detection unit 12 and determines whether the second storage area 22 is accessible within the free time indicated by the free time information (step S103). In a second example of the operation of the drawing display system 1, the firmware update processing unit 13 determines whether access for memory erasure is possible within the free time. If the firmware update processing unit 13 determines that access for memory erasure to the second storage area 22 is possible within the free time (Yes in step S103), it executes memory access to the second storage area 22 and partially erases the memory (step S106). Since it is difficult to erase all of the memory for a firmware update in one free time, the firmware update processing unit 13 erases the memory little by little by utilizing the free time that occurs for each frame.
[0040] The firmware update processing unit 13 determines whether erasing of the memory required for the firmware update process has been completed (step S107). If the firmware update processing unit 13 determines that erasing of the memory has not been completed (No in step S107), it waits to receive the next free time information (step S102) and continues erasing the memory. If the firmware update processing unit 13 determines that erasing of the memory has been completed (Yes in step S107), it writes the update data after switching from the normal operation mode to the update mode.
[0041] In this way, in the normal operation mode, the firmware update processing unit 13 erases the data stored in the second storage area 22 based on the free time information, and in the update mode, writes firmware data for updating the firmware to the second storage area 22. This allows the data (e.g., old versions of firmware) stored in the second storage area 22 to be erased little by little during free time in the background of the normal operation mode, thereby shortening the processing time for updating the firmware that is performed after switching from the normal operation mode to the update mode.
[0042] Next, a third example of the operation of the drawing display system 1 will be described with reference to FIG.
[0043] 4 is a sequence diagram showing a third example of the operation of the drawing display system 1 according to embodiment 1. The description will be omitted for the same processes as those in the second example of the operation of the drawing display system 1, and will focus on the differences from the second example of the operation of the drawing display system 1.
[0044] In a third example of the operation of the drawing display system 1, as shown in FIG. 4 , the firmware update processing unit 13 waits to receive free time information from the TCU 100 without waiting to receive a firmware update request or update data. In other words, in the normal operation mode, after (e.g., immediately after) starting to perform drawing processing by executing program code obtained from the first storage area 21, the firmware update processing unit 13 erases data stored in the second storage area 22 based on the free time information, regardless of whether or not there is a next firmware update request or whether or not there is next firmware data. If the firmware update processing unit 13 receives a firmware update request during the erasure process, it may transition to update mode. After transitioning to update mode, the same processing as in the second example of the operation of the drawing display system 1 according to the first embodiment is performed.
[0045] In this way, regardless of whether the next firmware update request or the next firmware data is received, the data stored in the second storage area 22 may be erased little by little in the background during the normal operation mode during idle time, thereby shortening the time required to rewrite the second storage area 22 after the update mode.
[0046] Next, a fourth example of the operation of the drawing display system 1 will be described with reference to FIG.
[0047] 5 is a sequence diagram showing a fourth example of the operation of the drawing display system 1 according to embodiment 1. The description will be omitted for the same processes as in the first example of the operation of the drawing display system 1, and will focus on the differences from the first example of the operation of the drawing display system 1.
[0048] The firmware update processing unit 13 receives the free time information from the drawing processing free time detection unit 12 and determines whether sector erasure is possible within the free time indicated by the free time information (step S108). If the firmware update processing unit 13 determines that sector erasure is not possible within the free time (No in step S108), it waits to receive the next free time information (step S102).
[0049] If the firmware update processing unit 13 determines that sector erasure is possible within the available time (Yes in step S108), it determines whether block erasure is possible within the available time (step S109). Block erasure is a method of erasing more data than sector erasure, and therefore takes longer. If the firmware update processing unit 13 determines that block erasure is possible within the available time (Yes in step S109), it executes block erasure (step S110). If the firmware update processing unit 13 determines that block erasure is not possible within the available time (No in step S109), it executes sector erasure (step S111).
[0050] In this way, the firmware update processing unit 13 determines the method for erasing data stored in the second storage area 22 based on the length of free time indicated by the free time information. Since the data size that can be erased in one free time varies depending on the length of free time, an erasure method such as sector erase or block erase can be selected depending on the length of free time. For example, block erase generally requires a shorter erasure time per size, and therefore allows for more effective erasure.
[0051] Next, a fifth example of the operation of the drawing display system 1 will be described with reference to FIG.
[0052] 6 is a sequence diagram showing a fifth example of the operation of the drawing display system 1 according to embodiment 1. The description will be omitted for the same processes as those in the first example of the operation of the drawing display system 1, and will focus on the differences from the first example of the operation of the drawing display system 1.
[0053] After performing the drawing update process, the drawing processing unit 11 stores the result of the drawing update process in a buffer (step S206), and checks for changes in the drawing update over the most recent N frames (N is an integer of 2 or greater) (step S207) to determine whether or not there are any changes (step S208). In other words, the drawing processing unit 11 determines whether or not similar content has been displayed in the N frames up to the present.
[0054] If the rendering processing unit 11 determines that there is a change point (Yes in step S208), it performs the processing from step S203 onwards in Fig. 2. That is, from then on, the same processing as in the first example of the operation of the rendering display system 1 is performed. If the rendering processing unit 11 determines that there is no change point (No in step S208), it adds a predetermined number of Vsync waits. The predetermined number is not particularly limited and can be any number. That is, the rendering processing is skipped for a predetermined number of frames thereafter.
[0055] The rendering processing free time detection unit 12 detects free time including the time according to the added number of Vsync waits (step S203), and transmits free time information to the firmware update processing unit 13 (step S204).
[0056] The rendering processing unit 11 waits for Vsync including the added number of times (step S210). The rendering processing unit 11 checks the elapsed time while waiting for Vsync (step S211), and if the elapsed time is insufficient (Yes in step S212), continues to wait for Vsync (step S213). If the elapsed time is sufficient (No in step S212), the rendering processing unit 11 ends the Vsync wait for the added number of times and acquires the next rendering update trigger information (step S201).
[0057] In this way, the drawing processing unit 11 calculates the amount of change in the drawing content based on the predetermined number of frames up to the present, and if the amount of change is equal to or less than the predetermined amount, skips the drawing process for the predetermined number of subsequent frames. If there is no or only a small amount of change in the drawing content for the predetermined number of frames up to the present, the same or nearly the same content is displayed, so drawing process can be skipped for any number of subsequent frames. This can increase the amount of free time and the amount of access to the second storage area 22, allowing firmware updates to be completed in a short time.
[0058] Next, a sixth example of the operation of the drawing display system 1 will be described with reference to FIG.
[0059] 7 is a sequence diagram showing a sixth example of the operation of the drawing display system 1 according to embodiment 1. The description will be omitted for the same processes as those in the first example of the operation of the drawing display system 1, and will focus on the differences from the first example of the operation of the drawing display system 1.
[0060] When obtaining the drawing update trigger information, the drawing processing unit 11 obtains time information (step S214). That is, the drawing processing unit 11 obtains the start time of the drawing process for a certain frame (called the first frame).
[0061] After performing the drawing update process for the first frame, the drawing processing unit 11 acquires the time information again (step S215). The drawing processing unit 11 transmits the time information acquired in steps S214 and S215 to the drawing processing free time detection unit 12.
[0062] The rendering processing free time detection unit 12 can calculate the rendering processing time required for the rendering processing of the first frame by calculating the time from the time acquired in step S214 to the time acquired in step S215. The rendering processing free time detection unit 12 detects free time occurring in the rendering processing of the first frame by calculating the difference between the available rendering time, which is the time from the start time of the rendering processing of the first frame to the start time of the rendering processing of the second frame following the first frame, and the rendering processing time required for the rendering processing of the first frame (step S203). The available rendering time can be calculated from the rendering performance (frame rate) of the rendering processing.
[0063] In this way, after the rendering process for the first frame is completed, there is a free time for rendering until the start time of the next frame, so the free time can be calculated from the difference between the available rendering time between the start time of the first frame and the start time of the next frame, and the rendering processing time required for the rendering process of the first frame.
[0064] It should be noted that the processes in two or more of the first to sixth examples of the operation of the drawing display system 1 can be combined.
[0065] Second Embodiment Next, a drawing display system according to a second embodiment will be described.
[0066] FIG. 8 is a block diagram showing an example of a drawing display system 2 according to the second embodiment.
[0067] The drawing display system 2 according to the second embodiment differs from the drawing display system 1 according to the first embodiment in that it includes a drawing display device 10a instead of the drawing display device 10. The drawing display device 10a also differs from the drawing display device 10 in that it includes a drawing processing amount control unit 14. The following description will focus on the differences from the first embodiment.
[0068] The rendering processing amount control unit 14 controls the processing amount of the rendering processing. Specifically, the firmware update processing unit 13 notifies the rendering processing amount control unit 14 of update status information indicating the update status of the firmware, and the rendering processing amount control unit 14 controls the processing amount of the rendering processing based on the update status information. For example, the control of the processing amount of the rendering processing is a control to lower the frame rate.
[0069] The details of the operations of the drawing processing unit 11, the drawing processing free time detection unit 12, the firmware update processing unit 13, and the drawing processing amount control unit 14 will be described with reference to first to fifth examples.
[0070] First, a first example of the operation of the drawing display system 2 will be described with reference to FIG.
[0071] Fig. 9 is a sequence diagram showing a first example of the operation of the drawing display system 2 according to embodiment 2. The subject of the drawing-related processing shown in Fig. 9 is the drawing processing unit 11, the drawing processing free time detection unit 12, or the drawing processing amount control unit 14, and the subject of the firmware update processing is the firmware update processing unit 13. The same applies to Figs. 10 to 13.
[0072] First, the firmware update processing unit 13 waits to receive a firmware update request and update data (next firmware data) from the TCU 100 (step S301). When the firmware update processing unit 13 receives the firmware update request and update data from the TCU 100, the firmware update processing unit 13 notifies the rendering processing amount control unit 14 of update execution status information indicating the start of firmware update execution, i.e., update execution status information indicating the start of execution of access to the second storage area 22 (step S302).
[0073] The drawing processing unit 11 acquires drawing update trigger information (step S401).
[0074] The rendering processing amount control unit 14 acquires firmware update execution status information (step S402), and determines whether the firmware update processing unit 13 is currently updating the firmware (step S403). When the rendering processing amount control unit 14 acquires update execution status information indicating the start of firmware update execution, the rendering processing amount control unit 14 can determine that the firmware update processing unit 13 is currently updating the firmware.
[0075] When the firmware update processing unit 13 determines that a firmware update is in progress (Yes in step S403), the rendering processing amount control unit 14 calculates the Vsync wait count (step S404). For example, when the normal frame rate is 60 fps, the Vsync wait count is set to 1. In this case, changing the Vsync wait count to 2 can reduce the frame rate to 30 fps, and changing the Vsync wait count to 4 can reduce the frame rate to 15 fps. In this way, the Vsync wait count is calculated according to the target frame rate. The target frame rate during a firmware update may be set in advance or may be dynamically set as described in third and fourth examples of the operation of the rendering display system 2, which will be described later.
[0076] The drawing processing unit 11 performs drawing update processing based on the drawing update trigger information (step S405).
[0077] The rendering processing free time detection unit 12 detects free time occurring in the rendering processing (step S406). The method for detecting free time is not particularly limited, but free time can be detected by the method described in Fig. 7 as in the first embodiment. Furthermore, if the Vsync wait count is increased, the frame rate decreases and free time becomes longer than usual.
[0078] The drawing processing free time detection unit 12 transmits free time information indicating the detected free time to the firmware update processing unit 13 (step S407).
[0079] The firmware update processing unit 13 waits to receive free time information from the drawing processing free time detection unit 12 (step S303). When the free time information is received, the firmware update processing unit 13 determines whether the second storage area 22 can be accessed within the free time indicated by the free time information (step S304). When the firmware update processing unit 13 determines that the second storage area 22 cannot be accessed within the free time (No in step S304), the firmware update processing unit 13 waits to receive the next free time information (step S303). When the firmware update processing unit 13 determines that the second storage area 22 can be accessed within the free time (Yes in step S304), the firmware update processing unit 13 executes memory access to the second storage area 22 and executes a partial firmware update (step S305).
[0080] The firmware update processing unit 13 determines whether the firmware update processing is complete (step S306). If the firmware update processing unit 13 determines that the firmware update processing is not complete (No in step S306), it waits to receive the next free time information (step S303) and continues updating the firmware. If the firmware update processing unit 13 determines that the firmware update processing is complete (Yes in step S306), it notifies the rendering processing amount control unit 14 of update execution status information indicating the completion of the firmware update execution (step S307).
[0081] The rendering processing unit 11 waits for Vsync for the calculated number of Vsync wait times (step S408). While the firmware update processing unit 13 is accessing the second storage area 22, the rendering processing unit 11 cannot perform operations that would be performed by obtaining program code from the first storage area 21. However, because this memory access is performed during idle time, it is possible to prevent frames from being displayed in an incompletely rendered state. The rendering processing unit 11 checks the elapsed time while waiting for Vsync (step S409), and if the elapsed time is insufficient (Yes in step S410), it continues to wait for Vsync (step S411). If the elapsed time is sufficient (No in step S410), it ends the Vsync wait for the calculated number of Vsync wait times and obtains the next rendering update trigger information (step S401).
[0082] When the rendering processing amount control unit 14 acquires update execution status information indicating that the firmware update execution has been completed in step S402, it can determine in step S403 that the firmware update processing unit 13 is not currently executing a firmware update.
[0083] 2 is performed. That is, from this point on, the same processing as in the first example of the operation of the drawing display system 1 according to the first embodiment is performed. That is, after the Vsync wait count is restored, the drawing update processing is performed. For example, when the normal frame rate is 60 fps, the Vsync wait count is restored to 1, and then the drawing update processing is performed.
[0084] When operating at a high frame rate such as 60 fps, the free time can become short, making it difficult to detect the free time. To address this issue, the amount of processing required for rendering, such as controlling the frame rate, is controlled according to the firmware update status. For example, by lowering the frame rate when a firmware update is about to begin, the free time can be increased, allowing the firmware update process to proceed.
[0085] Next, a second example of the operation of the drawing display system 2 will be described with reference to FIG.
[0086] 10 is a sequence diagram showing a second example of the operation of the drawing display system 2 according to embodiment 2. The description will be omitted for the same processes as those in the first example of the operation of the drawing display system 2, and will focus on the differences from the first example of the operation of the drawing display system 2.
[0087] In a second example of the operation of the drawing display system 2, the drawing display device 10a stores a processing amount adjustment table in which drawing scenes (also called display modes) are associated with whether the processing amount can be adjusted. For example, in the processing amount adjustment table, whether the processing amount can be adjusted is associated with each of a plurality of drawing scenes. In other words, in the processing amount adjustment table, whether a low fps is acceptable is associated with each of a plurality of drawing scenes. Specifically, the processing amount adjustment table includes information such as 60 fps being required for some drawing scenes and 15 fps or higher being required for other drawing scenes.
[0088] When the firmware update processing unit 13 is notified of update execution status information indicating the start of access to the second storage area 22 (Yes in step S403), the rendering processing amount control unit 14 acquires corresponding fps information for the current display mode (step S412) and determines whether the current display mode can be set to a low fps (step S413). That is, the rendering processing amount control unit 14 determines whether the processing amount for the current drawing scene can be adjusted based on the processing amount adjustment availability table.
[0089] If the rendering processing amount control unit 14 determines that the current display mode may be set to a low fps, that is, that the processing amount for the current rendering scene may be adjusted (Yes in step S413), it calculates the Vsync wait count (step S404). This makes it possible to control the frame rate in the rendering processing to be lowered, as described in the first example of the operation of the rendering display system 2.
[0090] If the rendering processing amount control unit 14 determines that the current display mode must not be set to a low fps, that is, that the processing amount for the current rendering scene must not be adjusted (No in step S413), the processing from step S202 onwards in Fig. 2 is performed. That is, from this point onwards, the same processing as in the first example of the operation of the rendering display system 1 according to embodiment 1 is performed.
[0091] For example, depending on the drawing scene, it may be better not to lower the frame rate. Therefore, by storing a processing amount adjustment possibility table in advance, it is possible to determine whether it is okay to adjust the processing amount for the current drawing scene by referring to the processing amount adjustment possibility table, and it is possible to lower the frame rate only for drawing scenes for which the processing amount can be adjusted.
[0092] Next, a third example of the operation of the drawing display system 2 will be described with reference to FIG.
[0093] 11 is a sequence diagram showing a third example of the operation of the drawing display system 2 according to embodiment 2. The description will be omitted for the same processes as those in the first example of the operation of the drawing display system 2, and will focus on the differences from the first example of the operation of the drawing display system 2.
[0094] When the firmware update processing unit 13 receives the firmware update request and update data from the TCU 100, it calculates the time required to update the firmware based on the size of the firmware update data (step S308). Because the time required to update the firmware (the total time required for erasing and writing) depends on the size of the firmware update data, the time required to update the firmware can be calculated from the size. The firmware update processing unit 13 then notifies the rendering processing amount control unit 14 of update execution status information indicating the start of firmware update execution, i.e., update execution status information indicating the start of access to the second storage area 22, as well as information indicating the time required to update the firmware.
[0095] When the firmware update processing unit 13 receives update execution status information indicating the start of access to the second storage area 22 (Yes in step S403), the rendering processing amount control unit 14 controls the rendering processing amount (frame rate) based on the time required for the firmware update (step S414). This allows the rendering processing amount to be adjusted according to the time required for the firmware update. For example, if the time required for the firmware update is equal to or longer than a certain amount, the frame rate can be lowered to complete the firmware update as quickly as possible.
[0096] Next, a fourth example of the operation of the drawing display system 2 will be described with reference to FIG.
[0097] 12 is a sequence diagram showing a fourth example of the operation of the drawing display system 2 according to embodiment 2. The description will be omitted for the same processes as those in the first example of the operation of the drawing display system 2, and will focus on the differences from the first example of the operation of the drawing display system 2.
[0098] When the firmware update processing unit 13 receives a firmware update request and update data from the TCU 100, it acquires the importance of the firmware update from the firmware update request information (step S310). Depending on the content of the firmware update, some updates are important and some are not, and the firmware update request information includes the importance of the update. The firmware update processing unit 13 notifies the rendering processing amount control unit 14 of information indicating the importance of the firmware update, together with update execution status information indicating the start of firmware update execution, i.e., update execution status information indicating the start of access to the second storage area 22 (step S311).
[0099] When the firmware update processing unit 13 is notified of update execution status information indicating the start of access to the second storage area 22 (Yes in step S403), the rendering processing amount control unit 14 controls the processing amount (frame rate) of the rendering processing based on the importance of the firmware update (step S415). Since it is often desirable to complete an important update in a short time, firmware updates with high importance can be completed in a short time by lowering the frame rate.
[0100] Next, a fifth example of the operation of the drawing display system 2 will be described with reference to FIG.
[0101] 13 is a sequence diagram showing a fifth example of the operation of the drawing display system 2 according to embodiment 2. The description will be omitted for the same processes as those in the first example of the operation of the drawing display system 2, and will focus on the differences from the first example of the operation of the drawing display system 2.
[0102] In a fifth example of the operation of the drawing display system 2, the drawing display device 10a stores an update possibility table in which drawing scenes are associated with whether drawing updates are possible. For example, some drawing scenes do not require drawing updates, and the update possibility table includes information indicating drawing scenes for which drawing updates are not required.
[0103] The rendering processing unit 11 determines whether rendering processing is being performed in 0 fps mode (step S416). The 0 fps mode will be described later. If the rendering processing unit 11 determines that rendering processing is not being performed in 0 fps mode (No in step S416), the rendering processing unit 11 performs the processes from step S401 to step S403 in the same manner as in the first example of the operation of the rendering display system 2.
[0104] When the firmware update processing unit 13 is notified of update execution status information indicating the start of access to the second storage area 22 (Yes in step S403), the rendering processing amount control unit 14 determines whether the current display mode can be set to 0 fps (step S417). That is, the rendering processing amount control unit 14 determines whether a rendering update is required for the current rendering scene based on the update availability table. For example, since there is no need to update the rendering of a speedometer while the vehicle is stopped, it is determined that a rendering update is not required for the rendering scene of the speedometer while the vehicle is stopped.
[0105] The current display mode may be 0 fps, that is, if it is determined that the current drawing scene does not require drawing update (Yes in step S417), the drawing processing unit stops drawing update until the drawing scene requires drawing update (step S418). The 0 fps mode is a mode in which drawing update is stopped.
[0106] Since the drawing update has stopped and memory access is possible indefinitely while the drawing update is stopped, the drawing processing free time detection unit 12 notifies the firmware update processing unit 13 of the start of the memory access indefinite mode (step S419).
[0107] On the other hand, if the rendering processing amount control unit 14 determines that the current display mode must not be 0 fps, that is, that a rendering update is required for the current rendering scene (No in step S417), the processing from step S202 onwards in Fig. 2 is performed. That is, from this point onwards, the same processing as in the first example of the operation of the rendering display system 1 according to embodiment 1 is performed.
[0108] The firmware update processing unit 13 notifies the rendering processing amount control unit 14 of update execution status information indicating the start of firmware update execution, and then determines whether rendering processing is being executed in the memory access unlimited mode (step S312).
[0109] If the firmware update processing unit 13 determines that the drawing process is not being executed in the memory access unlimited mode (No in step S312), it waits to receive free time information from the drawing process free time detection unit 12 (step S303).
[0110] The firmware update processing unit 13 determines whether or not a notification of the start of the unlimited memory access mode has been received as free time information (step S313). If the firmware update processing unit 13 has received a notification of the start of the unlimited memory access mode (Yes in step S313), the firmware update processing unit 13 executes memory access to the second memory area 22 (step S305) because drawing updates are currently stopped and memory access is possible indefinitely.
[0111] If the rendering processing unit 11 is executing rendering processing in 0 fps mode (Yes in step S416), that is, if the rendering processing is stopped, it waits for rendering update trigger information to be acquired (step S420). If a rendering scene requires a rendering update, the rendering processing unit 11 is notified of the rendering update trigger information and ends the unlimited memory access mode, and the rendering processing free time detection unit 12 notifies the firmware update processing unit 13 of the end of the unlimited memory access mode (step S421).
[0112] If the firmware update processing unit 13 determines that the drawing process is being executed in the unlimited memory access mode (Yes in step S312), it acquires an unlimited mode-related notification (step S314). For example, the unlimited mode-related notification is a notification of the end of the unlimited memory access mode. Note that if there is no notification of the end of the unlimited memory access mode, the process in step S314 may not be performed.
[0113] The firmware update processing unit 13 determines whether or not there is a notification of the end of the unlimited memory access mode (step S315). If there is no notification of the end of the unlimited memory access mode (No in step S315), the firmware update processing unit 13 continues to execute memory access to the second storage area 22 (step S305). If there is a notification of the end of the unlimited memory access mode (Yes in step S315), the firmware update processing unit 13 waits to receive free time information from the drawing processing free time detection unit 12 (step S303). That is, from then on, the firmware update processing is performed as if the unlimited memory access mode was not in effect.
[0114] In this way, depending on the drawing scene, there may be cases where drawing updates are not necessary. Therefore, if the current drawing scene is one that does not require drawing updates, the drawing updates can be stopped until the current drawing scene becomes one that requires drawing updates, thereby increasing the free time. As a result, the amount of access to the second storage area 22 can be increased, allowing the firmware to be updated in a short time.
[0115] It is possible to combine the processes of two or more of the first to fifth examples of the operation of the drawing display system 2. It is also possible to combine the processes of the first to fifth examples of the operation of the drawing display system 2 with the processes of two or more of the second to sixth examples of the operation of the first embodiment.
[0116] (Third Embodiment) Next, a sound output system according to a third embodiment will be described.
[0117] Fig. 14 is a block diagram showing an example of an audio output system 3 according to embodiment 3. In addition to the audio output system 3, Fig. 14 also shows a TCU 100 and a speaker 300. Note that the audio output system 3 may also include the TCU 100 and the speaker 300.
[0118] The audio output system 3 is a system that performs audio output processing for outputting audio to a speaker 300. The speaker 300 is provided in a vehicle, for example.
[0119] The audio output system 3 includes an audio output device 10b and a nonvolatile memory 20. The audio output device 10b is a device for performing audio output processing, and firmware for controlling the audio output device 10b is stored in the nonvolatile memory 20. The firmware stored in the nonvolatile memory 20 is updated by FOTA.
[0120] The audio output device 10b includes an audio output processing unit 11a, an audio output processing free time detection unit 12a, and a firmware update processing unit 13a. The audio output device 10b is a computer including a processor (microprocessor), a memory, etc. The memory is a RAM or the like and can store programs executed by the processor. The audio output processing unit 11a, the audio output processing free time detection unit 12a, and the firmware update processing unit 13a are realized by a processor or the like that executes programs stored in the memory.
[0121] The audio output processing unit 11a performs audio output processing and outputs audio to the speaker 300. Specifically, the audio output processing unit 11a performs audio output processing by acquiring program code from the first storage area 21 that stores firmware and executing the acquired program code. After updating of the firmware stored in the second storage area 22 is completed, the audio output processing unit 11a performs audio output processing by acquiring program code from the second storage area 22 and executing the acquired program code.
[0122] The audio output processing idle time detection unit 12a detects idle time that occurs in the audio output processing, for example, silent periods.
[0123] The firmware update processing unit 13a updates the firmware for controlling the audio output device 10b. Specifically, the firmware update processing unit 13a accesses the second storage area 22 for firmware update based on free time information indicating the detected free time. The operation of the firmware update processing unit 13a is the same as the operation of the firmware update processing unit 13 in the first embodiment, and therefore a description thereof will be omitted.
[0124] The present disclosure can be applied not only to a drawing display system but also to an audio output system 3, in which when audio output processing is being performed using the program code of firmware stored in the first storage area 21 in one non-volatile memory 20, free time that occurs in the audio output processing is detected, and access to the second storage area 22 in the one non-volatile memory 20 for firmware updates is performed little by little during the free time. Because the access to the second storage area 22 is performed during free time in the audio output processing, the audio output processing is not interrupted, and therefore interruptions of processing (audio output processing) can be prevented in a FOTA that uses one non-volatile memory 20.
[0125] (Other Embodiments) As described above, the embodiments have been described as examples of the technology according to the present disclosure. However, the technology according to the present disclosure is not limited to these, and can be applied to embodiments in which modifications, substitutions, additions, omissions, etc. are made as appropriate. For example, the following modifications are also included in one embodiment of the present disclosure.
[0126] For example, the present disclosure can be realized not only as a drawing display system, but also as a drawing display method including steps (processing) performed by components that make up the drawing display system.
[0127] FIG. 15 is a flowchart showing an example of a drawing display method according to another embodiment.
[0128] The drawing display method is executed by a drawing display system that includes a drawing display device and a non-volatile memory, and the non-volatile memory each has a first memory area and a second memory area that store firmware for controlling the drawing display device.As shown in FIG. 15, the drawing display method includes a drawing processing step (step S11) that performs drawing processing, a drawing processing free time detection step (step S12) that detects free time that occurs in the drawing processing, and a firmware update processing step (step S13) that updates firmware for controlling the drawing display device.In the drawing processing step, program code is obtained from the first memory area and the obtained program code is executed to perform the drawing processing, and in the firmware update processing step, access is made to the second memory area for firmware update based on free time information that indicates the detected free time.
[0129] For example, the present disclosure can be realized not only as an audio output system, but also as an audio output method including steps (processing) performed by components that make up the audio output system.
[0130] FIG. 16 is a flowchart showing an example of a sound output method according to another embodiment.
[0131] The audio output method is executed by an audio output system having an audio output device and a non-volatile memory, and the non-volatile memory each has a first memory area and a second memory area for storing firmware for controlling the audio output device. As shown in FIG. 16, the audio output method includes an audio output processing step (step S21) for performing audio output processing, an audio output processing free time detection step (step S22) for detecting free time that occurs in the audio output processing, and a firmware update processing step (step S23) for updating firmware. In the audio output processing step, program code is obtained from the first memory area and the obtained program code is executed to perform the audio output processing, and in the firmware update processing step, access is made to the second memory area for firmware update based on free time information indicating the detected free time.
[0132] For example, the present disclosure can be realized as a program for causing a computer (processor) to execute steps included in the drawing display method or the audio output method. Furthermore, the present disclosure can be realized as a non-transitory computer-readable recording medium, such as a CD-ROM, on which the program is recorded.
[0133] For example, when the present disclosure is realized as a program (software), each step is performed by running the program using hardware resources such as a computer's CPU, memory, input / output circuits, etc. In other words, each step is performed by the CPU acquiring data from memory or input / output circuits, etc., performing calculations, and outputting the calculation results to memory or input / output circuits, etc.
[0134] In the above-described embodiments, each component included in the drawing display system or the audio output system may be configured with dedicated hardware, or may be realized by executing a software program suitable for each component. Each component may be realized by a program execution unit such as a CPU or processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory.
[0135] Some or all of the functions of the drawing display system or audio output system according to the above embodiments are typically realized as an LSI, which is an integrated circuit. These may be individually implemented as single chips, or may be integrated into a single chip that includes some or all of the functions. Furthermore, the integrated circuit is not limited to an LSI, and may be realized using a dedicated circuit or a general-purpose processor. It is also possible to use an FPGA (Field Programmable Gate Array), which can be programmed after LSI manufacture, or a reconfigurable processor, which allows the connections and settings of circuit cells within an LSI to be reconfigured.
[0136] Furthermore, if an integrated circuit technology that can replace LSI emerges due to advances in semiconductor technology or other derivative technologies, that technology may naturally be used to integrate each component included in the drawing display system or audio output system.
[0137] In addition, this disclosure also includes forms obtained by making various modifications to the embodiments that a person skilled in the art would think of, and forms realized by arbitrarily combining the components and functions in each embodiment within the scope of the present disclosure.
[0138] (Additional Notes) The above description of the embodiments discloses the following techniques.
[0139] (Technology 1) A drawing display system comprising a drawing display device and a non-volatile memory, wherein the drawing display device has a drawing processing unit that performs drawing processing, a drawing processing free time detection unit that detects free time that occurs during the drawing processing, and a firmware update processing unit that updates firmware for controlling the drawing display device, wherein the non-volatile memory has a first memory area and a second memory area that each store firmware, the drawing processing unit retrieves program code from the first memory area and performs the drawing processing by executing the retrieved program code, and the firmware update processing unit accesses the second memory area for firmware updates based on free time information that indicates the detected free time.
[0140] According to this, when rendering processing is being performed using the firmware program code stored in a first storage area in one nonvolatile memory, idle time that occurs in the rendering processing is detected, and access to the second storage area in the one nonvolatile memory for firmware updates is performed little by little during the idle time. Because access to the second storage area is performed during idle time in the rendering processing, the rendering processing is not interrupted, so interruptions to processing (rendering processing) can be prevented in FOTA using one nonvolatile memory. Furthermore, because FOTA can be realized without using two nonvolatile memories or without using a large-capacity volatile memory, costs can be reduced.
[0141] (Technology 2) The drawing display device has a normal operation mode and an update mode, and the drawing processing unit performs the drawing processing by executing program code obtained from the first memory area in the normal operation mode, and the firmware update processing unit erases data stored in the second memory area based on the free time information in the normal operation mode, and writes firmware data for firmware update to the second memory area in the update mode, in the drawing display system described in Technology 1.
[0142] This allows data stored in the second storage area (e.g., old versions of firmware) to be erased little by little during free time in the background of normal operation mode, thereby shortening the processing time for firmware updates that are performed after switching from normal operation mode to update mode.
[0143] (Technology 3) In the drawing display system described in Technology 2, after the firmware update processing unit starts performing the drawing processing by executing the program code obtained from the first memory area in the normal operation mode, it erases the data stored in the second memory area based on the available time information, regardless of whether there is a next firmware update request or whether the next firmware data has been received.
[0144] In this way, regardless of whether or not there is a next firmware update request or whether or not the next firmware data has been received, the data stored in the second storage area can be erased little by little during free time in the background of normal operation mode, thereby shortening the time required to rewrite the second storage area after the update mode.
[0145] (Technology 4) A drawing display system described in any of Technologies 1 to 3, wherein the firmware update processing unit determines a method for erasing data stored in the second memory area based on the length of free time indicated by the free time information.
[0146] This allows you to select an erasure method such as sector erase or block erase depending on the length of the free time, since the data size that can be erased in one free time varies depending on the length of the free time. For example, block erase generally requires a shorter erase time per size, allowing for more effective erasure.
[0147] (Technology 5) A drawing display system described in any of Technologies 1 to 4, wherein the drawing processing unit calculates the amount of change in the drawing content based on a predetermined number of frames up to the present, and if the amount of change is less than or equal to a predetermined amount, skips the drawing processing for a predetermined number of subsequent frames.
[0148] According to this, if there is no or only a small change in the drawing content for a predetermined number of frames up to the present, the same or nearly the same content is displayed, and therefore drawing processing can be skipped for any number of subsequent frames. This can increase the amount of free time and the amount of access to the second storage area, allowing firmware updates to be completed in a short time.
[0149] (Technology 6) A drawing display system described in any one of Technologies 1 to 5, wherein the drawing processing free time detection unit calculates the drawing processing time required for the drawing processing of the first frame, and detects free time that occurs in the drawing processing of the first frame by calculating the difference between the drawing available time, which is the time from the start time of the drawing processing of the first frame to the start time of the drawing processing of the second frame that follows the first frame, and the drawing processing time.
[0150] After the rendering process for the first frame is completed, there is a free time for rendering until the start time of the next frame, so the free time can be calculated from the difference between the available rendering time between the start time of the first frame and the start time of the next frame, and the rendering processing time required for the rendering process for the first frame.
[0151] (Technology 7) A drawing display system described in any of Technologies 1 to 6, wherein the drawing display device further includes a drawing processing amount control unit that controls the processing amount of the drawing processing, and the firmware update processing unit further notifies the drawing processing amount control unit of update execution status information indicating the execution status of the firmware update, and the drawing processing amount control unit controls the processing amount of the drawing processing based on the update execution status information.
[0152] When operating at a high frame rate such as 60 fps, the free time can become short, making it difficult to detect the free time. To address this issue, the amount of processing required for rendering, such as controlling the frame rate, is controlled according to the firmware update status. For example, by lowering the frame rate when a firmware update is about to begin, the free time can be increased, allowing the firmware update process to proceed.
[0153] (Technology 8) The drawing display device stores a processing amount adjustment possibility table in which drawing scenes are associated with whether the processing amount can be adjusted, and when the drawing processing amount control unit is notified of the update execution status information indicating that the firmware update processing unit has started accessing the second memory area, it determines whether the processing amount for the current drawing scene can be adjusted based on the processing amount adjustment possibility table, and if it determines that the processing amount can be adjusted, it performs control to lower the frame rate in the drawing processing, in the drawing display system described in Technology 7.
[0154] For example, depending on the drawing scene, it may be better not to lower the frame rate. Therefore, by storing a processing amount adjustment possibility table in advance, it is possible to determine whether it is okay to adjust the processing amount for the current drawing scene by referring to the processing amount adjustment possibility table, and it is possible to lower the frame rate only for drawing scenes for which the processing amount can be adjusted.
[0155] (Technology 9) A drawing display system described in Technology 7 or 8, wherein the firmware update processing unit further calculates the time required to update the firmware based on the size of the firmware update data, and notifies the drawing processing amount control unit of information indicating the required time, and when the drawing processing amount control unit is notified of the update execution status information indicating the start of access to the second memory area by the firmware update processing unit, controls the processing amount of the drawing process based on the required time.
[0156] This allows the time required for the firmware update (total time required for erasing and writing) to be calculated based on the size of the firmware update data, and the amount of processing required for the drawing process to be adjusted to correspond to the required time. For example, if the required time for the firmware update exceeds a certain amount, the frame rate can be lowered to complete the firmware update as quickly as possible.
[0157] (Technology 10) A drawing display system described in any of Technologies 7 to 9, wherein the firmware update processing unit further notifies the drawing processing amount control unit of information indicating the importance of the firmware update, and when the drawing processing amount control unit is notified of the update execution status information indicating that the firmware update processing unit has started to access the second memory area, the drawing processing amount control unit controls the processing amount of the drawing process based on the importance.
[0158] Depending on the content of the firmware update, some updates are important and others are not, and important updates often need to be completed in a short time. Therefore, firmware updates that are highly important can be completed in a short time by lowering the frame rate.
[0159] (Technology 11) The drawing display device stores an update possibility table in which drawing scenes are associated with whether or not drawing updates are possible, and when the drawing processing amount control unit is notified of the update execution status information indicating that the firmware update processing unit has started accessing the second memory area, it determines whether or not a drawing update is necessary for the current drawing scene based on the update possibility table, and when it is determined that a drawing update is not necessary, the drawing processing unit stops the drawing update until the drawing scene requires a drawing update. This is a drawing display system described in any of Technologies 7 to 10.
[0160] Depending on the drawing scene, there may be cases where drawing updates are not necessary. Therefore, if the current drawing scene is a drawing scene that does not require drawing updates, the drawing updates are stopped until the drawing scene becomes a drawing scene that requires drawing updates, thereby increasing the free time. As a result, the amount of access to the second storage area can be increased, allowing the firmware to be updated in a short time.
[0161] (Technology 12) A drawing display method executed by a drawing display system comprising a drawing display device and a non-volatile memory, wherein the non-volatile memory each has a first memory area and a second memory area for storing firmware for controlling the drawing display device, and the drawing display method includes a drawing processing step for performing drawing processing, a drawing processing free time detection step for detecting free time that occurs in the drawing processing, and a firmware update processing step for updating firmware, wherein the drawing processing step performs the drawing processing by retrieving program code from the first memory area and executing the retrieved program code, and the firmware update processing step performs access to the second memory area for firmware update based on free time information indicating the detected free time.
[0162] This makes it possible to provide a drawing display method that can prevent interruption of processing (drawing processing) in a FOTA that uses one nonvolatile memory.
[0163] (Technology 13) An audio output system comprising an audio output device and a non-volatile memory, wherein the audio output device has an audio output processing unit that performs audio output processing, an audio output processing free time detection unit that detects free time that occurs in the audio output processing, and a firmware update processing unit that updates firmware for controlling the audio output device, wherein the non-volatile memory each has a first memory area and a second memory area that store firmware, the audio output processing unit retrieves program code from the first memory area and performs the audio output processing by executing the retrieved program code, and the firmware update processing unit accesses the second memory area for firmware update based on free time information that indicates the detected free time.
[0164] According to this, when audio output processing is being performed using the program code of the firmware stored in the first storage area of one nonvolatile memory, free time that occurs in the audio output processing is detected, and access to the second storage area of the one nonvolatile memory for firmware updates is performed little by little during the free time. Because the access to the second storage area is performed during the free time of the audio output processing, the audio output processing is not interrupted, and therefore interruptions of processing (audio output processing) can be prevented in FOTA using one nonvolatile memory.
[0165] (Technology 14) An audio output method executed by an audio output system comprising an audio output device and a non-volatile memory, wherein the non-volatile memory each has a first memory area and a second memory area for storing firmware for controlling the audio output device, and the audio output method includes an audio output processing step for performing audio output processing, an audio output processing free time detection step for detecting free time that occurs in the audio output processing, and a firmware update processing step for updating firmware, wherein the audio output processing step performs the audio output processing by retrieving program code from the first memory area and executing the retrieved program code, and the firmware update processing step performs access to the second memory area for firmware update based on free time information indicating the detected free time.
[0166] This makes it possible to provide an audio output method that can prevent interruption of processing (audio output processing) in a FOTA that uses one nonvolatile memory.
[0167] The present disclosure can be applied to systems that update firmware using FOTA.
[0168] REFERENCE SIGNS LIST 1, 2 drawing display system 3 audio output system 10, 10a drawing display device 10b audio output device 11 drawing processing unit 11a audio output processing unit 12 drawing processing free time detection unit 12a audio output processing free time detection unit 13, 13a firmware update processing unit 14 drawing processing amount control unit 20 non-volatile memory 21 first storage area 22 second storage area 100 TCU 200 display 300 speaker
Claims
1. A drawing display system comprising a drawing display device and a non-volatile memory, wherein the drawing display device includes a drawing processing unit that performs drawing processing, a drawing processing idle time detection unit that detects idle time generated in the drawing processing, and a firmware update processing unit that updates firmware for controlling the drawing display device, and the non-volatile memory has a first storage area and a second storage area for storing firmware respectively. The drawing processing unit acquires a program code from the first storage area and performs the drawing processing by executing the acquired program code. The firmware update processing unit accesses the update of the firmware to the second storage area based on idle time information indicating the detected idle time.
2. The drawing display device has a normal operation mode and an update mode. In the normal operation mode, the drawing processing unit performs the drawing processing by executing the program code acquired from the first storage area. In the normal operation mode, the firmware update processing unit deletes the data stored in the second storage area based on the idle time information, and writes firmware data for firmware update to the second storage area in the update mode. The drawing display system according to claim 1.
3. In the normal operation mode, after the drawing processing is started by executing the program code acquired from the first storage area by the firmware update processing unit, regardless of the presence or absence of a next firmware update request or the reception of next firmware data, the firmware update processing unit deletes the data stored in the second storage area based on the idle time information. The drawing display system according to claim 2.
4. The firmware update processing unit determines a method for deleting the data stored in the second storage area based on the length of the idle time indicated by the idle time information. The drawing display system according to any one of claims 1 to 3.
5. The drawing processing unit calculates a change amount of drawing content based on a predetermined number of frames up to the present, and skips the drawing processing for a subsequent predetermined number of frames when the change amount is equal to or less than a predetermined change amount. The drawing display system according to any one of claims 1 to 4.
6. The drawing process idle time detection unit calculates the drawing process time required for the drawing process of the first frame, and detects the idle time generated in the drawing process of the first frame by calculating the difference between the drawable time, which is the time from the start time of the drawing process of the first frame to the start time of the drawing process of the next second frame, and the drawing process time. The drawing display system according to any one of claims 1 to 5.
7. The drawing display device further includes a drawing process amount control unit that controls the amount of the drawing process. The firmware update processing unit further notifies the drawing process amount control unit of update execution state information indicating the execution state of the firmware update. The drawing process amount control unit controls the amount of the drawing process based on the update execution state information. The drawing display system according to any one of claims 1 to 6.
8. The drawing display device stores a process amount adjustment availability table in which a drawing scene is associated with the availability of adjusting the process amount. When the update execution state information indicating the start of the execution of the access to the second storage area by the firmware update processing unit is notified, the drawing process amount control unit determines whether it is possible to adjust the process amount for the current drawing scene based on the process amount adjustment availability table. When it is determined that the process amount may be adjusted, the drawing process amount control unit performs control to lower the frame rate in the drawing process. The drawing display system according to claim 7.
9. The firmware update processing unit further calculates the required time for the firmware update based on the size of the firmware update data, and notifies the drawing process amount control unit of information indicating the required time. When the update execution state information indicating the start of the execution of the access to the second storage area by the firmware update processing unit is notified, the drawing process amount control unit controls the amount of the drawing process based on the required time. The drawing display system according to claim 7 or 8.
10. The firmware update processing unit further notifies the drawing processing amount control unit of information indicating the importance of the firmware update. When the update execution status information indicating the start of the execution of the access to the second storage area by the firmware update processing unit is notified, the drawing processing amount control unit controls the processing amount of the drawing processing based on the importance. The drawing display system according to any one of claims 7 to 9.
11. The drawing display device stores an update availability table in which a drawing scene and the availability of drawing update are associated. When the update execution status information indicating the start of the execution of the access to the second storage area by the firmware update processing unit is notified, the drawing processing amount control unit determines whether drawing update is necessary for the current drawing scene based on the update availability table. When it is determined that drawing update is unnecessary, the drawing processing unit stops the drawing update until a drawing scene for which drawing update is necessary is reached. The drawing display system according to any one of claims 7 to 10.
12. A drawing display method executed by a drawing display system including a drawing display device and a non-volatile memory. The non-volatile memory has a first storage area and a second storage area for storing firmware for controlling the drawing display device, respectively. The drawing display method includes a drawing processing step of performing drawing processing, a drawing processing idle time detection step of detecting an idle time generated in the drawing processing, and a firmware update processing step of performing firmware update. In the drawing processing step, the drawing processing is performed by acquiring a program code from the first storage area and executing the acquired program code. In the firmware update processing step, an access related to the firmware update to the second storage area is performed based on the idle time information indicating the detected idle time. Drawing display method.
13. A voice output system comprising: a voice output device and a non-volatile memory, wherein the voice output device includes: a voice output processing unit that performs voice output processing; a voice output processing free time detection unit that detects free time generated in the voice output processing; and a firmware update processing unit that updates firmware for controlling the voice output device. The non-volatile memory has a first storage area and a second storage area for storing firmware respectively. The voice output processing unit obtains program code from the first storage area and performs the voice output processing by executing the obtained program code. The firmware update processing unit accesses the update of the firmware to the second storage area based on free time information indicating the detected free time.
14. A voice output method executed by a voice output system comprising a voice output device and a non-volatile memory, wherein the non-volatile memory has a first storage area and a second storage area for storing firmware for controlling the voice output device respectively. The voice output method includes: a voice output processing step of performing voice output processing; a voice output processing free time detection step of detecting free time generated in the voice output processing; and a firmware update processing step of updating firmware. In the voice output processing step, program code is obtained from the first storage area and the voice output processing is performed by executing the obtained program code. In the firmware update processing step, access to the update of the firmware to the second storage area is performed based on free time information indicating the detected free time.
Citation Information
Patent Citations
Vehicle electronic control unit, program update method and program
JP2019144669A
Vehicle controller, program update method, and program update system
JP2021071960A
Method for updating operation control information, and data processor using the same
JP1998269075A
Update method, update control device and update device for software incorporated in processor
JP2004094301A
Information processing device, image forming apparatus, and update method
JP2018156638A