A method, device and system for dynamically modifying display screen firmware parameters
By extracting the display firmware parameters into the device tree and packaging them with the kernel source code, and using the device tree modification tool to directly adjust the display hardware parameters, the problem of low upgrade efficiency in existing technologies is solved, and fast and low-cost hardware parameter modification is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING PINGZHI ORIENTAL TECH CO LTD
- Filing Date
- 2026-04-07
- Publication Date
- 2026-07-07
AI Technical Summary
Existing technologies require specialized software technicians to recompile and republish the firmware when modifying display screen firmware parameters, resulting in low upgrade efficiency and high costs.
The firmware parameters of the display to be modified are extracted into the device tree, packaged together with the kernel source code into the firmware, and the data structure is directly decrypted using the device tree modification tool to achieve dynamic modification of hardware parameters, thus omitting the software testing step.
The display hardware parameters can be quickly adjusted without the need for professional technicians, reducing technical difficulty and labor costs, and improving the efficiency of hardware parameter modification and development debugging.
Smart Images

Figure CN121979547B_ABST
Abstract
Description
Technical Field
[0001] This application relates to display screen application technology, and more particularly to a method, apparatus and system for dynamically modifying display screen firmware parameters. Background Technology
[0002] In the development and use of embedded products, it is inevitable to replace hardware or change hardware parameters. For example, when modifying the parameters of displays such as liquid crystal displays (LCDs), light-emitting diode displays (LEDs), and organic light-emitting diode displays (OLEDs) during development, if existing technology is used to modify the screen parameters, it usually requires software technicians with specialized embedded system development skills to recompile and release the firmware, and then upgrade the firmware to achieve the purpose of updating the hardware parameters.
[0003] For example, the invention application with application number CN202211359942.X, entitled "A System for Remotely Upgrading Controller Firmware via Display Screen", discloses a method that utilizes a remote upgrade server to communicate with the controller, and sends upgrade firmware to a display screen that is communicatively connected to the controller via the remote upgrade server, thereby sending the upgrade firmware to the controller and using the upgrade firmware to upgrade its own firmware. Using this method to upgrade the controller firmware of a vehicle that needs remote upgrade can effectively shorten the upgrade operation time and reduce manpower and material resources expenditure.
[0004] For example, the invention application with application number CN202010429092.0, entitled "A Method and System for Upgrading Display Screen Parameters," discloses the following method for upgrading display screen parameters: First, the display screen parameter data is written to the EMMC display screen parameter partition in advance; then, the display screen parameter data in the EMMC display screen parameter partition is read by loading the boot program; if the display screen parameter data is read successfully, it is passed to the kernel and the kernel is started, the display screen controller is initialized according to the passed-in display screen parameter data, and then the new resolution is output to light up the display screen; if the display screen parameter data reading fails, the default display screen parameter data is used instead, and the display screen parameter data in the EMMC display screen parameter partition is updated through a USB flash drive or SD card; thereby realizing the upgrading of the display screen parameters.
[0005] In summary, the existing technologies for upgrading or modifying display firmware require setting / changing the hardware environment or implementing cumbersome and time-consuming steps for upgrading / changing firmware parameters. As a result, they have drawbacks or shortcomings such as low upgrade efficiency and high software and hardware maintenance costs. Summary of the Invention
[0006] In view of this, the main objective of this application is to provide a method, apparatus, and system for dynamically modifying display firmware parameters. This method involves extracting the display firmware parameters to be modified into a Device Tree (DT) and packaging them together with the kernel source code into the firmware. Then, a Device Tree (DT) modification tool can directly unpack the DT data structure to modify the hardware parameters. Furthermore, the apparatus of this invention can regenerate the kernel firmware and burn the display firmware program into a read-only memory, eliminating the need for software technicians and software testing, thus significantly improving the efficiency of hardware parameter modification.
[0007] To achieve the above objectives, this application adopts the following technical solution:
[0008] A method for dynamically modifying display screen firmware parameters includes the following steps:
[0009] A. Initialize the display firmware parameter modification device, read the first IMG firmware file package from the version release server, and decompress the display firmware parameters.
[0010] B. Read the display firmware parameters, extract them into the device tree file / data, modify the display firmware parameters, and then package the modified display firmware parameters and the operating system kernel into the second IMG firmware file.
[0011] C. Parse the device tree file / data in the second IMG firmware file, and activate the modified display firmware parameters to identify and match the corresponding display device, so as to realize dynamic adjustment of the hardware parameters of the target display.
[0012] Step B is followed by:
[0013] Using the dynamic modification device for the display firmware parameters, the second IMG firmware file containing the modified display firmware parameters is regenerated into a kernel firmware file and burned into a read-only memory.
[0014] The display screen firmware parameters include:
[0015] 1) clock-frequency: clock frequency / pixel clock;
[0016] 2) hactive: Horizontal active pixels, i.e., the number of pixels displayed per line;
[0017] 3) vactive: Vertical active pixels, i.e., the number of rows displayed per frame;
[0018] 4) hbp: Horizontal trailing edge blank time, the blank time period after the horizontal synchronization pulse;
[0019] 5) vbp: Vertical trailing edge blank time, the blank time period after the vertical synchronization pulse;
[0020] 6) hfp: H synchronization offset;
[0021] 7) vfp: V synchronization offset;
[0022] 8) hsync: H synchronization width;
[0023] 9) vsync: V synchronization width;
[0024] 10) hsync-active: The effective polarity of the horizontal synchronization signal; 0 indicates active low, and 1 indicates active high.
[0025] 11) vsync-active: The effective polarity of the vertical synchronization signal, 0 indicates active low level, 1 indicates active high level;
[0026] 12) de: The valid polarity of the data enable signal, 0 indicates low level active, 1 indicates high level active;
[0027] 13) pixelclk: The valid polarity of the pixel clock signal. 0 indicates that it is active low and 1 indicates that it is active high.
[0028] The process of parsing the second IMG firmware file of the device tree file / data in step C, and activating the modified display firmware parameters to identify and match the corresponding display device, includes:
[0029] C1. After the device is powered on, the bootloader starts to initialize the hardware, including memory, clock, power management module, PLL, and then loads the general bootloader U-Boot into memory;
[0030] C2. U-Boot continues to load the system kernel and device tree binary file DTB into memory, then starts the system kernel and mounts the root file system;
[0031] C3. Start the system kernel, pass the parsed results to the device tree binary file DTB, and register each node as a platform_device structure;
[0032] C4. During the initialization and driver loading of the display subsystem, the device tree binary file (DTB) is loaded, the display panel corresponding to the current display output interface is found, and the registered of_driver_match_device() is called to match the corresponding display driver.
[0033] C5. During the display driver initialization process, display parameters are read from the device tree binary file DTB and stored in videomode;
[0034] C6. After obtaining the display parameters, the display driver transmits the display parameters in the DRM framework through the video mode according to the following call flow. Finally, the display parameters are written to the display register through the mipi_dsi interface to complete the dynamic adjustment of the display hardware parameters.
[0035] A device for dynamically modifying display firmware parameters, the device comprising:
[0036] The display firmware parameter file acquisition module is used to initialize the display firmware parameter modification device, read the first IMG firmware file package from the corresponding version release server, and decompress the display firmware parameter file.
[0037] The firmware parameter modification and packaging module is used to read the display firmware parameters, extract them into the device tree file / data, adjust / modify the display firmware parameters, and then package the adjusted / modified display firmware parameters together with the operating system kernel into the second IMG firmware file.
[0038] The device tree file parsing and firmware parameter startup module is used to parse the device tree file / data in the second IMG firmware file and start the modified display firmware parameters to identify and adapt to the corresponding display device.
[0039] The first IMG firmware file package contains the operating system, drivers, applications, and display firmware parameter files.
[0040] Also includes:
[0041] The kernel firmware file regeneration and burning module is used to regenerate the kernel firmware file from the second IMG firmware file containing the modified display firmware parameters and burn it into the read-only memory.
[0042] A system for dynamically modifying display screen firmware parameters, the system including the device for dynamically modifying display screen firmware parameters, a version release server, and a display screen; wherein:
[0043] The version release server stores IMG firmware files containing display firmware parameter files, which are used by devices that dynamically modify display firmware parameters to read, download, upload, and partition the IMG firmware files containing modified display firmware parameters.
[0044] The display screen is configured to activate the modified display screen firmware parameters in response to a dynamic modification device for the display screen firmware parameters, in order to verify whether the two are compatible.
[0045] An embedded system, the embedded system comprising:
[0046] Memory;
[0047] At least one processor; and a device for dynamically modifying the firmware parameters of the display screen.
[0048] A computer-readable storage medium storing executable instructions configured to implement a method for dynamically modifying display firmware parameters.
[0049] The method, apparatus, and system for dynamically modifying display firmware parameters of the present invention have the following advantages compared with the prior art:
[0050] This invention extracts hardware parameters, including the firmware parameters of the display screen to be modified, into a unified device tree (DT), and packages it along with the kernel into the firmware. A device tree (DT) modification tool can then directly unpack the DT data structure, thereby enabling dynamic modification of the display screen hardware parameters. Using this method, even with hardware replacements, such as replacing the LCD screen, there is no need for specialized embedded software technicians to recompile the program, reducing technical difficulty and labor costs.
[0051] Furthermore, the kernel firmware can be regenerated using the device of this invention, and the display firmware parameters can be burned into the read-only memory without further software testing. This significantly improves the efficiency of hardware parameter modification.
[0052] Furthermore, the system for dynamically modifying display screen firmware parameters according to this invention, after deployment, not only supports the rapid generation of firmware programs adapted to new hardware, but also supports dynamic debugging of the display screen (such as an LCD) for the replaced display screen device. Therefore, applying this function can not only accelerate the debugging process of hardware devices, including display screen devices, but also flexibly cope with frequent hardware device replacements, enabling developers to quickly verify the accuracy of hardware configurations. This significantly improves development and debugging efficiency while effectively reducing product upgrade and maintenance costs. Attached Figure Description
[0053] Figure 1 This is a schematic diagram of the dynamic modification method for display screen firmware parameters according to an embodiment of the present invention;
[0054] Figure 2 This is a schematic diagram of the display interface for dynamically modifying the display screen firmware parameters in an embodiment of the present invention;
[0055] Figure 3 This is a schematic diagram of a device for modifying display screen firmware parameters according to an embodiment of the present invention;
[0056] Figure 4 This is a schematic diagram of a display screen firmware parameter modification system according to an embodiment of the present invention. Detailed Implementation
[0057] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.
[0058] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and the number of objects is not limited; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0059] The main design concept of this invention is to provide a method, device, and system for dynamically modifying display firmware parameters, addressing the need to change hardware parameters during embedded system / product development. This allows for dynamic hardware device replacement without recompiling the program. Specifically, this invention uses the dynamic modification of LCD screen firmware parameters as an example. Similarly, it also supports dynamic modification of firmware parameters for LED displays, OLED displays, and other types of displays, with similar implementation principles, differing only in the number and types of firmware parameters involved. The current display firmware parameters are uniformly extracted into a device tree (allowing for modification) and packaged together with the operating system kernel (OS Kernel). This system or a Device Tree (DT) modification tool allows developers or users with basic skills to directly unpack the device tree file / data, dynamically adjust its hardware parameters, and regenerate the kernel firmware. After flashing, it can be directly applied without further testing. This invention not only supports dynamic debugging of the display effect but also quickly generates Android firmware adapted to new hardware, significantly improving development efficiency and reducing product maintenance and upgrade costs. The aforementioned operating system kernel (OS Kernel) includes the monolithic kernel of the Android system (Linux kernel) and the microkernel of the HarmonyOS system, both based on the Linux system. The HarmonyOS microkernel mentioned here is a single microkernel formed by merging the previous Linux kernel, the HarmonyOS microkernel, and LiteOS.
[0060] The Device Tree (DT) described in this invention refers to a hierarchical data structure used in embedded system / product development to describe hardware configurations. It defines hardware device parameters and their interconnections through nodes and attributes. The main function of the Device Tree is to decouple hardware description configuration files / data from the operating system (OS) kernel, replacing traditional hardware coding methods and achieving cross-platform compatibility. The Device Tree file / data is compiled into binary code, which can be loaded into memory by the bootloader for parsing by the OS kernel, thereby supporting dynamic updates to display hardware configuration / firmware parameters. For example, a Device Tree (DT) model can be designed under the Linux / Android operating system kernel to manage hardware resources, achieving automatic adaptation of hardware information and drivers through standardized mechanisms such as attribute matching drivers, defining register addresses, and allocating interrupt numbers. The design concept of this invention can also be applied to systems supporting I / O... 2In the development of external device drivers for data or communication interfaces such as C / PWM, interface parameters can be quickly configured by modifying the device tree (DT) node. Display parameter adjustments can be made without compiling the source code, thereby improving the development efficiency of embedded systems / products.
[0061] Figure 1 This is a schematic diagram of the dynamic modification method for display screen firmware parameters according to an embodiment of the present invention.
[0062] like Figure 1 As shown, the method for dynamically modifying the firmware parameters of this display screen mainly includes the following steps:
[0063] Step 10: Initialize the display firmware parameter modification device to obtain the display firmware parameter file. Specifically, this includes: setting the device to read the first IMG firmware file package from the version release server 192.168.xxx.xxx, and extracting the files to be manipulated, which contain the display firmware parameter file.
[0064] In this embodiment of the invention, the first IMG firmware file package refers to a firmware image file for an embedded system or device, which may include an operating system, drivers, applications, display firmware parameter files, and other necessary files. The display firmware parameter modification device (please refer to...) Figure 3 This allows developers or users to directly unpack device tree files / data to dynamically adjust / modify display firmware parameters.
[0065] For example, the file attributes obtained after decompression (including format, parameter description, script path, supported product / device models, return value, etc.) are as follows:
[0066] Format instructions: Script path <product model> <unpack>
[0067] Parameter description:
[0068] Script path: modify_lcd.sh
[0069] Product Models: A8658 / A9668 / A8678 / A7698 / PZ100 / A8698 / A8688 / PZ200 / PZ200PRO
[0070] Example:
[0071] . / modify_lcd.sh PZ200 unpack
[0072] Return value: **.
[0073] If decompression is successful, the return value is: [Success: [unpack OK]]
[0074] If decompression fails, the return value will be: [Failed: [Specific reason]].
[0075] In one embodiment of the present invention, the display screen firmware parameter file contains 13 firmware parameters, which can be dynamically modified, as follows:
[0076] 1) clock-frequency: clock frequency / pixel clock.
[0077] 2) hactive: Horizontal active pixels, i.e., the number of pixels displayed per row.
[0078] 3) vactive: Vertical active pixels, i.e., the number of rows displayed per frame.
[0079] 4) hbp: Horizontal trailing edge blank time, the blank time period after the horizontal synchronization pulse.
[0080] 5) vbp: Vertical trailing edge blank time, the blank time period after the vertical synchronization pulse.
[0081] 6) hfp: H synchronization offset.
[0082] 7) vfp: V synchronization offset.
[0083] 8) hsync: H synchronization width.
[0084] 9) vsync: V synchronization width.
[0085] 10) hsync-active: The effective polarity of the horizontal synchronization signal. 0 indicates that the level is active low and 1 indicates that the level is active high.
[0086] 11) vsync-active: The effective polarity of the vertical synchronization signal. 0 indicates that the signal is active low and 1 indicates that the signal is active high.
[0087] 12) de: The effective polarity of the data enable signal. 0 indicates that the low level is active and 1 indicates that the high level is active.
[0088] 13) pixelclk: The valid polarity of the pixel clock signal. 0 indicates that it is active low and 1 indicates that it is active high.
[0089] Step 11: Read the display firmware parameters, extract them into the device tree file / data, adjust / modify the display firmware parameters, and then package the adjusted / modified display firmware parameters and the operating system kernel (OSKernel) together into the second IMG firmware file. The specific process is as follows:
[0090] Step 111: Read the display firmware parameters using the display firmware parameter modification device and extract them into the device tree file / data. The script for reading the display firmware parameters and its attributes are as follows:
[0091] Format instructions: Script path <product model> <read><Settings>
[0092] Parameter description:
[0093] Script path: modify_lcd.sh
[0094] Product Models: A8658 / A9668 / A8678 / A7698 / PZ100 / A8698 / A8688 / PZ200 / PZ200PRO
[0095] Set parameters clock / hactive / vactive / hbp / hfp / vbp / vfp / hsync / vsync / hsync_active
[0096] / vsync_active / de / pixelclk
[0097] Example:
[0098] . / modify_lcd.sh PZ200 read clock
[0099] Return value: **.
[0100] If the read fails, the return value is: [Failed: [Specific reason]].
[0101] If the read is successful, the return value is: [Success: value: [return value]].
[0102] Step 112: A step to adjust / modify one or more of the 13 display firmware parameters mentioned in Step 10. The display interface for dynamically modifying the display firmware parameters is as follows: Figure 2 As shown.
[0103] In this embodiment, the script for adjusting / modifying the display screen firmware parameters and its attributes are as follows:
[0104] Format instructions: Script path <product model> <modify><Setting parameters> <Value>
[0105] Parameter description:
[0106] Script path, modify_lcd.sh
[0107] Product model: A8658 / A9668 / A8678 / A7698 / PZ100 / A8698 / A8688 / PZ200 / PZ200PRO
[0108] Set parameters: clock / hactive / vactive / hbp / hfp / vbp / vfp / hsync / vsync / hsync_active
[0109] The value of / vsync_active / de / pixelclk
[0110] The parameter value is an integer.
[0111] Example:
[0112] . / modify_lcd.sh PZ200 modify clock 14700000
[0113] Return value: **.
[0114] If the read fails, the return value is: [Failed: [Specific reason]].
[0115] If the read is successful, the return value is: [Success: [Device Tree modified successfully]].
[0116] Step 113: Package the modified display firmware parameters and the operating system kernel file together into the second IMG firmware file.
[0117] Step 12: Parse the second IMG firmware file of the device tree file / data, and start the modified display firmware parameters to identify and match the corresponding display device, thereby achieving the purpose of dynamically adjusting the hardware parameters of the target display.
[0118] In this embodiment of the invention, the core components of the device tree system mainly include the Device Tree Compiler (DTC), the Device Tree Source (DTS), and the Device Tree Blob (DTB).
[0119] The process described in step 12 above, which involves parsing the second IMG firmware file of the device tree file / data and initiating the modified display firmware parameters to identify and match the corresponding display device, mainly includes the following steps:
[0120] Step 121: After the device is powered on, the bootloader is started to initialize the hardware such as memory, clock, power management module, PLL, etc., and then loads U-Boot (universal bootloader) into memory.
[0121] Step 122: The U-Boot continues to load the system kernel and device tree binary (DTB) into memory, then starts the system kernel and mounts the root file system.
[0122] Step 123: Start the system kernel (start_kernel() → setup_arch() → early_init_dt_scan()), pass the parsing results to the device tree binary file (DTB), and register each node as a platform_device structure.
[0123] Here, platform_device is a data structure in the system kernel used to represent hardware platform devices. The platform_device structure is defined in the file include / linux / platform device.h, and it contains information such as the device name, resources, drivers, and device-specific data.
[0124] The display node in this device tree contains the modified display parameters, such as:
[0125] &dsi {
[0126] status = "okay";
[0127] panel@0 {
[0128] / / Display device ID — "simple-panel-dsi
[0129] compatible ="hx8394c_boe_wxga_dsi_vdo", "simple-panel-dsi"; ...
[0131] width-mm = <108> / * Display screen width 108mm * /
[0132] height-mm = <172> / * Display screen height 172mm * /
[0133] display-timings {
[0134] native-mode = <&timing0_1080p_60hz>;
[0135] timing0_1080p_60hz: timing0-1080p-60hz {
[0136] clock-frequency = <6900000>0>; / * Pixel Clock frequency * /
[0137] hactive = <800>; / * Horizontal active display area (horizontal resolution) * /
[0138] vactive = <1280>; / * Vertical active display area (vertical resolution) * /
[0139] hback-porch = <48>; / * Horizontal back porch * /
[0140] hfront-porch = <16>; / * Horizontal front porch * /
[0141] vback-porch = <3>; / * Vertical back porch * /
[0142] vfront-porch = <5>; / * Vertical front porch * /
[0143] hsync-len = <8>; / * Horizontal sync pulse width * /
[0144] vsync-len = <8>; / * Vertical sync pulse width * /
[0145] hsync-active = <0>; / * HSYNC active level (0 = low active, 1 = high active) * /
[0146] vsync-active = <0>; / * VSYNC active level * /
[0147] de-active = <0>; / * DE data enable active level * /
[0148] pixelclk-active = <0>; / * Pixel clock sampling edge (0 = falling edge, 1 = rising edge) * /
[0149] };
[0150] };
[0151] }
[0152] Step 124: During the initialization of the display subsystem and driver loading, the device tree binary file (DTB) is loaded, the display panel corresponding to the current display output interface is found, and the registered of_driver_match_device() is called to match the corresponding display driver.
[0153] static const struct of_device_id platform_of_match[] = {
[0154] {
[0155] / / Match the display device ID in the device tree — "simple-panel"
[0156] .compatible = "simple-panel",
[0157] .data = NULL,
[0158] }
[0159] Step 125: During the display driver initialization process, display parameters are read from the device tree binary file (DTB) and entered into the video mode:
[0160] static int panel_simple_get_fixed_modes(struct panel_simple *panel)
[0161] {
[0162] for (i = 0; i < panel->desc->num_timings; i++) {
[0163] const struct display_timing *dt = &panel->desc->timings[i];
[0164] struct videomode vm;
[0165] / / Save the timing parameters for later use
[0166] videomode_from_timing(dt, &vm)};
[0167] }
[0168] Step 126: After obtaining the display parameters, the display driver transmits these parameters through the video mode within the Direct Rendering Manager (DRM) framework along the following call flow. Finally, the display parameters are written to the display register via the mipi_dsi interface, completing the dynamic adjustment of the display's hardware parameters. For example:
[0169] drm_mode_probed_add() → Select mode in user space (HWC / SurfaceFlinger) → atomic commit → DRM core → CRTC driver → Register configuration → Screen on.
[0170] Step 13: Using the display firmware parameter modification device, regenerate the kernel firmware file from the second IMG firmware file containing the modified display firmware parameters and burn it into the read-only memory (ROM).
[0171] In this embodiment of the invention, the read-only memory includes, but is not limited to, erasable programmable read-only memory (EPROM) and electrically erasable programmable read-only memory (EEPROM).
[0172] Here, the attributes of the script program that regenerates the kernel firmware file from the second IMG firmware file containing the modified display firmware parameters and burns it into the read-only memory are:
[0173] Format instructions: Script path <product model> <pack><IP address>
[0174] Parameter description:
[0175] Script path modify_lcd.sh
[0176] Product models A8658 / A9668 / A8678 / A7698 / PZ100 / A8698 / A8688 / PZ200 / PZ200PRO
[0177] Set parameters clock / hactive / vactive / hbp / hfp / vbp / vfp / hsync / vsync / hsync_active
[0178] / vsync_active / de / pixelclk
[0179] IP address The IP address of the device to be modified.
[0180]
Example
[0181] . / modify_lcd.sh PZ200 pack 192.168.0.104
[0182] Return value: **.
[0183] If the flashing is successful, the return value is:
Success: Success: [ ]
[0184] If the flashing fails, the return value is:
Failure: Failed: [Reason]
[0185] Error code 1 indicates
Parameter error
The update.img file does not exist
adb connection failed
[0186] Figure 3 It is a schematic diagram of a device for dynamically modifying display screen firmware parameters according to an embodiment of the present invention.
[0187] As Figure 3 shown, the device for dynamically modifying display screen firmware parameters mainly includes the following modules:
[0188] Display screen firmware parameter file acquisition module, which is used to initialize the display screen firmware parameter modification device, read the first IMG firmware file package from the corresponding version release server, and decompress the display screen firmware parameter file.
[0189] The aforementioned first IMG firmware file package may contain an operating system, drivers, applications, display firmware parameter files, and other necessary files. The display firmware parameter file in this embodiment of the invention contains several display firmware parameters, such as 1) clock-frequency; 2) hactive; 3) vactive; 4) hbp; 5) vbp; 6) hfp; 7) vfp; 8) hsync; 9) vsync; 10) hsync-active; 11) vsync-active; 12) de; 13) pixelclk.
[0190] The firmware parameter modification and packaging module is used to read the display firmware parameters, extract them into the device tree file / data, adjust / modify the display firmware parameters, and then package the adjusted / modified display firmware parameters together with the operating system kernel into the second IMG firmware file.
[0191] The device tree file parsing and firmware parameter startup module is used to parse the second IMG firmware file of the device tree file / data and start the modified display firmware parameters to identify and adapt to the corresponding display device.
[0192] Preferably, it also includes a kernel firmware file regeneration and burning module, used to regenerate the kernel firmware file from the second IMG firmware file containing the modified display firmware parameters and burn it into the read-only memory (ROM).
[0193] The above implementation process is for Mobile Industry Processor Interface (MIPI) displays. The implementation process for dynamically modifying firmware parameters for other display interfaces, such as RGB, LVDS, and EDP, is similar and will not be described in detail here.
[0194] Figure 4 This is a schematic diagram of a dynamic modification system for display screen firmware parameters according to an embodiment of the present invention.
[0195] like Figure 4 As shown, the display screen firmware parameter dynamic modification system includes a version release server 200, a display screen firmware parameter dynamic modification device 100, and a display screen 300. Wherein:
[0196] The version release server 200 stores IMG firmware files (file packages) containing display firmware parameter files, which are used by the dynamic modification device 100 for display firmware parameters to read, download, upload, and partition to save the IMG firmware file containing the modified display firmware parameters.
[0197] The dynamic modification device 100 for display screen firmware parameters is used to adjust / modify the firmware parameters of the display screen when the hardware is modified or replaced.
[0198] The display screen 300 is used to respond to the dynamic modification device 100 of the display screen firmware parameters by activating the modified display screen firmware parameters to verify whether the two are compatible.
[0199] Based on the same inventive concept as the aforementioned device and system for dynamically modifying display firmware parameters, this embodiment of the invention also provides an embedded system, which includes a memory, at least one processor, and the device for dynamically modifying display firmware parameters.
[0200] A computer-readable storage medium is also provided, wherein executable instructions are stored therein, the executable instructions being configured to implement a method for dynamically modifying the display screen firmware parameters.
[0201] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.< / pack> < / modify> < / read> < / unpack>
Claims
1. A method for dynamically modifying display screen firmware parameters, characterized in that, The steps include the following: A. Initialize the display firmware parameter modification device, read the first IMG firmware file package from the version release server, and decompress the display firmware parameters; the display firmware parameters include: 1) clock-frequency: clock frequency / pixel clock; 2) hactive: horizontal active pixel count, i.e., the number of pixels displayed per line; 3) vactive: vertical active pixel count, i.e., the number of lines displayed per frame; 4) hbp: horizontal trailing edge blank time, the blank time period after the horizontal sync pulse; 5) vbp: vertical trailing edge blank time, the blank time period after the vertical sync pulse; 6) hfp: H sync offset; 7) vfp: V sync offset; 8) hsync: H sync width; 9) vsync: V sync width; 10) hsync-active: effective polarity of the horizontal sync signal, 0 indicates low level active, 1 indicates high level active; 11) vsync-active: effective polarity of the vertical sync signal, 0 indicates low level active, 1 indicates high level active; 12) de: effective polarity of the data enable signal, 0 indicates low level active, 1 indicates high level active; 13) hsync-active: effective polarity of the vertical sync signal, 0 indicates low level active, 1 indicates high level active; 14) de: effective polarity of the data enable signal, 0 indicates low level active, 1 indicates high level active; 15) hsync-active: effective polarity of the vertical sync signal, 0 indicates low level active, 1 indicates high level active; 16) hsync-active: effective polarity of the data enable signal, 0 indicates low level active, 1 indicates high level active; 17) hsync-active: effective polarity of the vertical sync signal, 0 indicates low level active, 1 indicates high level active; 18) hsync-active: effective polarity of the data enable signal, 0 indicates low level active, 1 indicates high level active; 19) hsync-active: effective polarity of the vertical sync signal, 0 indicates low level active, 1 indicates active low, 1 indicates active high; 13) pixelclk: active polarity of the pixel clock signal, 0 indicates active low, 1 indicates active high; B. Read the display firmware parameters, extract them into the device tree file / data, modify the display firmware parameters, and then package the modified display firmware parameters and the operating system kernel into the second IMG firmware file. C. Parse the display firmware parameters in the device tree file / data of the second IMG firmware file, and start the modified display firmware parameters to identify and match the corresponding display device, so as to realize dynamic adjustment of the hardware parameters of the target display; including: C1. After the device is powered on, start the boot program to initialize the hardware including memory, clock, power management module, PLL, and then load the general boot loader U-Boot into memory; C2. U-Boot continues to load the system kernel and device tree binary file DTB into memory, then start the system kernel and mount the root file system; C3. Start the system kernel, pass the parsing result to the device tree binary file DTB, and register each node as a platform_device structure; C4. When the display subsystem is initialized and the driver is loaded, load the device tree binary file DTB, find the display panel corresponding to the current display output interface, and call the registered of_driver_match_device() to match the corresponding display driver. ; C5. During the display driver initialization process, display parameters are read from the device tree binary file (DTB) and transferred to the video mode. C6. After obtaining the display parameters, the display driver passes the display parameters through the video mode in the Direct Render Manager (DRM) framework along the following call flow, and finally writes the display parameters to the display register through the mipi_dsi interface, thus completing the dynamic adjustment of the display hardware parameters.
2. The method for dynamically modifying display screen firmware parameters according to claim 1, characterized in that, Step B is followed by: Using the dynamic modification device for the display firmware parameters, the kernel firmware file is regenerated from the second IMG firmware file containing the modified display firmware parameters and burned into the read-only memory.
3. A device for dynamically modifying display screen firmware parameters, characterized in that, The device includes: The display firmware parameter file acquisition module is used to initialize the display firmware parameter modification device, read the first IMG firmware file package from the corresponding version release server, and decompress the display firmware parameter file. The display firmware parameters include: 1) clock-frequency: clock frequency / pixel clock; 2) hactive: number of horizontal active pixels, i.e., the number of pixels displayed per line; 3) vactive: number of vertical active pixels, i.e., the number of lines displayed per frame; 4) hbp: horizontal trailing edge blank time, the blank time period after the horizontal sync pulse; 5) vbp: vertical trailing edge blank time, the blank time period after the vertical sync pulse; 6) hfp: H sync offset; 7) vfp: V sync offset; 8) hsync: H sync width; 9) vsync: V sync width; 10) hsync-active: effective polarity of the horizontal sync signal, 0 indicates low level active, 1 indicates high level active; 11) vsync-active: effective polarity of the vertical sync signal, 0 indicates low level active, 1 indicates high level active; 12) de: The valid polarity of the data enable signal: 0 indicates active low, 1 indicates active high; 13) pixelclk: The valid polarity of the pixel clock signal: 0 indicates active low, 1 indicates active high; The firmware parameter modification and packaging module is used to read the display firmware parameters, extract them into the device tree file / data, adjust / modify the display firmware parameters, and then package the adjusted / modified display firmware parameters together with the operating system kernel into the second IMG firmware file. The device tree file parsing and firmware parameter startup module is used to parse the second IMG firmware file in the device tree file / data and start the modified display firmware parameters to identify and adapt to the corresponding display device. Specifically, it performs the following operations: After the device is powered on, the bootloader is started to initialize the hardware, including memory, clock, power management module, PLL, and then the general bootloader U-Boot is loaded into memory; U-Boot continues to load the system kernel and device tree binary file DTB into memory, then starts the system kernel and mounts the root file system; the system kernel starts, passes the parsing result to the device tree binary file DTB, and registers each node as a platform_device structure; when the display subsystem is initialized and the driver is loaded, the device tree binary file DTB is loaded, the display panel corresponding to the current display output interface is found, and the registered of_driver_match_device() is called to match the corresponding display driver. ; During the display driver initialization process, display parameters are read from the device tree binary file (DTB) and then into the video mode. After obtaining the display parameters, the display driver passes them through the video mode in the Direct Render Manager (DRM) framework along the following call flow. Finally, the display parameters are written to the display register through the mipi_dsi interface, thus completing the dynamic adjustment of the display's hardware parameters.
4. The device for dynamically modifying display screen firmware parameters according to claim 3, characterized in that, The first IMG firmware file package contains the operating system, drivers, applications, and display firmware parameter files.
5. The device for dynamically modifying display screen firmware parameters according to claim 3, characterized in that, Also includes: The kernel firmware file regeneration and burning module is used to regenerate the kernel firmware file from the second IMG firmware file containing the modified display firmware parameters and burn it into the read-only memory.
6. A system for dynamically modifying display screen firmware parameters, characterized in that, The system includes a device for dynamically modifying display firmware parameters as described in any one of claims 3 to 5, and further includes a version release server and a display screen; wherein: The version release server stores IMG firmware files containing display firmware parameter files, which are used by devices that dynamically modify display firmware parameters to read, download, upload, and partition the IMG firmware files containing modified display firmware parameters. The display screen is configured to activate the modified display screen firmware parameters in response to a dynamic modification device for the display screen firmware parameters, in order to verify whether the two are compatible.
7. An embedded system, characterized in that, The embedded system includes: Memory; At least one processor; and, The device for dynamically modifying display firmware parameters according to any one of claims 3 to 5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores executable instructions configured to implement the method for dynamically modifying the display firmware parameters as described in claims 1-2.