Information processing device, information processing method, and program
The information processing device safely downgrades firmware by determining version downgrades and initializing system data, ensuring correct data formats and stable device operation.
Patent Information
- Application Number
- JP2023092777
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-05
- Publication Date
- 2024-12-17
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing firmware downgrading technologies fail to ensure proper data file format conversion and device startup when using third-party firmware or when downgrading to a previous version, leading to incomplete data deletion and system instability.
An information processing device that determines if a firmware update is a version down, initializes system data referenced by the first firmware, and updates the firmware after initialization to ensure compatibility and correct data file formats.
Ensures safe and stable firmware downgrading by initializing and converting system data formats before updating, allowing devices to function correctly even with third-party firmware and preventing data format mismatches during downgrades.
Smart Images

Figure 2024174763000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing device, an information processing method, and a program. [Background technology]
[0002] Z-Wave (registered trademark) is a standard for wireless network communication that collects sensor data from sensor devices with sensor functions. In such wireless networks, there are network cameras that can be set to point to a specific position according to preset conditions when a notification is received from a sensor device (child unit) with sensor functions.
[0003] Generally, when a device such as a network camera is newly introduced, it is necessary to perform initial setting work according to the customer's environment. The initial setting work of a device takes a lot of time and effort. Therefore, when performing the same initial setting work for multiple devices, common data such as a specified firmware version, necessary software and setting information, and verification data are prepared in advance. Then, by processing the common data according to the setting instruction information, even an operator who is not familiar with device settings (for example, an SIer who installs a network camera at a customer's site) can efficiently perform the initial setting work. In such a process, when changing the firmware to a specified version, a firmware upgrade is usually performed.
[0004] However, when updating the firmware version of a network camera, users who have purchased additional devices to expand the surveillance range do not necessarily want to use the new functions. In particular, if additional work is required to maintain the integrity of the system software after the version change, users may choose to downgrade to the existing stable firmware and continue to operate the network camera, rather than upgrading.
[0005] Furthermore, not only for network cameras but also for devices used in offices, there are various types of firmware, such as regular firmware, special-purpose firmware, and individual firmware. Regular firmware is firmware used by general users in network cameras. Special-purpose firmware is firmware customized for specific business transactions. Individual firmware is firmware that is released individually to fix specific problems. Of these, special-purpose firmware is firmware that is only used at business contacts, and the version is often fixed and not changed for long periods of time.
[0006] In these cases, since the firmware version shipped from the factory is periodically updated, it may happen that the firmware version specified during the initial setup is lower than the firmware version shipped from the factory. In this case, the firmware version is downgraded during the initial setup.
[0007] When upgrading firmware, the format of data files may change in order to expand functions or fix defects. When upgrading, the firmware to be upgraded knows the change in data file format that accompanies the upgrade, so the data file format can be changed at the same time as the upgrade. However, when downgrading, the firmware to be downgraded does not know about the change in data file format and is therefore unable to recognize the data file format. As a result, when booting up after the downgrade, the data file may not be read correctly, and the device may not start up normally.
[0008] Patent Document 1 discloses a technique for downgrading data used by a program to be downgraded to a format usable by the downgraded program in synchronization with the downgrading of the program. Patent Document 2 discloses a technique for downgrading the program by reserving initialization in advance, downgrading the program, and then initializing the data area. [Prior art documents] [Patent documents]
[0009] [Patent Document 1] JP 2012-256300 A [Patent Document 2] JP 2020-47139 A Summary of the Invention [Problem to be solved by the invention]
[0010] However, in the technology described in Patent Document 1, the format of the data file is changed so that the downgraded program can be used. Therefore, if a third-party firmware with an undisclosed data file format is installed, the data file format cannot be converted, and the device cannot start up normally after the downgrade.
[0011] In addition, in the technology described in Patent Document 2, the data area is deleted after the firmware is updated for the version downgrade. Therefore, if the device cannot be started normally due to the version downgrade, the data area cannot be deleted, and the problem remains.
[0012] An object of the present invention is to safely downgrade firmware. [Means for solving the problem]
[0013] In order to achieve the object of the present invention, for example, an information processing device according to one embodiment has the following configuration: That is, the information processing device has a determination means for determining whether an update of a first firmware that operates a first control unit of the information processing device is a firmware downgrade, an initialization means for initializing system data of the first control unit that is referenced by the first firmware when it is determined that the update of the first firmware is a downgrade, and an update means for updating the first firmware after the initialization. Effect of the Invention
[0014] Safely downgrade firmware. [Brief description of the drawings]
[0015] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a communication system including an information processing device. [Diagram 2] FIG. 2 is a block diagram showing an example of a hardware configuration of each device including the information processing device. [Diagram 3] FIG. 4 is a diagram showing an example of a data area managed by a first control unit. [Figure 4] FIG. 4 is a diagram for explaining firmware to be updated. [Diagram 5] FIG. 13 is a diagram showing an example of a screen presented to a user when updating firmware. [Figure 6] 4 is a flowchart showing an example of information processing executed by each control unit. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] Hereinafter, the embodiments will be described in detail with reference to the attached drawings. Note that the following embodiments do not limit the invention according to the claims. Although the embodiments describe a number of features, not all of these features are essential to the invention, and the features may be combined in any manner. Furthermore, in the attached drawings, the same reference numbers are used for the same or similar configurations, and duplicated descriptions are omitted.
[0017] [Embodiment 1] Fig. 1 is a diagram showing an example of the configuration of a communication system including an information processing device according to embodiment 1. The communication system shown in Fig. 1 includes a network camera (information processing device) 101, a sensor device 102 as a communication device, and an information terminal 104 as a communication control device. The information processing device 101 according to this embodiment is assumed to be a device built into the network camera, but the information processing device 101 and the network camera may be separate devices as long as the same processing can be performed on the network camera.
[0018] The information processing device 101 is communicatively connected to a sensor device 102 via a network 103. The information processing device 101 is also communicatively connected to an information terminal 104 via a network 105. The sensor device 102 has a pairing button 106 for establishing communication with the information processing device 101. The sensor device 102 is a sensor device, and may be one or more.
[0019] The information processing device 101 according to this embodiment includes a network camera that has a camera with an imaging function and can distribute captured images or videos to an information terminal 104 via a wired or wireless network 105. The information terminal 104 can control at least one of the imaging operation, the angle of view control, the attitude control such as panning or tilting, and the video recording control of the information processing device 101 via the network 105. The information terminal 104 can also perform settings related to communication with the information processing device 101.
[0020] The sensor device 102 according to this embodiment is a sensor capable of detecting at least one of conditions detected by a sensor, such as the concentration of a gas such as smoke or carbon monoxide, temperature, or a predetermined action of a subject such as opening and closing a door. The sensor device 102 transmits a notification to the information processing device 101 in response to detecting a preset condition. The sensor device 102 may notify not only sensor information such as temperature, but also that the temperature has exceeded a certain standard or that a predetermined action (opening and closing) of a predetermined subject such as a door has occurred, or may notify the timing of replacing the sensor device.
[0021] The network 103 connects the information processing device 101 and the sensor device 102 so that they can communicate with each other. The network 103 according to this embodiment is a wireless communication network using a wireless communication method that complies with the Z-Wave (registered trademark) standard. In this case, the sensor device 102 can execute notification to the information processing device 101 by using a profile defined by the Z-Wave standard. Note that the network 103 is not limited to the Z-Wave standard, and a wireless communication network using a wireless communication method that complies with at least one of the Wi-Fi NAN standard and the ZigBee (registered trademark) standard may be used. The network 103 may be wired or wireless as long as it is a network that can notify an external device such as the information processing device 101 that can communicate via the network 103 according to the sensor device 102 detecting a preset condition.
[0022] The network 105 is a network that communicatively connects the information processing device 101 and the information terminal 104. The network 105 according to this embodiment may be a wired communication network conforming to a wired communication method such as a wired LAN, or may be a wireless communication network conforming to a wireless communication method such as the IEEE802.11 series standard. In this case, the information processing device 101 may operate as an access point that constructs the network 105, or may operate as a station that participates in the network 105 constructed by the information terminal 104 or an access point (not shown).
[0023] The network 105 may be a network that complies with a wireless communication standard such as the Wi-Fi Direct (registered trademark) standard or the Wi-Fi NAN standard. The network 105 does not need to be a IEEE802.11 series standard, and may be a network that complies with a wireless communication standard such as Bluetooth (registered trademark), NFC, UWB, MBOA, ZigBee (registered trademark), or Z-Wave.
[0024] NAN is an abbreviation for Neighbor Awareness Networking, and NFC is an abbreviation for Near Field Communication. UWB is an abbreviation for Ultra Wide Band. MBOA is an abbreviation for Multi Band OFDM (Orthogonal Frequency Division Multiplexing) Alliance. UWB includes Wireless USB, Wireless 1394, and WiNET.
[0025] Hereinafter, a process in which the information processing device 101 updates firmware in the communication system according to this embodiment will be described. FIG. 2 is a block diagram showing an example of the hardware configuration of each device used in this embodiment. FIGS. 2(A), 2(B), 2(C) and 2(D) are block diagrams showing an example of the hardware configuration of the information processing device 101, the sensor device, the information terminal 104 and the first control unit 204 (described later), respectively. Note that the configuration of each device shown in FIG. 2 is an example, and each device may have other components.
[0026] The information processing device 101 according to this embodiment includes a second control unit 201 , a storage unit 202 , a communication unit 203 , a first control unit 204 , an imaging unit 205 , an image processing unit 206 , and a pan / tilt driving unit 207 .
[0027] The second control unit 201 is a central processing unit configured with one or more processors such as a CPU or an MPU, and controls the entire information processing device 101 by executing second firmware stored in a storage unit 202 described below. The second control unit 201 may control the entire information processing device 101 in cooperation with the firmware stored in the storage unit 202 and an OS (Operating System). CPU stands for Central Processing Unit, and MPU stands for Micro Processing Unit. The second control unit 201 may also include multiple processors such as multi-core processors, and the entire information processing device 101 may be controlled by the multiple processors.
[0028] Here, an example of firmware updated by the information processing device 101 according to this embodiment will be described with reference to Fig. 4. The firmware 400 is composed of a second firmware 401 for controlling a second control unit, and a first firmware 404 for controlling a first control unit. The second firmware 401 includes at least a firmware version 402 and an updatable hardware identifier 403 as additional information. The first firmware 404 includes at least a firmware version 405 and an updatable hardware identifier 406 as additional information. The firmware versions 402 and 405 are information indicating the version information of the second firmware 401 and the version of the first firmware 404, respectively.
[0029] The second control unit 201 analyzes the command transmitted to the information processing device 101 and performs processing according to the command. For example, the second control unit 201 can receive a command from the information terminal 104 according to an instruction input by a user via the information terminal 104 and execute processing based on the received command. Specifically, the second control unit 201 writes the second firmware 401 and the first firmware 404 uploaded from the information terminal 104 to the storage unit 202. In addition, the second control unit can transfer the first firmware 404 to the first control unit 204 and update the firmware of the first control unit 204. Note that the firmware update processing according to this embodiment includes firmware version upgrade and version downgrade.
[0030] Furthermore, the second control unit 201 may detect a change in an internal parameter held by the information processing device 101, and perform processing using the detection result as an event trigger. For example, when information indicating the state of the sensor device 102 held in the information processing device 101 is changed, the second control unit 201 can execute processing in response to the detection of the change.
[0031] The storage unit 202 is configured with one or more memories such as a ROM or a RAM, and stores various information such as a second firmware for performing various operations, a first firmware for updating the firmware of the first control unit 204, and communication parameters for wireless communication. ROM stands for Read Only Memory, and RAM stands for Random Access Memory. The storage unit 202 may include at least one storage medium such as a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a non-volatile memory card, or a DVD, in addition to a memory such as a ROM or a RAM. Furthermore, the storage unit 202 may store setting values such as parameters for image quality adjustment or network settings so that previously set values can be used when the information processing device 101 is restarted.
[0032] The communication unit 203 controls communication via a wired LAN or a wireless LAN. Specifically, the communication unit 203 controls communication via the network 105.
[0033] The first control unit 204 controls communication in accordance with the Z-Wave standard. A specific configuration of the first control unit 204 will be described later with reference to FIG.
[0034] In this embodiment, the information processing device 101 has a communication unit 203 and a first control unit 204 as separate communication units for communicating with external devices, but a single communication unit may perform communication via the network 105 and communication via the network 103.
[0035] The imaging unit 205 is composed of a lens and an imaging element such as a CMOS sensor, and the imaging element photoelectrically converts an optical image formed by the lens and outputs it as an imaging signal. The image processing unit 206 performs image processing and compression encoding processing on the imaging signal output from the imaging unit 205 to generate image data or video data. The pan / tilt driving unit 207 controls driving the camera in the pan or tilt direction (here, by a command from the second control unit 201).
[0036] The sensor device 102 according to this embodiment includes a control unit 211 , a storage unit 212 , a wireless communication unit 213 , and a detection unit 214 .
[0037] The control unit 211 is configured with one or more processors such as a CPU or an MPU, and controls the entire sensor device 102 by executing a computer program stored in a storage unit 212 (to be described later).
[0038] The storage unit 212 is configured with one or more memories such as a ROM or a RAM, and stores various information such as computer programs for performing various operations and communication parameters for wireless communication. The storage unit 212 also stores communication information related to communication with the information processing device 101, which is the parent device.
[0039] The wireless communication unit 213 controls communication in compliance with the Z-Wave (registered trademark) standard. Specifically, the wireless communication unit 213 controls communication via the network 103.
[0040] When the detection unit 214 detects, for example, the opening or closing of a door by the sensor function, it outputs a detection signal as a detection result. Note that, although the sensor device 102 according to the present embodiment has only the detection unit 214, it may additionally have other detection units.
[0041] The information terminal 104 according to this embodiment includes a control unit 221 , a storage unit 222 , a communication unit 223 , a wireless communication unit 224 , an operation unit 225 , an image processing unit 226 , and a display unit 227 .
[0042] The control unit 221 is configured with one or more processors such as a CPU or MPU as a computer, and controls the information terminal 104, the information processing device 101, or the sensor device 102 by executing a computer program stored in the storage unit 222.
[0043] The storage unit 222 stores various information such as firmware and communication information, etc. The storage unit 222 according to this embodiment can have the same configuration as the storage unit 202, and therefore a duplicated description will be omitted.
[0044] The communication unit 223 controls communication via the network 105 by wired LAN or wireless LAN. The information terminal 104 may also include a wireless communication unit 224 and control communication via the network 103 in compliance with the Z-Wave standard. Note that the information terminal 104 according to this embodiment will be described as having the communication unit 223 and the wireless communication unit 224 separately as communication means, but communication via the network 105 may be performed by only one communication unit.
[0045] The operation unit 225 is for accepting user operations such as a mouse, keyboard, or touch panel. The image processing unit 226 processes image data or video data to generate a display signal for display, etc. The display unit 227 includes a display device such as an LCD for displaying image data or video data, and can display a screen such as that shown in FIG.
[0046] Further, the operation unit 225 and the display unit 227 according to the present embodiment will be described as separate functional units, but the information terminal 104 may have, for example, a touch panel that serves as both the operation unit 225 and the display unit 227.
[0047] 5 is displayed on the display unit 227. The control unit 221 in the information terminal 104 functions as a control means for performing the above control.
[0048] The first control unit 204 according to this embodiment includes a control unit 231, a storage unit 232, and a wireless communication unit 233.
[0049] The control unit 231 analyzes the command transmitted from the second control unit 201, and performs processing according to the command related to communication control with the sensor device 102. For example, when a command related to firmware update or the first firmware 404 is received from the second control unit 201, the control unit 231 can write the first firmware 404 to the storage unit 232 and update the firmware.
[0050] By storing the first firmware 404 or a boot loader, the storage unit 232 can wait in a state controllable by the second control unit 201 in response to the start-up of the information processing device 101. Furthermore, by storing setting values such as settings of the network 103 that communicates with the sensor device 102, the storage unit 232 can use previously set setting values even when the information processing device 101 is restarted. Furthermore, the storage unit 232 can store communication information related to communication with the sensor device 102, which is a child device, sensor information acquired from the sensor device 102, and the like.
[0051] In this manner, the second control unit 201 controls the storage unit 232
[0052] The wireless communication unit 233 controls communication in compliance with the Z-Wave standard. Specifically, the wireless communication unit 233 controls communication via the network 103.
[0053] The information processing device 101 (second control unit 201) according to this embodiment determines whether the update of the first firmware is a downgrade. For example, when the second control unit 201 receives a firmware update instruction from the information terminal 104, it can compare the current version of the first firmware with the firmware version included in the update instruction to determine whether the update is a downgrade.
[0054] When the second control unit 201 determines that the firmware update to be executed is a version downgrade, it initializes the system data of the first control unit 204, which is referenced by the first firmware, before updating the first firmware. The second control unit 201 according to this embodiment can initialize system data, the data file format of which depends on the version of the first firmware, as the system data referenced by the first firmware. In the example of FIG. 3 described later, the system area 302 and the system data area 303 are areas that depend on the version of the first firmware, and the system data in these areas is deleted by the initialization process. After the initialization, the second control unit 201 updates the first firmware.
[0055] 3 is a configuration diagram showing a data area managed and stored in the storage unit 232. The boot loader area 301 is an area in which a boot loader capable of executing various processes such as initialization of the first control unit 204, firmware update, and firmware startup is stored. The boot loader area 301 according to this embodiment is assumed to be an area in which data independent of the firmware version is stored.
[0056] The system area 302 is an area where a part of the first firmware is expanded. The first firmware according to the present embodiment includes a controller, an embedded application, or middleware. When changing the firmware version, the system area 302 is overwritten with the changed firmware.
[0057] The system data area 303 is an area in which setting values of the network 103 that communicates with the sensor device 102 and the like are stored. The system data area 303 according to this embodiment stores system data referenced by the first firmware, the data file format of which depends on the version of the first firmware. In this embodiment, it is assumed that the system data area is constructed when the first firmware is written for the first time to the system area 302 in the initial state (a state in which no firmware is written).
[0058] The system data area 303 is an area that depends on the firmware version because the data file format may differ depending on the firmware version. Therefore, when updating the firmware, the system data in the system data area 303 is automatically converted from the old data file format to the new data file format when upgrading the firmware. Data conversion when upgrading the firmware can be performed using any known technology, and detailed description will be omitted.
[0059] Conversely, when downgrading the firmware, the data file format of the system data cannot be automatically converted because the old version of firmware does not support the new data file format. Therefore, when downgrading the firmware, it is necessary to initialize (delete) the system area 302 and the system data area 303 and reconstruct the system data area 303 by writing new firmware. The process when downgrading the firmware will be described later with reference to the flowchart in FIG. 6.
[0060] The user data area 304 is an area for writing additional information such as a serial number written at the factory, which is managed separately from the first firmware, and is an area that is not affected by a firmware version change. Therefore, the information processing device 101 does not need to convert the format of data files or delete data in the user data area 304 when upgrading or downgrading the version. In addition to the above-mentioned serial number, the user data area 304 can arbitrarily store values unique to the information processing device 101, such as an antenna adjustment value determined at the time of shipment from the factory. On the other hand, the system area 302 and the system data area 303 need to be deleted and reconstructed when downgrading the firmware at the initial installation.
[0061] In this way, before downgrading the first firmware, the first control unit 201 according to this embodiment initializes the system area 302 and the system data area 303. The boot loader stored in the boot loader area and the additional information stored in the user data area 304 do not need to be initialized before downgrading because the data file formats do not depend on the firmware version.
[0062] 5 is a diagram showing an example of a screen displayed on the information terminal 104 when updating firmware of the information processing device 101. The screen 500 is a part of a management screen, and when performing initial settings of the information processing device 101, the information terminal 104 accepts a user operation via the screen 500. The screen 500 is assumed to be a screen displayed on the display unit 227 of the information terminal 104 when a display request for a firmware update screen is transmitted from the information terminal 104 to the second control unit 201 of the information processing device 101.
[0063] Screen 500 displays version display 501 that displays firmware version 402 included in second firmware 401 written in second control unit 201, selection button 502 for selecting firmware to be updated, and update button 505. Screen 100 also displays, as buttons for selecting the firmware update contents, radio button 503 for standard upgrade that carries over current settings and updates, and radio button 504 for updating by restoring settings to the factory settings. Here, it is assumed that firmware version downgrade is executed by selecting radio button 504 and updating the firmware.
[0064] For example, in this embodiment, the user clicks the selection button 502 to select the firmware 400 to be downgraded. Next, the user selects the radio button 504 to execute the firmware downgrade, and clicks the update button 505. In response to input of such a user operation, the second control unit 201 starts the firmware update process.
[0065] Hereinafter, such processing performed by the information processing device 101 will be described with reference to Fig. 6. Fig. 6 is a flowchart illustrating an example of firmware downgrade processing performed by the information processing device 101, which is started upon receiving an instruction according to a user operation accepted on the screen 500.
[0066] Steps S601 to S612 are processes performed by the second control unit 201, and steps S651 to S655 are processes performed by the first control unit 204. The process in Fig. 6 is assumed to start when the information processing device 101 receives a firmware update instruction from the information terminal 104. The following description is based on the assumption that, when the process in Fig. 6 starts, the update firmware 400 has been uploaded from the information terminal 104 to the information processing device 101 in a form included in the update instruction.
[0067] In S601 , the second control unit 201 analyzes the uploaded firmware 400 stored in the storage unit 202 , and acquires the hardware identifier 403 of the second firmware 401 .
[0068] In S602, the second control unit 201 determines whether the uploaded firmware is updatable based on the hardware identifier 403 acquired by analysis. For example, the second control unit 201 can determine that the firmware is updatable if the hardware identifier 403 of the second firmware 401 included in the firmware 400 matches that of the current hardware of the second control unit 201. If the firmware is updatable, the second control unit 201 advances the process to S603. If the firmware is not updatable, the second control unit 201 advances the process to S612, displays an error message on the screen 500 using a dialog or the like, and ends the firmware update process.
[0069] In S603, the second control unit 201 analyzes the uploaded firmware 400 stored in the storage unit 202, and obtains the firmware version 405 of the first firmware.
[0070] In S604, the second control unit 201 acquires the current firmware version of the first firmware 404, and compares it with the firmware version 405 acquired by analysis to determine whether the update process to be executed is a version downgrade. Here, if the acquired firmware version is older than the current firmware version, it is determined that the update process to be executed is a version downgrade. If it is a version downgrade, the process proceeds to S605, and if it is the same version or an upgrade, the process proceeds to S606.
[0071] In S605, the second control unit 201 requests initialization of the first control unit 204 in order to delete the system area 302 and the system data area 303 of the first control unit 204, and the process proceeds to S651 by the first control unit 204. For example, the second control unit 201 can cause the first control unit 204 to execute the initialization by controlling a control pin of the first control unit 204.
[0072] In S651, the first control unit 204 starts the boot loader and makes the system area 302 and the system data area 303 available for deletion. In S652, the first control unit 204 deletes the system area 302 and the system data area 303. In S653, the first control unit 204 restarts the first control unit 204 and advances the process to S606 of the second control unit. Since the firmware (first firmware) has been deleted, the first control unit 204 waits with the boot loader activated.
[0073] In S606, the second control unit 201 writes the second firmware 401 to the system area 302 of the second control unit 201 in the storage unit 202, and writes the first firmware 404 to the working area. In S607, the second control unit 201 restarts the information processing device 101 to update to the second firmware 401. In S608, the second control unit 201 unpacks the second firmware 401 written in the system area of the storage unit 202, and executes the updated second firmware 401.
[0074] In S609, the second control unit 201 acquires the current firmware version from the first control unit 204. In S610, the second control unit 201 analyzes the first firmware 404 stored in the working area of the storage unit 202, and determines whether or not the firmware version 405 acquired by the analysis is different from the current firmware version of the first control unit 204. If the firmware versions are different, the process proceeds to S611 to update the first firmware, and if not, the process ends without updating the firmware. Here, if no firmware is written in the system area 302 of the first control unit 204 (for example, if the system area 302 is initialized in S605), the version cannot be acquired, and therefore it is determined in S610 that the firmware versions are different.
[0075] In S611 and S654 to S655, the second control unit 201 updates the firmware of the first control unit 204. In S611, the second control unit 201 transmits a firmware update instruction to the first control unit 204, and the process proceeds to S654 by the first control unit. In S611, for example, the second control unit 201 instructs the boot loader in the first control unit 204, which is running, to start the firmware update process, and sets the boot loader to a state waiting to receive firmware. Next, the second control unit 201 transfers the first firmware 404 stored in the working area to the first control unit 204.
[0076] In S654, the first control unit 204 writes the received first firmware 404 to the system area 302, and constructs the system data area 303. If the system area 302 has already been written, the first control unit 204 skips the construction of the system data area 303.
[0077] In S655, the first control unit 204 restarts the first control unit 204, deploys the updated first firmware 405, and executes the first firmware 405. With this, the firmware update process of the second control unit 201 and the first control unit 204 is completed.
[0078] According to this process, it is determined whether the update of the firmware of the first control unit 204 is a downgrade, and if it is a downgrade, it is possible to initialize the system data, the data file format of which depends on the firmware version, before the update. Therefore, it is possible to safely downgrade the firmware, since it is no longer possible to read the system data correctly after the firmware is downgraded. In particular, even if the firmware to be downgraded does not correspond to the internal data structure before the update, such as when using a product equipped with third-party firmware whose data format in the system data area is not disclosed, it is possible to safely downgrade the firmware.
[0079] It is possible that the storage unit 202 of the second control unit 201 stores setting values related to the operation of the first control unit 204 (for example, setting values for communication via the network 103). In such a case, the second control unit 201 may also initialize the setting values related to the operation of the first control unit 204 stored in the storage unit 202, in addition to requesting initialization of the first control unit 204 in S605.
[0080] The information processing device as a network camera described in this embodiment is an example, and is not particularly limited to this aspect. For example, an electronic device having an imaging function such as a digital still camera, a digital movie camera, a smartphone with a camera, a tablet computer with a camera, an in-vehicle camera, a drone camera, or a camera mounted on a robot may be used as the camera. In addition, as long as the same processing can be executed, some or all of the functions described as being performed by the information processing device 101 may be performed by an external device of the network camera.
[0081] The disclosure of this specification includes the following information processing device, information processing method, imaging system, and program.
[0082] (Item 1) A determination means for determining whether an update of a first firmware for operating a first control unit of the information processing device is a downgrade of the firmware; an initialization means for initializing system data referred to by the first firmware in the first control unit when it is determined that the update of the first firmware is a downgrade; an update means for updating the first firmware after the initialization; An information processing device comprising: (Item 2) 2. The information processing device according to item 1, wherein the system data referenced by the first firmware is system data whose data file format depends on the version of the first firmware. (Item 3) The information processing device described in item 1 or 2, characterized in that when an instruction to update the first firmware is received, the determination means determines whether the update of the first firmware is a firmware downgrade by comparing the version of the first firmware currently operating the first control unit with the version of the first firmware included in the update instruction. (Item 4) 4. The information processing device according to any one of items 1 to 3, wherein the first control unit is a control unit that controls communication with an external device. (Item 5) The information processing device described in item 4, characterized in that the first control unit controls communication with external devices via a wireless communication network that complies with at least one of the Z-Wave standard, the Wi-Fi Neighbor Awareness Networking standard, the ZigBee standard, or the Bluetooth standard. (Item 6) The device further includes a storage unit that stores a setting value related to the operation of the first control unit in a storage unit by a second control unit that operates according to a second firmware different from the first firmware, The information processing device described in any one of items 1 to 5, characterized in that the initialization means further initializes the setting value in the memory unit when it is determined that the update of the first firmware is a version downgrade. (Item 7) determining whether an update of a first firmware for operating a first control unit of the information processing device is a downgrade of the firmware; When it is determined that the update of the first firmware is a downgrade, initializing system data referred to by the first firmware in the first control unit; updating the first firmware after the initialization; An information processing method comprising: (Item 8) A program for causing a computer to function as each of the means of the information processing device according to any one of items 1 to 6.
[0083] (Other Examples) The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.
[0084] The invention is not limited to the above-described embodiments, and various modifications and variations are possible without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention. [Explanation of symbols]
[0085] 101: information processing device, 102: sensor device, 103: network, 104: information terminal, 105: network
Claims
1. A determination means for determining whether an update of a first firmware for operating a first control unit of the information processing device is a downgrade of the firmware; an initialization unit that initializes system data in the first control unit that is referenced by the first firmware when it is determined that the update of the first firmware is a downgrade; an update means for updating the first firmware after the initialization; An information processing device comprising:
2. 2. The information processing apparatus according to claim 1, wherein the system data referred to by said first firmware is system data whose data file format depends on the version of said first firmware.
3. The information processing device according to claim 1, characterized in that, when an instruction to update the first firmware is received, the determination means determines whether the update of the first firmware is a firmware version downgrade by comparing the version of the first firmware currently operating the first control unit with the version of the first firmware included in the update instruction.
4. 2. The information processing apparatus according to claim 1, wherein the first control unit is a control unit that controls communication with an external device.
5. The information processing device according to claim 4, characterized in that the first control unit controls communication of an external device through a wireless communication network that complies with at least one of the Z-Wave standard, the Wi-Fi Neighbor Awareness Networking standard, the ZigBee standard, or the Bluetooth standard.
6. The device further includes a storage unit that stores a setting value related to the operation of the first control unit in a storage unit by a second control unit that operates according to a second firmware different from the first firmware, 2 . The information processing apparatus according to claim 1 , wherein the initialization means further initializes the setting value in the storage unit when it is determined that the update of the first firmware is a downgrade.
7. determining whether an update of a first firmware for operating a first control unit of the information processing device is a downgrade of the firmware; When it is determined that the update of the first firmware is a downgrade, initializing system data referenced by the first firmware in the first control unit; updating the first firmware after the initialization; An information processing method comprising:
8. A program for causing a computer to function as each of the means of the information processing device according to any one of claims 1 to 6.
Citation Information
Patent Citations
Version down management device
JP2012256300A
Firmware version changing method and program of built-in system
JP2020047139A
