Upgrading method of screen transmission equipment and screen transmission equipment

By adopting a partitioned data identification method in the screen sharing device, the problem of poor firmware upgrade compatibility of the screen sharing device is solved, and the upgrade process does not affect normal use and startup, thus improving the user experience.

CN120848909APending Publication Date: 2025-10-28GUANGZHOU SHIZHEN INFORMATION TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202410440276.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-04-12
Publication Date
2025-10-28

AI Technical Summary

Technical Problem

Screen sharing devices suffer from poor compatibility during firmware upgrades, leading to malfunctions and impacting user experience when upgrades fail.

Method used

The system uses partition data identifiers to identify the storage partition in the screen sharing device that stores the newer version of the program, and updates the upgrade program data to the old version storage partition. This ensures that if problems occur during the upgrade process, the system can still start up and run its functions using the newer version of the program data.

Benefits of technology

It improves the compatibility and reliability of screen sharing device upgrades, ensuring that the upgrade process does not affect normal use and the normal operation of the next startup, thus improving the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120848909A_ABST
    Figure CN120848909A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a screen transmission device upgrading method and a screen transmission device.The screen transmission device comprises a first storage, the first storage comprises a first storage partition and a second storage partition, and the first storage partition and the second storage partition store screen transmission program data of different versions. Reading a partition data identifier from a preset identifier bit according to the start trigger signal, and determining a first target storage partition for storing screen transmission program data of a new version and a second target storage partition for storing screen transmission program data of an old version from a first memory according to the partition data identifier; starting a system according to the screen transmission program data in the first target storage partition; on the basis of the upgrading trigger signal, upgrading program data which is newer than the version of the screen transmission program data in the first target storage partition is updated into the second target storage partition, and after updating is completed, the partition data identifier is updated; the problem of poor upgrading compatibility can be solved, and the upgrading compatibility and reliability are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of screen sharing technology, and in particular to an upgrade method for a screen sharing device and a screen sharing device. Background Technology

[0002] With the development of internet technology, electronic devices are becoming increasingly diverse in form and function. In some scenarios, users have a growing need for convenient sharing of content displayed across multiple electronic devices, and screen sharing technology can largely meet this need.

[0003] Screen sharing technology enables communication and content sharing between electronic devices through screen sharing devices. During use, when a firmware upgrade is needed, the screen sharing device requires insertion into the corresponding electronic device via a specific interface module to perform the firmware upgrade. Only after the upgrade can the device be paired, connected, and share content based on the updated firmware.

[0004] In related technologies, the typical process involves plugging a screen-sharing device into a corresponding electronic device. The electronic device then transmits a replacement file to the screen-sharing device via an interface module, and the screen-sharing device performs the replacement process based on this file. However, this method is prone to incompatibility issues if the upgrade process is unexpectedly paused or fails. Since only a portion of the files were replaced during the upgrade, it's impossible to revert to the previous version, leading to incompatibility and rendering the screen-sharing device unusable. Therefore, this type of screen-sharing device upgrade method suffers from poor compatibility, resulting in a poor user experience. Summary of the Invention

[0005] This application provides an upgrade method and device for a screen sharing device, which can solve the problem of poor compatibility in screen sharing device upgrades, improve the compatibility and reliability of screen sharing device upgrades, and enhance the user experience.

[0006] In a first aspect, embodiments of this application provide a screen sharing device upgrade method for a screen sharing device, the screen sharing device including a first memory, the first memory including a first storage partition and a second storage partition, the version of the screen sharing program data stored in the first storage partition being different from the version of the screen sharing program data stored in the second storage partition, the screen sharing device upgrade method including:

[0007] When the screen sharing device is connected to the terminal device, it receives a start trigger signal and, in response to the start trigger signal, reads the partition data identifier from the preset identifier bit. The partition data identifier is used to indicate the first target storage partition, which is the storage partition in the first memory that stores the latest version of the screen sharing program data.

[0008] The first target storage partition and the second target storage partition are determined from the first storage partition and the second storage partition based on the partition data identifier. The second target storage partition is the storage partition in the first storage device that stores the old version of the screen sharing program data.

[0009] The system is started based on the screen sharing program data in the first target storage partition;

[0010] If an upgrade trigger signal is received, in response to the upgrade trigger signal, upgrade program data is received. The version of the upgrade program data is newer than the version of the screen sharing program data in the first target storage partition.

[0011] Update the upgrade program data to the second target storage partition in order to upgrade the old version of the screen sharing program data in the second target storage partition;

[0012] After the upgrade process completes the data update, update the partition data identifier.

[0013] The above describes how the first target storage partition, which stores the latest version of the screen sharing program data, is identified by partition data identifier. The upgrade program data is then updated to the second target storage partition. Even if the update is paused or fails, the original latest version of the screen sharing program data in the first target storage partition can still be used for system startup and function operation. This avoids the problem of poor compatibility in screen sharing device upgrades, improves the compatibility and reliability of screen sharing device upgrades, and ensures that the current normal use of the screen sharing device and its normal operation on the next startup are not affected regardless of whether the upgrade program data update is successful, thus improving the user experience.

[0014] In one embodiment, each storage partition includes a first sub-partition and a second sub-partition. The first sub-partition is used to store a first type of program data for basic screen mirroring functions, and the second sub-partition is used to store a second type of program data for preset functions.

[0015] The upgrade program data will be updated to the second target storage partition to upgrade the old version of the screen sharing program data in the second target storage partition, including:

[0016] Retrieve the type identifier from the upgrade program data;

[0017] The data type of the upgrade program data is determined based on the type identifier. The data type includes a first type and a second type.

[0018] When the data type is type 1, the upgrade program data is updated to the first sub-partition within the second target storage partition in order to upgrade the type 1 program data in the first sub-partition;

[0019] When the data type is type 2, the upgrade program data is updated to the second sub-partition within the second target storage partition in order to upgrade the type 2 program data in the second sub-partition.

[0020] As described above, by updating the upgrade program data corresponding to the first type to the first sub-partition of the second target storage partition, the screen transmission program data of the first sub-partition is upgraded and updated, and the data blocks within the first sub-partition are erased and updated; or by updating the upgrade program data corresponding to the second type to the second sub-partition of the second target storage partition, the screen transmission program data of the second sub-partition is upgraded and updated, and the data blocks within the second sub-partition are erased and updated. Compared with related technologies that replace and update the entire large file, this embodiment improves the orderliness of the upgrade work and reduces the granularity of the upgrade by updating and upgrading each sub-partition separately, thereby helping to improve the upgrade speed. Furthermore, when problems occur during the upgrade process, the problem location can be found more accurately, thereby improving the efficiency of the upgrade program data improvement work.

[0021] In one embodiment, when the data type is the second type, the upgrade program data is updated to the second sub-partition within the second target storage partition to upgrade the second type of program data in the second sub-partition, including:

[0022] When the data type is type 2, the second sub-partition is mounted to the system device list using the mounting tool;

[0023] The update writing tool is used to update the upgrade program data to the second sub-partition mounted in the system device list, thereby upgrading the second type of program data in the second sub-partition.

[0024] In one embodiment, updating the upgrade program data to the second target storage partition to upgrade the old version of the screen sharing program data in the second target storage partition includes:

[0025] Each data block in the second target storage partition is erased one by one to remove the screen sharing program data originally stored in the data block, resulting in an empty data block without data.

[0026] The upgrade program data is written sequentially into empty data blocks until the writing is complete.

[0027] In one embodiment, updating the upgrade program data to the second target storage partition to upgrade the old version of the screen sharing program data in the second target storage partition includes:

[0028] Obtain the sub-partition identifier based on the upgrade program data, and update the upgrade program data to the corresponding sub-partition in the second target storage partition based on the sub-partition identifier, so as to upgrade the old version of the screen sharing program data in the corresponding sub-partition.

[0029] In one embodiment, the screen sharing device further includes a second memory;

[0030] When the screen sharing device and the terminal device are connected, after receiving the start trigger signal, the process includes:

[0031] In response to the start trigger signal, the second memory is initialized.

[0032] After the initialization process of the second memory is completed, the first boot program is started. The first boot program is a secondary boot program.

[0033] The system is started based on the screen sharing program data in the first target storage partition, including

[0034] According to the execution of the first boot program, the first type of program data in the first sub-partition of the first target storage partition is copied to the second storage.

[0035] According to the execution of the first boot program, the first type of program data is decompressed in the second memory to obtain the first executable program data;

[0036] Read and execute the first executable program data to enable the basic screen sharing function.

[0037] As described above, the system is started by a secondary bootloader based on the screen sharing program data stored in the first memory. The code size of the secondary bootloader is smaller than that of the primary bootloader, so the boot time required for the corresponding system is also less than that of the primary bootloader. This avoids the problem of long startup time for screen sharing devices, shortens the startup time, and improves the user experience.

[0038] In one embodiment, according to the execution of the first bootloader, the first type of program data is decompressed in the second memory to obtain the first executable program data, including:

[0039] According to the execution of the first boot program, the first type of program data is decompressed in the second memory to obtain the kernel image and the root file system;

[0040] Read and execute the first executable program data to enable basic screen sharing functionality, including:

[0041] Read and execute the kernel image to start the kernel.

[0042] Based on the kernel's operation, decompress the root file system;

[0043] Mount the decompressed root file system to enable basic screen mirroring functionality.

[0044] As described above, after the first boot program is started, the first type of program data in the first sub-partition of the first target storage partition is copied to the second memory according to the execution of the first boot program. The processor (MCU or CPU) can then start the basic screen projection function based on the first type of program data in the second memory. After the basic screen projection function is started, the screen projection device can run the application corresponding to the basic screen projection function, such as a screen projection application, and thus achieve the technical effect of screen projection. From the user's perspective, the process is complete at this point. Therefore, the method of prioritizing the startup of the basic screen projection function in this embodiment is faster than the method of starting all functions simultaneously in related technologies, thereby improving the user experience.

[0045] In one embodiment, after mounting the decompressed root file system to enable the basic screen mirroring function, the following steps are included:

[0046] Based on the kernel's operation, the second sub-partition in the first target storage partition is mounted to the system device list;

[0047] Based on the kernel's operation, the second type of program data in the mounted second sub-partition is copied to the second memory;

[0048] Based on the kernel's operation, the second type of program data in the second memory is read and executed to enable the startup of the preset function.

[0049] As described above, by starting the basic screen mirroring function and then starting the preset function corresponding to the second sub-partition, compared with the method of starting the basic screen mirroring function and the preset function simultaneously in related technologies, this embodiment greatly shortens the startup time, thereby improving the user experience.

[0050] In one embodiment, after completing the initialization process of the second memory and starting the first boot program, the process includes:

[0051] The burning trigger signal is detected according to the first boot program;

[0052] Upon detecting a programming trigger signal, the second bootloader is started and initial program data is received in response to the programming trigger signal;

[0053] The initial program data is burned into the corresponding storage partition of the first memory through the second boot program;

[0054] After the burning process is complete, the initial program data in the first memory is copied to the second memory through the second boot program;

[0055] The system boots up based on the second bootloader and the initial program data in the second memory.

[0056] In a second aspect, embodiments of this application provide a screen sharing device, including an interface module, a first memory, and a processor, comprising a first storage partition and a second storage partition, wherein the version of the screen sharing program data stored in the first storage partition is different from the version of the screen sharing program data stored in the second storage partition;

[0057] The interface module is connected to the processor, and the processor is connected to the first memory.

[0058] The interface module is used to connect with the terminal device and send a start trigger signal to the processor based on the connection. The interface module is also used to receive the upgrade trigger signal sent by the terminal device and send the upgrade trigger signal to the processor.

[0059] The processor is used to receive a start trigger signal, and in response to the start trigger signal, read the partition data identifier from the preset identifier bit, determine the first target storage partition and the second target storage partition from the first storage partition and the second storage partition according to the partition data identifier, and start the system according to the screen sharing program data in the first target storage partition. The partition data identifier is used to indicate the first target storage partition. The first target storage partition is the storage partition in the first memory that stores the newer version of the screen sharing program data, and the second target storage partition is the storage partition in the first memory that stores the older version of the screen sharing program data.

[0060] The processor is also configured to, upon receiving an upgrade trigger signal, receive upgrade program data in response to the upgrade trigger signal and update the upgrade program data to the second target storage partition, so as to upgrade the old version of the screen sharing program data in the second target storage partition. The version of the upgrade program data is newer than the version of the screen sharing program data in the first target storage partition.

[0061] The processor is also used to update the partition data identifier after the upgrade program data update is complete.

[0062] This embodiment of the application, after the screen sharing device starts the system based on the newer version of the screen sharing program data in the first target storage partition, upon receiving an upgrade trigger signal, updates the upgrade program data to the second target storage partition according to the read partition data identifier, thereby upgrading the old version of the screen sharing program data in the second target storage partition. After the upgrade is completed, the partition data identifier is updated. Using the above technical means, the first target storage partition storing the newer version of the screen sharing program data in the first memory can be determined through the partition data identifier, and the upgrade program data is updated to the second target storage partition. Even if the update is paused or fails during the update process, the original newer version of the screen sharing program data in the first target storage partition can still be used for system startup and function operation. This avoids the problem of poor compatibility in screen sharing device upgrades, improves the compatibility and reliability of screen sharing device upgrades, and ensures that under normal operating conditions, whether the upgrade program data update is successful or not does not affect the current normal use of the screen sharing device or its normal operation upon the next startup, thereby improving the user experience. Attached Figure Description

[0063] Figure 1 This is a flowchart of an upgrade method for a screen sharing device provided in an embodiment of this application;

[0064] Figure 2 This is a schematic diagram of the structure of a first memory provided in an embodiment of this application;

[0065] Figure 3 This is a schematic diagram of a sub-partition distribution provided in an embodiment of this application;

[0066] Figure 4 This is a flowchart of another screen sharing device upgrade method provided in the embodiments of this application;

[0067] Figure 5 This is a schematic diagram of the structure of a screen sharing device provided in an embodiment of this application. Detailed Implementation

[0068] To make the objectives, technical solutions, and advantages of this application clearer, specific embodiments of this application will be described in further detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are merely for explaining this application and not for limiting it. It should also be noted that, for ease of description, only the parts relevant to this application are shown in the drawings, not all of them. Before discussing exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe operations (or steps) as sequential processes, many of these operations can be performed in parallel, concurrently, or simultaneously. Furthermore, the order of the operations can be rearranged. The process can be terminated when its operation is completed, but may also have additional steps not included in the drawings. The process can correspond to a method, function, procedure, subroutine, subprogram, etc.

[0069] In related technologies, after the screen-sharing device is plugged into the corresponding terminal device, the terminal device transmits replacement files to the screen-sharing device via an interface module, and the screen-sharing device performs the replacement process based on these files. However, this method is prone to incompatibility issues if the upgrade process is unexpectedly paused or fails. Since only a portion of the files were replaced during the upgrade, it's impossible to revert to the previous version, leading to incompatibility and rendering the screen-sharing device unusable. Furthermore, after an unexpected pause or failure during the upgrade process, the firmware needs to be re-flashed before the device can boot and function, severely impacting the user experience. Additionally, firmware upgrades in these technologies require pausing the normal operation of the screen-sharing device. Only after the upgrade is complete and the device restarts can the system boot and function based on the new firmware, wasting user time waiting for the upgrade to complete, which also significantly affects the user experience. Therefore, the upgrade methods for screen-sharing devices in these technologies suffer from poor compatibility and reliability, resulting in a subpar user experience. Based on this, this application provides an upgrade method and device for a screen sharing device. During the upgrade, a first target storage partition storing a relatively new version of the screen sharing program data in a first memory is determined by partition data identification. The upgrade program data is then updated to a second target storage partition. Even if the update is paused or fails, the system can still start and function using the existing relatively new version of the screen sharing program data in the first target storage partition. This avoids the problem of poor compatibility during screen sharing device upgrades. Compared with related technologies that involve replacing the entire upgrade firmware file, this embodiment improves the compatibility and reliability of screen sharing device upgrades. Whether the upgrade program data update is successful or not does not affect the current normal use of the screen sharing device or its normal operation upon next startup. Even if the screen sharing program data update in the second target storage partition is unexpectedly paused or fails, the system can still start and function using the existing relatively new screen sharing program data in the first target storage partition, thereby improving the user experience.

[0070] Figure 1 A flowchart of an upgrade method for a screen sharing device provided in this application embodiment is given. The upgrade method for the screen sharing device provided in this embodiment can be executed by the screen sharing device, which can be implemented by software and / or hardware. The screen sharing device can be composed of two or more physical entities, or it can be composed of a single physical entity.

[0071] The following description uses a screen sharing device as the main example to illustrate the upgrade method for that device. (Refer to...) Figure 1The upgrade method for the screen sharing device is used in the screen sharing device, which includes a first memory, which includes a first storage partition and a second storage partition. The version of the screen sharing program data stored in the first storage partition is different from the version of the screen sharing program data stored in the second storage partition. The upgrade method specifically includes:

[0072] S101. When the screen sharing device is connected to the terminal device, a start trigger signal is received. In response to the start trigger signal, a partition data identifier is read from a preset identifier bit. The partition data identifier is used to indicate the first target storage partition. The first target storage partition is a storage partition in the first memory that stores the latest version of the screen sharing program data.

[0073] The screen sharing device can connect to the terminal device through a corresponding interface module for power-on and interaction. The startup trigger signal can be understood as a power-on signal or a reset signal. The power-on signal can be received by the screen sharing device after it has connected to the terminal device hardware through the corresponding interface module; the reset signal can be a restart signal triggered by a corresponding virtual control or hardware button. When the screen sharing device receives the startup trigger signal, it initiates system startup in response. During system startup, since there are a first storage partition and a second storage partition in the first memory, it is necessary to first determine which storage partition's screen sharing program data to use for system startup. Since the version of the screen sharing program data stored in the first storage partition differs from the version stored in the second storage partition, the partition data identifier identifies the first target storage partition. The first target storage partition is the storage partition in the first memory that stores the newest version of the screen sharing program data. Therefore, when the screen sharing device receives the startup trigger signal, it reads the partition data identifier from a preset identifier bit to determine the current first target storage partition in the first memory. It should be noted that, in addition to the first target storage partition, the second target storage partition is another storage partition in the first memory that stores the data of the old version of the screen sharing program.

[0074] S102. Determine the first target storage partition and the second target storage partition from the first storage partition and the second storage partition according to the partition data identifier. The second target storage partition is the storage partition in the first memory that stores the old version of the screen sharing program data.

[0075] When the screen sharing device receives a start trigger signal, it responds by reading the partition data identifier from a preset flag bit. Based on the partition data identifier, it determines the first target storage partition and the second target storage partition from the first storage partition and the second storage partition. The first target storage partition is the storage partition in the first memory that stores the newest version of the screen sharing program data, and the second target storage partition is the storage partition in the first memory that stores the older version of the screen sharing program data. By storing different versions of the screen sharing program data in the two storage partitions in the first memory, if the screen sharing program data in one storage partition becomes unavailable, the screen sharing program data in the other storage partition can be used for system startup and function operation. This avoids the screen sharing device failing to operate and affecting the user experience, thereby improving the operational reliability of the screen sharing device and ultimately enhancing the user experience.

[0076] S103. Start the system based on the screen sharing program data in the first target storage partition.

[0077] The latest version of the screen sharing program data in the first target storage partition is copied to the second storage. The second storage is used to temporarily store the corresponding screen sharing program data during startup. The screen sharing program data in the second storage is read and executed to start the system. It should be noted that the system startup can be a one-click screen sharing, which is automatically triggered after the system starts; or the screen sharing operation can be performed manually after the system starts.

[0078] As described above, upon receiving a start trigger signal, the system starts based on the latest version of the screen sharing program data in the first target storage partition. This allows the system to perform startup operations and subsequent function runs based on the latest version of the screen sharing program data in the first memory, thereby improving the system performance of the screen sharing device.

[0079] S104. If an upgrade trigger signal is received, in response to the upgrade trigger signal, upgrade program data is received. The version of the upgrade program data is newer than the version of the screen transmission program data in the first target storage partition.

[0080] An upgrade trigger signal can be understood as a signal that is triggered only when an upgrade is needed. This signal can be triggered by the screen sharing device itself or by a terminal device connected to it. The upgrade trigger signal can be triggered via virtual controls or hardware buttons. After the screen sharing device system starts up, upon receiving the upgrade trigger signal, it responds by receiving the upgrade program data transmitted from the terminal device. It should be noted that the version of the upgrade program data is newer than the version of the screen sharing program data in the first target storage partition.

[0081] S105. Update the upgrade program data to the second target storage partition to upgrade the old version of the screen sharing program data in the second target storage partition.

[0082] After the screen sharing device receives the upgrade program data, it needs to determine which storage area in the first memory to update the upgrade program data to. Based on the aforementioned determination of the first and second target storage partitions from the first and second storage partitions according to partition data identifiers during system startup, upon receiving an upgrade trigger signal, the upgrade program data is updated to the second target storage partition in response to the upgrade trigger signal, thereby upgrading the old version of the screen sharing program data in the second target storage partition. It should be noted that the second target storage partition is another storage partition in the first memory besides the first target storage partition.

[0083] As described above, by updating the upgrade program data to the second target storage partition, even if the upgrade program data update is unexpectedly paused or fails, the system can still be started and the functions can still be run using the original, relatively new version of the screen sharing program data in the first target storage partition. This avoids the problem of poor compatibility of screen sharing device upgrades, improves the compatibility and reliability of screen sharing device upgrades, and does not affect the normal use of screen sharing devices regardless of whether the upgrade program data update is successful, thereby improving the user experience.

[0084] S106. After the upgrade program data update is complete, update the partition data identifier.

[0085] After the upgrade program data update is complete, it is confirmed that the storage partition containing the upgrade program data (i.e., the aforementioned second target storage partition) has been updated to the first target storage partition in the first memory, which contains the latest version of the screen sharing program data. Therefore, the partition data identifier is updated to indicate that the updated storage partition becomes the current storage partition in the first memory that stores the latest version of the program data. In other words, the aforementioned second target storage partition becomes the first target storage partition after the upgrade program data update. By updating the partition data identifier after the upgrade program data update, during subsequent system startup, the storage partition in the first memory that currently stores the latest version of the screen sharing program data can be determined based on the partition data identifier. The system startup and function operation are then performed based on the latest version of the screen sharing program data in the first memory, thereby improving the system performance of the screen sharing device.

[0086] As described above, after the screen sharing device starts its system, upon receiving an upgrade trigger signal, it updates the upgrade program data to the second target storage partition based on the read partition data identifier. This upgrades the old version of the screen sharing program data in the second target storage partition. After the upgrade is complete, the partition data identifier is updated. Using this technique, the first target storage partition storing the newer version of the program data in the first memory can be determined through the partition data identifier. The upgrade program data is then updated to the second target storage partition storing the old version of the screen sharing program data. Even if the update is unexpectedly paused or fails, the original newer version of the screen sharing program data in the first target storage partition can still be used for system startup and operation. This avoids the problem of poor compatibility in screen sharing device upgrades, improves the compatibility and reliability of screen sharing device upgrades, and ensures that under normal operating conditions, the success or failure of the upgrade program data update does not affect the current normal use of the screen sharing device or its normal operation upon subsequent startup, thereby improving the user experience.

[0087] In the aforementioned S101 step, during the upgrade trigger in this embodiment, the upgrade can be performed in the background while the screen sharing device is running normally, thus not affecting the user's current normal use. Before triggering the upgrade, the screen sharing device needs to be started first. After the screen sharing device is started, it can be determined whether to trigger the upgrade based on actual needs. The screen sharing device also includes a second memory, wherein the first memory is used to store screen sharing program data, and the second memory is used to temporarily store the corresponding screen sharing program data during startup or upgrade. For example, the second memory can be RAM. During the system startup process, when the screen sharing device receives a startup trigger signal, it responds to the startup trigger signal by first starting the second memory and performing initialization processing on the second memory. After completing the initialization processing of the second memory, the first boot program is started to guide the system startup.

[0088] The first bootloader is a secondary bootloader, such as SPL. SPL (Secondary Program Loader) can be loaded by bootrom in the boot chain as a second-level boot image (bl 2). It is mainly used to initialize some basic modules and DDR (i.e., second memory), as well as load the next-level image. In the fast boot scenario of this embodiment, the system can be directly booted through the secondary bootloader. The bootloader data corresponding to the first bootloader is stored in the first memory, which can be stored in any storage partition or in various storage partitions of the first memory. When the screen sharing device receives a power-on signal or a reset signal, the first bootloader (i.e., the secondary bootloader) is loaded into the second memory through an automatic loading mechanism. For example, the bootloader data is loaded (copied) into the second memory through an automatic loading mechanism. After copying, the processor (MCU or CPU) can read the bootloader data from the second memory and execute the read bootloader data to start the first bootloader. As described above, after receiving the boot signal, the second memory is first started and initialized to provide a basic environment for subsequent system boot, facilitating the smooth progress of subsequent processes and thus improving the overall boot efficiency. After the second memory is initialized, the first boot program is started through an automatic loading mechanism, so that the system can be booted according to the first boot program. The system is then booted by a second boot program with less code (i.e., the first boot program, such as SPL). Compared with the method of booting the system by a first boot program with more code (such as uboot) in related technologies, the second boot program has less code and its own boot time is relatively shorter, thereby shortening the overall system boot time and further improving the efficiency of system boot.

[0089] When the first bootloader starts the system, it uses two storage partitions in the first memory to store different versions of the screen sharing program data. During startup, the system is preferably started and run based on the newest version of the screen sharing program data. Therefore, after the first bootloader starts, the partition data identifier is read from a preset flag bit according to the bootloader's operation, and the first and second target storage partitions in the current first memory are determined based on the partition data identifier. Figure 2 This is a schematic diagram of the structure of a first memory provided in an embodiment of this application, with reference to... Figure 2The first memory 102 provided in this embodiment includes a first storage partition 1021 and a second storage partition 1022. The first storage partition 1021 and the second storage partition 1022 are used to store different versions of screen sharing program data. For example, the first storage partition 1021 stores screen sharing program data of version 2.0, and the second storage partition 1022 stores screen sharing program data of version 1.0. In this case, the first storage partition 1021 is the current first target storage partition, and the second storage partition 1022 is the current second target storage partition. It should be noted that if the screen sharing program data is subsequently upgraded, and the upgraded screen sharing program data in the second storage partition 1022 is a newer version, then the second storage partition 1022 becomes the first target storage partition. The first target storage partition can be indicated by a partition data identifier. The partition data identifier can be read from a preset identifier bit. For example, if the value of the partition data identifier corresponding to the preset flag bit boot_flag is 1, then the first target storage partition is the first storage partition 1021; if the value of the partition data identifier corresponding to the preset flag bit boot_flag is not 1, for example, boot_flag = 0, then the first target storage partition is determined not to be the first storage partition 1021, which can be understood as the second storage partition 1022. As described above, the partition data identifier can be read from the preset flag bit, and based on the read partition data identifier, it can be determined which storage partition in the first memory is the current first target storage partition, that is, which storage partition in the first memory stores the latest version of the screen sharing program data. Subsequently, based on the execution of the first boot program, the screen sharing program data in the first target storage partition can be directly copied to the second memory to boot and execute the corresponding screen sharing program data in the first target storage partition, thereby realizing system startup and function operation.

[0090] In step S101, after starting the first boot program, the partition data identifier is read from a preset identifier bit according to the operation of the first boot program. The current first target storage partition is determined according to the partition data identifier. The first target storage partition is the storage partition in the current first memory that stores the latest version of the program data. For example, when the value of the partition data identifier corresponding to the preset identifier bit boot_fl ag is 1, the first target storage partition is storage partition 1021. According to the first boot program, the screen sharing program data in the first target storage partition (i.e., the first storage partition 1021) is copied to the second memory to start the system based on the screen sharing program data in the second memory. As described above, after the screen sharing device starts the system through the first boot program, the screen sharing device can be used normally. When the screen sharing device is used normally, the corresponding upgrade process is performed according to the upgrade requirements. For example, when an upgrade trigger signal is received, S104-S106 are executed.

[0091] In the aforementioned S101 step, each storage partition in the first memory includes a first sub-partition and a second sub-partition. The first sub-partition stores the first type of program data for basic screen mirroring functions, and the second partition stores the second type of program data for preset functions. For the screen mirroring device, the application corresponding to the basic screen mirroring function can be a screen mirroring application, and the application corresponding to the preset function can be a UI application or a USB driver application, etc. For the basic screen mirroring function corresponding to the first type of program data, it needs to be started quickly to maintain the basic screen mirroring function; for the preset function corresponding to the second type of program data, the start can be delayed, that is, the preset function can be started after maintaining the basic screen mirroring function. Therefore, after starting the first boot program, according to the operation of the first boot program, the first type of program data in the first sub-partition of the first target storage partition is copied to the second memory. The processor (MCU or CPU) can read the first type of program data from the second memory and execute the read first type of program data to realize the start of the basic screen mirroring function. Once the basic screen mirroring function is activated, the screen mirroring device can run the application corresponding to the basic screen mirroring function, such as a screen mirroring application, which can achieve the technical effect of screen mirroring. From the user's perspective, the process is complete at this point. Therefore, the method of activating the basic screen mirroring function first in this embodiment is faster than the method of activating all functions simultaneously in related technologies, thereby improving the user experience.

[0092] After determining the first target storage partition through the above implementation method, the positions of the first and second sub-partitions in the first target storage partition can be determined according to the bit code of the sub-partition. Figure 3 This is a schematic diagram of a sub-partition distribution provided in an embodiment of this application, such as... Figure 3 As shown, for example, the first target storage partition includes a first sub-partition (Boot_1 partition) and a second sub-partition (Appfs_1 partition). The location of the first sub-partition (Boot_1 partition) in the first memory can be determined based on its bit codes 0x00400000 to 0x03400000, and the location of the second sub-partition (Appfs_1 partition) in the first memory can be determined based on its bit codes 0x06400000 to 0x012C0000. When copying the first type of program data from the corresponding first sub-partition in the first target storage partition to the second memory, the first type of program data can be retrieved and copied based on the corresponding location in the first memory using the bit codes 0x00400000 to 0x03400000 of the first sub-partition (Boot_1 partition).

[0093] It should be noted that, as Figure 3As shown, in addition to the first and second sub-partitions, the storage partitions also include other sub-partitions, such as the Part+sp1 sub-partition, the vnvm sub-partition, the uboot sub-partition, and the restore sub-partition. The Part+sp1 sub-partition stores partition parameters, bootloader data for the first bootloader, and is responsible for booting subsequent partitions. The vnvm sub-partition stores non-volatile data that can be read / written at various stages of system startup. The uboot sub-partition stores bootloader data for the second bootloader.

[0094] When starting the basic screen mirroring function, since the first type of program data may be stored in compressed form, after copying the first type of program data to the second storage device, it needs to be decompressed before subsequent data reading can proceed. For example, the first type of program data might be a FIT image. A FIT (Flattened Image Tree) image is an image file generated by compiling multiple images using DTS (Device Tree Source) syntax. For example, the device tree, kernel image, and root file system can be compiled and compressed into a single FIT image. Therefore, after copying the first type of program data from the first subpartition of the first target storage partition to the second storage device, the first type of program data is decompressed in the second storage device according to the first boot program to obtain the corresponding kernel image and root file system. The kernel image and root file system can be understood as the first executable program data. The kernel image is the binary image file of the operating system kernel, containing the core code and data structures required for the operating system to run. The kernel image can then be used to boot and run the operating system kernel. The root file system is the first file system mounted (read-only) after the computer operating system boots. It contains the critical files and directories required for system booting and enabling system operation. The root file system contains most of the content outside the operating system kernel, including various library files, device files, configuration files, applications, and user data. The root file system provides the basic environment required for the operating system to run. When the system boots, the kernel is first loaded into secondary memory and executed. Then, the kernel mounts the root file system and reads the necessary configurations and programs from it to initialize the system.

[0095] The second sub-partition in the first target storage partition is used to store the second type of program data for preset functions. Since the second type of program data is in UB1FS format, the second sub-partition needs to be mounted to the system device list before it can be found by the processor (MCU or CPU). Therefore, after the kernel is started and the root file system is loaded, the second type of program data in the second sub-partition of the first target storage partition is mounted to the system device list according to the kernel's operation. Since the processor can find the second sub-partition in the system device list, the second type of program parameters in the second sub-partition mounted in the system device list are copied to the second storage. According to the kernel's operation, the second type of program data in the kernel is read and executed to realize the startup of preset functions, such as starting UI applications and / or USB driver applications. For example, when the preset function is to start a USB boot application, after startup, the corresponding CD drive and USB boot application will pop up on the display screen of the terminal device connected to the screen sharing device. As described above, by starting the basic screen mirroring function and then starting the preset function corresponding to the second sub-partition, compared with the method of starting the basic screen mirroring function and the preset function simultaneously in related technologies, this embodiment greatly shortens the startup time, thereby improving the user experience.

[0096] As described above, the system is started by a secondary bootloader based on the screen sharing program data stored in the first memory. The code size of the secondary bootloader is smaller than that of the primary bootloader, so the boot time required for the corresponding system is also less than that of the primary bootloader. This avoids the problem of long startup time for screen sharing devices, shortens the startup time, and improves the user experience.

[0097] In step S104 above, after the screen sharing device is started by the first bootstrap program, during the screen sharing process, communication occurs between the screen sharing device and the terminal device based on the use of the screen sharing function. The terminal device obtains the version information of the current screen sharing program data in the screen sharing device through the use of the screen sharing function. The terminal device queries the corresponding browser to see if there is an updated version of the screen sharing program data (i.e., upgrade program data) based on this version information. When an updated version of the screen sharing program data is detected, for example, version 3.0, the terminal device downloads the corresponding upgrade program data (i.e., version 3.0 screen sharing program data) from the browser and sends it to the screen sharing device. When an updated version of the screen sharing program data is detected, the terminal device can generate an upgrade trigger signal or send an upgrade reminder message to the screen sharing device. The screen sharing device generates an upgrade trigger signal based on the upgrade reminder message. When the screen sharing device receives the upgrade trigger signal, it responds by receiving the upgrade program data. By reading the partition data identifier during system startup, we can determine which storage partition is the first target storage partition at the current moment. For example, based on the partition data identifier, the current first target storage partition is identified as first storage partition 1021, used to store the 2.0 version of the screen sharing program data; the second target storage partition is second storage partition 1022, used to store the 1.0 version of the screen sharing program data. When the device starts, it boots based on the screen sharing program data in the first target storage partition (i.e., first storage partition 1021). If the screen sharing program data in the first target storage partition (i.e., first storage partition 1021) is directly upgraded or updated at this time, it will affect the normal operation of the screen sharing device. Therefore, the screen sharing program data in the second target storage partition (i.e., second storage partition 1022) can be upgraded or updated. Since the screen sharing program data currently running on the screen sharing device is unrelated to the screen sharing program data in the second target storage partition (i.e., second storage partition 1022), upgrading or updating the screen sharing program data in the second target storage partition (i.e., second storage partition 1022) can achieve the upgrade without affecting the current system operation of the screen sharing device. The received upgrade program data (e.g., screen sharing program data version 3.0) can be used to update the second target storage partition (i.e., second storage partition 1022) to upgrade the screen sharing program data in the second target storage partition (i.e., second storage partition 1022). It should be noted that the version of the received upgrade program data is newer than the version of the screen sharing program data stored in the first target storage partition (i.e., first storage partition 1021). For example, if the version of the screen sharing program data stored in the first target storage partition is 2.0, and the version of the upgrade program data is 3.0, then the upgrade program data is newer.Therefore, updating the received upgrade program data to the second target storage partition (i.e., the second storage partition 1022) will upgrade the screen sharing program data in the upgraded storage partition (i.e., the second storage partition 1022) to the latest version currently in the first memory. That is, the screen sharing program data stored in the second storage 1022 after the update is version 3.0. As described above, by updating the upgrade program data to the second target storage partition (i.e., the second storage partition 1022), the old version of the screen sharing program data in the second target storage partition (i.e., the second storage partition 1022) is upgraded. Even if the update is unexpectedly paused or fails, the screen sharing device can still start the system and run its functions based on the original screen sharing program data in the first target storage partition (i.e., the first storage partition 1021). Compared with the file replacement method in related technologies, which can lead to failure to start and use normally if the update is unexpectedly paused or fails, the method of this embodiment can improve the compatibility and reliability of the screen sharing device upgrade. Regardless of whether the upgrade program data is successfully updated to the first storage, it does not affect the normal use of the screen sharing device. When the screen sharing program data in the second target storage partition (i.e., the second storage partition 1022) is unexpectedly paused or fails to update, the original screen sharing program data in the first target storage partition (i.e., the first storage partition 1021) can still be used to start the system and run its functions, thereby improving the user experience.

[0098] In the aforementioned S105, each storage partition in the first memory includes a first sub-partition and a second sub-partition. The first sub-partition stores first-type program data for basic screen mirroring functions, and the second partition stores second-type program data for preset functions. For the screen mirroring device, the application corresponding to the basic screen mirroring function can be a screen mirroring application, while the application corresponding to the preset functions can be a UI application or a USB driver application, etc. Therefore, during program upgrades, the upgrade program data can be divided into first-type program data and second-type program data. The first-type program data is updated to the first sub-partition in the second target storage partition, and the second-type program data is updated to the second sub-partition in the second target storage partition. This allows for independent upgrades of different sub-partitions, preventing issues with upgrade program data for some functions from affecting the upgrades of other functions. Subsequently, only the problematic program data needs to be processed and updated again, further improving the reliability of the upgrade. Therefore, the data type of the upgrade program data can include a first type and a second type, where the first type corresponds to the first-type program data for the basic screen mirroring function, and the second type corresponds to the second-type program data for the preset functions. Therefore, when updating the version of the screen sharing application data on the second target storage partition, the type of the received upgrade application data can be used to determine which sub-partition to upgrade. Upon receiving the upgrade application data, the type identifier within the data is retrieved, and the type identifier determines whether the upgrade application data is of type one or type two. It should be noted that the received upgrade application data may include both types, so it can be split into upgrade application data corresponding to type one and upgrade application data corresponding to type two based on the type identifier. Subsequently, the first and second sub-partitions can be upgraded and updated separately based on the corresponding type of upgrade application data.

[0099] When the data type of the upgrade program data is of type 1, the upgrade program data is updated to the first sub-partition in the second target storage partition to upgrade the type 1 program data in the first sub-partition. During the update, each data block in the first sub-partition can be erased one by one to remove the original screen sharing program data stored in the data block, resulting in an empty data block without data. Then, the (type 1) upgrade program data is written sequentially into the empty data block until the writing is complete, thus realizing the update and upgrade of the type 1 program data in the first sub-partition. As described above, by updating the upgrade program data corresponding to type 1 to the first sub-partition of the second target storage partition to upgrade and update the type 1 program data in the first sub-partition, and realizing the erasure and update of data blocks in the first sub-partition, compared with the related technology of replacing and updating the entire large file, this embodiment improves the orderliness of the upgrade work and reduces the granularity of the upgrade by updating and upgrading each sub-partition separately, thereby helping to improve the upgrade work speed. Furthermore, when problems occur during the upgrade process, the problem location can be more accurately located, thereby improving the efficiency of the upgrade program data improvement work.

[0100] When the upgrade program data is of type two, the upgrade program data is updated to the second sub-partition in the second target storage partition to upgrade the type two program data in the second sub-partition. During the update, since the type two program data corresponding to the second sub-partition is in UBI FS format, the second sub-partition needs to be mounted to the system device list first. Only after being mounted can the second sub-partition be found by the processor (MCU or CPU), and only when it can be found by the processor (MCU or CPU) can the program data update be written. Therefore, upon confirming that the upgrade program data is type two, the second sub-partition is first mounted to the system device list using a mounting tool. For example, the mounting tool could be the ubiattach tool. Since the processor can find the second sub-partition in the system device list, the upgrade program data is updated to the second sub-partition mounted in the system device list using an update writing tool to upgrade the type two program data in the second sub-partition. For example, the update writing tool could be the ubiupdatevol tool. When updating the upgrade program data to the second sub-partition using an update writing tool, each data block within the second sub-partition can be erased one by one to remove the original screen sharing program data stored in the data block, resulting in an empty data block without data. Then, the (second type) upgrade program data is sequentially written to the empty data block using an update writing tool (such as the UBI UpdateVol tool) until the writing is complete, thus achieving the update and upgrade of the second type of program data within the second sub-partition. As described above, by updating the upgrade program data corresponding to the second type to the second sub-partition of the second target storage partition, the second type of program data in the second sub-partition is upgraded and updated. This erases and updates the data blocks within the second sub-partition. Compared to related technologies that replace and update the entire large file, this embodiment improves the orderliness of the upgrade process and reduces the granularity of the upgrade by updating and upgrading each sub-partition separately, thereby helping to increase the upgrade speed. Furthermore, when problems occur during the upgrade process, the problem location can be more accurately identified, further improving the efficiency of the upgrade program data improvement process.

[0101] In the aforementioned step S105, the positions of the corresponding first and second sub-partitions in the second target storage partition can be determined based on the bit codes of the sub-partitions. For example... Figure 3As shown, for example, the second target storage partition includes a first sub-partition (Boot_2 partition) and a second sub-partition (Appfs_2 partition). The location of the first sub-partition (Boot_2 partition) in the first memory can be determined based on its bit codes 0x03400000 to 0x06400000, and the location of the second sub-partition (Appfs_2 partition) in the first memory can be determined based on its bit codes 0x012C0000 to 0x1F400000. When updating the upgrade program data to the first sub-partition (Boot_2 partition) in the second target storage partition, the upgrade program data can be updated to the corresponding location in the first memory based on the bit codes 0x03400000 to 0x06400000 of the first sub-partition (Boot_2 partition). When updating the upgrade program data to the second sub-partition (Appfs_2 partition) in the second target storage partition, the upgrade program data can be updated to the corresponding location in the first memory according to the bit code 0x012C0000~0x1F400000 of the second sub-partition (Appfs_2 partition).

[0102] In the aforementioned step S105, the corresponding sub-partition to which the update is written can also be determined by the sub-partition identifier in the upgrade program data. The upgrade program data includes the corresponding sub-partition identifier, for example, such as... Figure 3 As shown, assuming the sub-partition identifier number corresponding to the first sub-partition (Boot_2 partition) in the second target storage partition is mtd5, then based on the sub-partition identifier number mtd5, it can be determined that it corresponds to the 5th sub-partition in the first memory, i.e., the Boot_2 partition. It should be noted that the specific sub-partition identifier number (value) can be set according to the actual situation. When generating upgrade program data, the corresponding upgrade program data can be generated based on the preset sub-partition identifier number. During subsequent upgrades, the sub-partition identifier number in the upgrade program data can be used to determine which sub-partition the upgrade program data will be updated to. For example, the location of the corresponding sub-partition in the first memory can be determined based on the sub-partition's bit code, such as... Figure 3 As shown, the bit code of the 5th sub-partition (i.e., Boot_2 partition) in the first memory is 0x03400000 to 0x06400000. After determining that the sub-partition corresponds to the 5th sub-partition in the first memory based on the sub-partition identifier mtd5, the upgrade program data can be updated to the corresponding location in the first memory according to the bit code of the 5th sub-partition (i.e., Boot_2 partition) in the first memory (0x03400000 to 0x06400000).

[0103] As described above, the position of the corresponding sub-partition in the first memory is determined by the bit code of the sub-partition. When writing upgrade program data to the first or second sub-partition, the data writing position can be directly determined according to the bit code of the first or second sub-partition, thereby improving the data update writing speed and thus improving the overall efficiency of the upgrade.

[0104] In step S106 above, after the first sub-partition and / or the second sub-partition in the second target storage partition have been updated and written, the partition data identifier is updated. When the upgrade program data is only the upgrade program data for the basic screen mirroring function corresponding to the first sub-partition, the partition data identifier is updated after the first sub-partition in the second target storage partition has been updated and written. When the upgrade program data is only the upgrade program data for the preset function corresponding to the second sub-partition, the partition data identifier is updated after the second sub-partition in the second target storage partition has been updated and written. When the upgrade program data is the upgrade program data for both the basic screen mirroring function and the preset function corresponding to the entire second target storage partition, that is, after both the first and second sub-partitions have been updated and written, the partition data identifier is updated only. It should be noted that the partition data identifier is stored in the sub-partition of the corresponding parameter record, for example... Figure 3 The Part+sp l sub-partition in the middle.

[0105] It should be noted that after the screen sharing device is started, it will not actively read the partition data identifier. Therefore, updating the partition data identifier after the upgrade will not affect the screen sharing that is currently in progress.

[0106] Based on the above embodiments, Figure 4 This is a flowchart of another screen sharing device upgrade method provided in the embodiments of this application, referred to... Figure 4 The upgrade method for this screen sharing device includes:

[0107] S201. Detect the burning trigger signal according to the first boot program.

[0108] After the initial bootloader is started, the programming trigger signal needs to be detected. The programming trigger signal can be automatically triggered upon first use, or it can be manually triggered by the user after the first use. It can be triggered via a corresponding programming trigger button (which can be a virtual button or a hardware button). When a programming trigger signal is detected, subsequent steps S202–S205 are executed to perform programming and system startup processing. If no programming trigger signal is detected, steps S101–S106 are executed to perform system startup and upgrade processing.

[0109] S202. When a programming trigger signal is detected, in response to the programming trigger signal, the second boot program is started and the initial program data is received. The second boot program is the first-level boot program.

[0110] When a programming trigger signal is detected, if the first memory in the screen sharing device does not contain program data or the program data in the first memory is unavailable, initial program data needs to be programmed before the system can boot. Since the first bootloader (secondary bootloader) cannot directly perform the programming operation, a second bootloader (primary bootloader, such as Uboot) needs to be started to guide the programming operation. Therefore, upon detecting a programming trigger signal, the second bootloader (i.e., the primary bootloader, such as Uboot) is started in response to the programming trigger signal. After the second bootloader starts, according to the operation of the second bootloader, initial program data is received from the terminal device communicating with the screen sharing device. This initial program data is then programmed into the first memory, allowing subsequent system boot and system upgrade operations to be performed based on this initial program data.

[0111] S203. The initial program data is burned into the corresponding storage partition in the first memory according to the second boot program.

[0112] According to the execution of the second boot program, the received initial program data will be burned into the corresponding storage partition in the first memory, namely the first storage partition or the second storage partition. When neither of the two storage partitions in the first memory has the corresponding screen sharing program data burned into, the initial program data can be burned into either storage partition. After subsequent burning is completed, the storage partition with the initial program data burned into it becomes the first target storage partition, which can be indicated by the partition data identifier.

[0113] S204. After the burning is completed, the initial program data in the first memory is copied to the second memory according to the second boot program.

[0114] After the programming is complete, since the corresponding initial program data exists in the first memory, the initial program data in the first memory can be copied to the second memory according to the execution of the second boot program, so that the processor can start the system based on the program data in the second memory. It should be noted that after programming is complete, the storage partition corresponding to the initial program data that has been programmed is the current first target storage partition, that is, the storage partition in the first memory that has the initial program data programmed is the storage partition that stores the latest version of the screen sharing program data, and the initial program data is the latest version of the screen sharing program data in the first memory.

[0115] S205. Perform system startup processing based on the initial program data in the second boot program and the second memory.

[0116] After the initial program data is copied to the second memory, the initial program data in the second memory is read and executed according to the operation of the second boot program to achieve system startup.

[0117] As described above, the larger-code primary bootloader (i.e., the secondary bootloader) is used to burn the screen sharing program data and subsequently start the system only when a burning trigger signal is detected. However, in actual use, burning is usually only required for the first use, and subsequent burning is unlikely to be required. Therefore, in actual use, except for the first use, the system startup of the screen sharing device is carried out through the methods described in S101-S103.

[0118] As described above, after the screen sharing device starts the system based on the newer version of the screen sharing program data in the first target storage partition, upon receiving an upgrade trigger signal, it updates the upgrade program data to the second target storage partition according to the read partition data identifier. This upgrades the old version of the screen sharing program data in the second target storage partition. After the upgrade is complete, the partition data identifier is updated. Using this technique, the first target storage partition storing the newer version of the screen sharing program data in the first memory can be determined through the partition data identifier. The upgrade program data is then updated to the second target storage partition. Even if the update is paused or fails, the original newer version of the screen sharing program data in the first target storage partition can still be used for system startup and operation. This avoids the problem of poor compatibility in screen sharing device upgrades, improves the compatibility and reliability of screen sharing device upgrades, and ensures that under normal operating conditions, the success or failure of the upgrade program data update does not affect the current normal use of the screen sharing device or its normal operation upon subsequent startup, thereby improving the user experience.

[0119] Based on the above embodiments, Figure 5 This is a schematic diagram of the structure of a screen sharing device provided in an embodiment of this application, referring to... Figure 5The screen sharing device 10 provided in this embodiment includes an interface module 101, a first memory 102, a second memory 103, and a processor 104. The first memory 102 includes a first storage partition 1021 and a second storage partition 1022. The version of the screen sharing program data stored in the first storage partition 1021 is different from the version of the screen sharing program data stored in the second storage partition 1022. The interface module 101 can be a USB interface or a Type-C interface. The screen sharing device 10 connects to the corresponding terminal device through the interface module 101. For example, assuming the terminal device is a smart tablet, the screen sharing device 10 connects to the smart tablet through the interface module 101. Inside the screen sharing device 10, the interface module 101 is connected to the processor 104. The interface module 101 is used to connect to the terminal device and send a start trigger signal to the processor based on the connection. The interface module is also used to receive an upgrade trigger signal sent by the terminal device and send the upgrade trigger signal to the processor. When the screen sharing device 10 connects to the corresponding terminal device through the interface module 101, the terminal device supplies power to the screen sharing device 10 through the interface module 101 and performs communication interaction through the interface module 101. For example, the terminal device transmits upgrade trigger signals and upgrade program data to the screen sharing device 10 through the interface module 101. The first memory 102 can be understood as a storage medium with a large storage capacity, such as a Nand flash storage medium. The second memory 103 can be understood as a temporary memory with a small storage capacity but a fast read and write speed, such as RAM. Both the first memory 102 and the second memory 103 are connected to the processor 104. The processor 104 is used to receive the start trigger signal, and in response to the start trigger signal, reads the partition data identifier from the preset identifier bit, determines the first target storage partition and the second target storage partition from the first storage partition 1021 and the second storage partition 1022 according to the partition data identifier, and starts the system according to the screen sharing program data in the first target storage partition. The partition data identifier is used to indicate the first target storage partition, which is a storage partition in the first memory that stores a relatively new version of the screen sharing program data. The second target storage partition is a storage partition in the first memory that stores an older version of the screen sharing program data. The processor is also configured to, upon receiving an upgrade trigger signal, receive upgrade program data in response to the upgrade trigger signal and update the upgrade program data in the second target storage partition to upgrade the older version of the screen sharing program data in the second target storage partition. The version of the upgrade program data is newer than the version of the screen sharing program data in the first target storage partition. The processor is also configured to update the partition data identifier after the upgrade program data update is completed.As described above, by dividing the first memory 102 into two storage partitions, namely the first storage partition 1021 and the second storage partition 1022, the device starts up according to the latest version of the screen sharing program data currently stored in the first target storage partition. During the upgrade, the upgrade program data is updated to the second target storage partition to upgrade the old version of the screen sharing program data in the second target storage partition. Even if the update is paused or fails, the original latest version of the screen sharing program data in the first target storage partition can still be used to start and run the system. This avoids the problem of poor compatibility of the screen sharing device 10 upgrade, improves the compatibility and reliability of the screen sharing device 10 upgrade, and ensures that the normal use of the screen sharing device 10 and the normal operation of the next startup are not affected regardless of whether the upgrade program data update is successful, thus improving the user experience.

[0120] In one embodiment, the second memory 103 can be a DDR3 memory, and the memory capacity of the DDR3 memory can be 256M.

[0121] In one embodiment, such as Figure 5 As shown, the screen sharing device 10 also includes a button 105, which is connected to the processor 104. The button 105 is used for one-click screen sharing. That is, when the button 105 is triggered, a start trigger signal is generated and transmitted to the processor 104. After receiving the start trigger signal, the processor 104 executes the aforementioned steps S101-S106.

[0122] In one embodiment, button 105 is also used to generate a programming trigger signal. When button 105 is pressed for a long time, a programming trigger signal is generated and transmitted to processor 104. After receiving the programming trigger signal, processor 104 executes the aforementioned steps S201-S205.

[0123] In one embodiment, the screen sharing device 10 further includes an interface conversion module 106, which is connected to the interface module 101 and the processor 104. The interface conversion module 106 is used to perform protocol conversion processing on the audio and video data to output audio and video data that meets preset requirements to the interface module 101 or the processor 104.

[0124] In one embodiment, the screen sharing device 10 further includes an overvoltage protection circuit 107 and a power switch module 108. The first terminal of the overvoltage protection circuit 107 is connected to the interface module 101, the second terminal of the overvoltage protection circuit 107 is connected to the input terminal of the power switch module 108, and the first output terminal of the power switch module 108 is connected to the processor 104. The power switch module 108 converts the input voltage received at the input terminal into a first output voltage of corresponding value and transmits it to the processor 104 through the first output terminal, enabling the processor 104 to maintain normal operation based on the first output voltage.

[0125] In one embodiment, the screen sharing device 10 further includes a wireless communication module 109, which is connected to the processor 104 and the second output terminal of the power switch module 108. The power switch module 108 is further configured to convert the input voltage received at the input terminal into a second output voltage with a corresponding voltage value, and transmit it to the wireless communication module 109 through the second output terminal, so that the wireless communication module 109 can maintain normal operation based on the second output voltage. The processor 104 is further configured to send a card scanning signal with a preset phase value to the wireless communication module 109 after the kernel is started, and determine the communication type of the wireless communication module 109 according to the received response signal, and perform wireless communication initialization processing and subsequent wireless communication connection based on the communication type. When the wireless communication module 109 receives a card scanning signal with a target phase value, it feeds back a corresponding response signal to the processor 104. For example, the wireless communication module 109 provided in this embodiment is a Wi-Fi network card, and a preset Wi-Fi network card corresponds to a Wi-Fi card scanning signal, the phase value of which is the target phase of the Wi-Fi network card. After the kernel starts, the processor 104 sends a preset WiFi card scanning signal to the WiFi network card. The WiFi network card sends a corresponding response signal back to the processor 104 based on the received WiFi card scanning signal. The processor 104 determines the communication type of the current wireless communication module 109 as WiFi based on the received response signal, and performs wireless communication initialization processing based on the WiFi type. It provides a WiFi network card query entry and a network connection entry on the terminal device connected to the screen sharing device 10, providing a basic environment for subsequent manual or automatic WiFi communication connections. This embodiment, by setting a fixed-type wireless communication module 109 in the screen sharing device 10, can determine the network card type by scanning the card once based on a preset phase value. Compared to related technologies that require multiple card scans through communication negotiation to determine the network card type, the speed optimization is greater than 300ms, thereby improving the card scanning speed and thus enhancing the overall system startup speed.

[0126] In one embodiment, the screen sharing device 10 further includes an indicator light 110, which is connected to the processor 104. The indicator light 110 is used to indicate the current state of the screen sharing through different colors. For example, when the indicator light 110 shows green, it indicates that the screen sharing device 10 is currently in the startup state; when the indicator light 110 shows red, it indicates that the screen sharing device 10 is currently in the burning state. Exemplarily, the indicator light 110 is an LED.

[0127] The screen sharing upgrade device provided in this application embodiment can be used to execute the screen sharing device upgrade method provided in the above embodiment, and has corresponding functions and beneficial effects.

[0128] The above description is merely a preferred embodiment and the technical principles employed in this application. This application is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions that can be made by those skilled in the art will not depart from the scope of protection of this application. Therefore, although this application has been described in detail through the above embodiments, this application is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of this application, the scope of which is determined by the scope of the claims.

Claims

1. A method for upgrading a screen sharing device, characterized in that, The screen sharing device includes a first memory, which includes a first storage partition and a second storage partition. The version of the screen sharing program data stored in the first storage partition is different from the version of the screen sharing program data stored in the second storage partition. The method includes: When the screen sharing device is connected to the terminal device, a start trigger signal is received, and in response to the start trigger signal, a partition data identifier is read from a preset identifier bit. The partition data identifier is used to indicate a first target storage partition, which is a storage partition in the first memory that stores a relatively new version of the screen sharing program data. Based on the partition data identifier, a first target storage partition and a second target storage partition are determined from the first storage partition and the second storage partition, wherein the second target storage partition is the storage partition in the first memory that stores the old version of the screen sharing program data; The system is started based on the screen sharing program data in the first target storage partition; If an upgrade trigger signal is received, in response to the upgrade trigger signal, upgrade program data is received, wherein the version of the upgrade program data is newer than the version of the screen sharing program data in the first target storage partition; The upgrade program data is updated to the second target storage partition to upgrade the old version of the screen sharing program data in the second target storage partition; After the upgrade process data update is completed, the partition data identifier is updated.

2. The method according to claim 1, characterized in that, Each storage partition includes a first sub-partition and a second sub-partition. The first sub-partition is used to store the first type of program data for basic screen mirroring functions, and the second sub-partition is used to store the second type of program data for preset functions. The step of updating the upgrade program data to the second target storage partition to upgrade the old version of the screen sharing program data in the second target storage partition includes: Obtain the type identifier from the upgrade program data; The data type of the upgrade program data is determined based on the type identifier, and the data type includes a first type and a second type; When the data type is the first type, the upgrade program data is updated to the first sub-partition within the second target storage partition to upgrade the first type of program data in the first sub-partition; When the data type is the second type, the upgrade program data is updated to the second sub-partition within the second target storage partition to upgrade the second type of program data in the second sub-partition.

3. The method according to claim 2, characterized in that, When the data type is the second type, updating the upgrade program data to the second sub-partition within the second target storage partition to upgrade the second type of program data in the second sub-partition includes: When the data type is the second type, the second sub-partition is mounted to the system device list using the mounting tool; The upgrade program data is updated to the second sub-partition mounted in the system device list by updating the write tool, so as to upgrade the second type of program data in the second sub-partition.

4. The method according to any one of claims 1-3, characterized in that, The step of updating the upgrade program data to the second target storage partition to upgrade the old version of the screen sharing program data in the second target storage partition includes: Each data block in the second target storage partition is erased one by one to remove the screen sharing program data originally stored in the data block, resulting in an empty data block without data. The upgrade program data is written sequentially into the empty data block until the writing is complete.

5. The method according to any one of claims 1-3, characterized in that, The step of updating the upgrade program data to the second target storage partition to upgrade the old version of the screen sharing program data in the second target storage partition includes: Obtain the sub-partition identifier based on the upgrade program data, and update the upgrade program data to the corresponding sub-partition within the second target storage partition based on the sub-partition identifier, so as to upgrade the old version of the screen sharing program data in the corresponding sub-partition.

6. The method according to any one of claims 1-3, characterized in that, The screen transmission device also includes a second memory; When the screen sharing device is connected to the terminal device, after receiving the start trigger signal, the process includes: In response to the start trigger signal, the second memory is initialized. After the initialization process of the second memory is completed, the first boot program is started. The first boot program is a secondary boot program. The step of starting the system based on the screen sharing program data in the first target storage partition includes... According to the execution of the first boot program, the first type of program data in the first sub-partition of the first target storage partition is copied to the second memory; According to the execution of the first boot program, the first type of program data is decompressed in the second memory to obtain the first executable program data; Read and execute the first executable program data to enable the basic screen sharing function.

7. The method according to claim 6, characterized in that, The step of decompressing the first type of program data in the second memory to obtain the first executable program data according to the execution of the first boot program includes: Based on the execution of the first bootloader, the first type of program data is decompressed in the second memory to obtain the kernel image and the root file system; The step of reading and executing the first executable program data to enable the basic screen sharing function includes: Read and execute the kernel image to start the kernel. Based on the kernel's operation, decompress the root file system; Mount the decompressed root file system to enable the basic screen mirroring function.

8. The method according to claim 7, characterized in that, After mounting and decompressing the root file system to enable the basic screen mirroring function, the process includes: Based on the operation of the kernel, the second sub-partition in the first target storage partition is mounted to the system device list; Based on the operation of the kernel, the second type of program data in the mounted second sub-partition is copied to the second memory; Based on the operation of the kernel, the second type of program data in the second memory is read and executed to enable the startup of the preset function.

9. The method according to claim 6, characterized in that, After completing the initialization process of the second memory and starting the first boot program, the process includes: The burning trigger signal is detected according to the first boot program; Upon detecting a programming trigger signal, in response to the programming trigger signal, the second boot program is started and initial program data is received; The initial program data is burned into the storage partition corresponding to the first memory through the second boot program; After the burning process is complete, the initial program data in the first memory is copied to the second memory through the second boot program; The system is started based on the second bootloader and the initial program data in the second memory.

10. A screen transmission device, characterized in that, It includes an interface module, a first memory, and a processor. The system includes a first storage partition and a second storage partition. The version of the screen sharing program data stored in the first storage partition is different from the version of the screen sharing program data stored in the second storage partition. The interface module is connected to the processor, and the processor is connected to the first memory; The interface module is used to connect with the terminal device and send a start trigger signal to the processor based on the connection. The interface module is also used to receive an upgrade trigger signal sent by the terminal device and send the upgrade trigger signal to the processor. The processor is configured to receive a start trigger signal, and in response to the start trigger signal, read a partition data identifier from a preset identifier bit, determine a first target storage partition and a second target storage partition from the first storage partition and the second storage partition according to the partition data identifier, and start the system according to the screen sharing program data in the first target storage partition. The partition data identifier is used to indicate the first target storage partition, which is a storage partition in the first memory that stores a relatively new version of the screen sharing program data, and the second target storage partition in the first memory that stores an old version of the screen sharing program data. The processor is further configured to, upon receiving an upgrade trigger signal, receive upgrade program data in response to the upgrade trigger signal and update the upgrade program data to the second target storage partition, so as to upgrade the old version of the screen sharing program data in the second target storage partition, wherein the version of the upgrade program data is newer than the version of the screen sharing program data in the first target storage partition; The processor is also configured to update the partition data identifier after the upgrade program data update is completed.

Citation Information

Cited By

  • Dynamic modification method, device and system for firmware parameters of display screen

    CN121979547A