MCUXpresso SDK Documentation

dpu_1_figure_display

dpu_1_figure_display#

Overview#

The figure display function is used to show pictures on panel. Tips: The picture file(*.png, jpeg…) must be converted to bitmap file(binary file: xxx.bin) by using tool(such as: https://lvgl.io/tools/imageconverter). The bitmap file is loaded by Jlink to memory.

Supported Boards#

IMX95LPD5EVK-19
Hardware requirements
  • Micro USB cable

  • IMX95LPD5EVK-19 board

  • J-Link Debug Probe

  • 12V~20V power supply

  • Personal Computer

  • LCD SPEC panel

Board settings

For DUAL LVDS panel(19201200), connect MINISAS ports J15 and J16 to panel. For LCD SPEC panel(1280800), connect MINISAS port J15 to MINISAS2LVDS card as LVDS0. J16 to MINISAS2LVDS card for LVDS1. The MINISAS2LVDS card need jumper, please refer to the card datasheet. For LVDS2HDMI card(19201080), connect MINISAS port J16 to panel. For MX9_DSI_OLED MIPI panel(10802340), connect MINISAS port J14 to panel. For MIPI2HDMI card(1920*1080), connect MINISAS port J14 to panel.

Prepare the Demo
  1. Connect 12V power supply and J-Link Debug Probe to the board, switch SW4 to power on the board.

  2. Connect a micro USB cable between the host PC and the J31 USB port on the cpu board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Launch the debugger in your IDE to begin running the example.

  6. Load the figure binary file by using Jlink command “loadbin xxx.bin 0x80000000” and “loadbin xxx.bin 0x803e8000”(default LCD SPEC panel).


| panel name | buffer address 1 | buffer address 2 |
| DUAL LVDS | 0x80000000 | 0x808ca000 |
| LCD SPEC | 0x80000000 | 0x803e8000 |
| MX9_DSI_OLED | 0x80000000 | 0x809a3f80 |
| MIPI2HDMI | 0x80000000 | 0x807e9000 |
| LVDS2HDMI | 0x80000000 | 0x807e9000 |
Steps to configure the panels

Default panel is LCD SPEC panel, default port is DPU_DI_LVDS, default setting for APP_DISPLAY_EXTERNAL_CONVERTOR is disabled Tips: The APP_DISPLAY_EXTERNAL_CONVERTOR can be set as 1 when you are using MIPI2HDMI card(ADV7535) or LVDS2HDMI card(IT6263) only.

When Kconfig is used

Below setting is for kconfig, you can fix below settings in dpu/figure_display/cm7/prj.conf For default LCD_SPEC panel, you do not need to change anything. For DUAL LVDS panel(19201200): CONFIG_LVDS_DUAL_PANEL=y CONFIG_MCUX_PRJSEG_module.board.display_support.LDB_DUAL_PANEL_ENABLE=y For LVDS2HDMI card(19201080): CONFIG_APP_DISPLAY_EXTERNAL_CONVERTOR=y CONFIG_LVDS2HDMI=y For MIPI DSI panel(10802340): CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_MIPI=y CONFIG_MX9_DSI_OLED=y For MIPI2HDMI card(19201080): CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_MIPI=y CONFIG_APP_DISPLAY_EXTERNAL_CONVERTOR=y CONFIG_MIPI2HDMI=y

When package is used

Below setting is for mcux_config.h. Setting DEMO_PANEL to 12 to DUAL LVDS panel(19201200). You also need to set LDB_DUAL_PANEL to 1. Setting DEMO_PANEL to 15 to use LVDS2HDMI card(19201080), you need to set APP_DISPLAY_EXTERNAL_CONVERTOR to 1. Setting DEMO_PANEL to 13 to use MIPI DSI panel(10802340), you also need to set DPU_EXAMPLE_DI to DPU_DI_MIPI. Setting DEMO_PANEL to 14 to use MIPI2HDMI card(19201080), you need to set DPU_EXAMPLE_DI to DPU_DI_MIPI. And you also need to set APP_DISPLAY_EXTERNAL_CONVERTOR to 1. For default LCD_SPEC panel, you do not need to change anything.

Running the demo

When the example runs successfully, you can see the expected figure shown in screen.

IMX952-EVK
Hardware requirements
  • Micro USB cable

  • IMX952LPD5EVK-19 board

  • J-Link Debug Probe

  • 12V~20V power supply

  • Personal Computer

  • BOE EV121WXM-N12 (LCD SPEC) panel

Board settings

For DUAL LVDS panel(19201200), connect MINISAS ports J15 and J16 to panel. For BOE EV121WXM-N12 (LCD SPEC) panel(1280800), connect MINISAS port J15 to MINISAS2LVDS card as LVDS0. J16 to MINISAS2LVDS card for LVDS1. The MINISAS2LVDS card need jumper, please refer to the card datasheet. For LVDS2HDMI card(19201080), connect MINISAS port J16 to panel. For MX8_DSI_OLED2 MIPI panel(10802340), connect MINISAS port J14 to panel. For MIPI2HDMI card(1920*1080), connect MINISAS port J14 to panel.

Prepare the Demo
  1. Connect 12V power supply and J-Link Debug Probe to the board, switch SW4 to power on the board.

  2. Connect a micro USB cable between the host PC and the J31 USB port on the cpu board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Launch the debugger in your IDE to begin running the example.

  6. Load the figure binary file by using Jlink command “loadbin xxx.bin 0x80000000” and “loadbin xxx.bin 0x808ca000”(default DUAL LVDS panel).


| panel name | buffer address 1 | buffer address 2 |
| DUAL LVDS | 0x80000000 | 0x808ca000 |
| LCD SPEC | 0x80000000 | 0x803e8000 |
|MX8_DSI_OLED2 | 0x80000000 | 0x809a3f80 |
| MIPI2HDMI | 0x80000000 | 0x807e9000 |
| LVDS2HDMI | 0x80000000 | 0x807e9000 |
Steps to configure the panels

Default panel is LCD SPEC panel, default port is DPU_DI_LVDS, default setting for APP_DISPLAY_EXTERNAL_CONVERTOR is disabled Tips: The APP_DISPLAY_EXTERNAL_CONVERTOR can be set as 1 when you are using MIPI2HDMI card(ADV7535) or LVDS2HDMI card(IT6263) only.

When Kconfig is used

Below setting is for kconfig, you can fix below settings in dpu/figure_display/cm7/prj.conf For default LCD_SPEC panel, you do not need to change anything. For DUAL LVDS panel(19201200): CONFIG_LVDS_DUAL_PANEL=y CONFIG_MCUX_PRJSEG_module.board.display_support.LDB_DUAL_PANEL_ENABLE=y For LVDS2HDMI card(19201080): CONFIG_APP_DISPLAY_EXTERNAL_CONVERTOR=y CONFIG_LVDS2HDMI=y For MIPI DSI panel(10802340): CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_MIPI=y CONFIG_MX9_DSI_OLED=y For MIPI2HDMI card(19201080): CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_MIPI=y CONFIG_APP_DISPLAY_EXTERNAL_CONVERTOR=y CONFIG_MIPI2HDMI=y

When package is used

Below setting is for mcux_config.h. Setting DEMO_PANEL to 12 to DUAL LVDS panel(19201200). You also need to set LDB_DUAL_PANEL to 1. Setting DEMO_PANEL to 15 to use LVDS2HDMI card(19201080), you need to set APP_DISPLAY_EXTERNAL_CONVERTOR to 1. Setting DEMO_PANEL to 13 to use MIPI DSI panel(10802340), you also need to set DPU_EXAMPLE_DI to DPU_DI_MIPI. Setting DEMO_PANEL to 14 to use MIPI2HDMI card(19201080), you need to set DPU_EXAMPLE_DI to DPU_DI_MIPI. And you also need to set APP_DISPLAY_EXTERNAL_CONVERTOR to 1. For default LCD_SPEC panel, you do not need to change anything.

Running the demo

When the example runs successfully, you can see the expected figure shown in screen.

FRDM-IMX95
Hardware requirements
  • Micro USB cable

  • FRDMIMX95 board

  • J-Link Debug Probe

  • USB power supply

  • Personal Computer

  • LVDS2HDMI card

  • WAVESHARE_DSI2DPI panel

Board settings

For LVDS2HDMI card(1920*1080), connect HDMI port J17 to panel.

For LCD_SPEC panel(1280*800), connect LVDS port J14 to panel. Ensure the J15 jumper connect to 12V, J12 jumper connect to 3.3V. The LCD_SPEC panel requires a 12V backlight supply. To ensure stable backlight operation, 20V input voltage must be negotiated via U-Boot. Boot Linux BSP to u-boot, and load M core image from SD card to run. (Put the image into SD card device before)

  1. Uboot command to disable lvds function in uboot “setenv video_off yes; saveenv” then reset the board.

  2. load mmc 1:1 0x90400000 dpu.bin; cp.b 0x90400000 0x203c0000 0x40000; bootaux 0x00000000 1;

For WAVESHARE_DSI2DPI panel(1024*600), connect MIPI DSI port J10 to panel Use Dupont wires to connect the following pins. —————————————————————————————————— | panel FAN 5V ———– J19-2 | | panel FAN GND ———- J19-39 | | panel FAN SCL1 ——— J2-7 | | panel FAN SDA1 ——— J2-9 | —————————————————————————————————

Prepare the Demo
  1. Connect usb power supply.

  2. Connect a micro USB cable between the host PC and the J1 USB port on the cpu board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Load the figure binary file by using Jlink command “loadbin xxx.bin 0x80000000” and “loadbin xxx.bin 0x807e9000”(default LVDS2HDMI card).


| panel name | buffer address 1 | buffer address 2 |
| LVDS2HDMI | 0x80000000 | 0x807e9000 |
| LCD SPEC | 0x80000000 | 0x803e8000 |
| WAVESHARE_DSI2DPI | 0x80000000 | 0x80258000 |
Steps to configure the panels

Default panel is WAVESHARE_DSI2DPI panel, default port is DPU_DI_MIPI, default setting for APP_DISPLAY_EXTERNAL_CONVERTOR is disabled Tips: The APP_DISPLAY_EXTERNAL_CONVERTOR can be set as 1 when you are using LVDS2HDMI card(IT6263) only.

When Kconfig is used

Below setting is for kconfig, you can fix below settings in dpu/figure_display/cm7/prj.conf For default WAVESHARE_DSI2DPI panel, you do not need to change anything. For LCD_SPEC panel(1280800): CONFIG_LCD_SPEC=y CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_LVDS=y For LVDS2HDMI card(19201080): CONFIG_APP_DISPLAY_EXTERNAL_CONVERTOR=y CONFIG_LVDS2HDMI=y CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_LVDS=y

When package is used

Below setting is for mcux_config.h. For default WAVESHARE_DSI2DPI panel, you do not need to change anything. Setting DEMO_PANEL to 11 to use LCD_SPEC panel(1280800), you need to set DPU_EXAMPLE_DI to DPU_DI_LVDS. Setting DEMO_PANEL to 15 to use LVDS2HDMI card(19201080), you need to set APP_DISPLAY_EXTERNAL_CONVERTOR to 1 and set DPU_EXAMPLE_DI to DPU_DI_LVDS.

Running the demo

When the example runs successfully, you can see the expected figure shown in screen.

frdmimx952
Hardware requirements
  • Micro USB cable

  • FRDMIMX952 board

  • J-Link Debug Probe

  • 12V~20V power supply

  • Personal Computer

  • WAVESHARE_DSI2DPI panel

Board settings

For BOE EV121WXM-N12 (LCD SPEC) panel(1280*800), connect LVDS port J14 to panel. Ensure the J15 jumper connect to 12V, J13 jumper connect to 3.3V The LCD_SPEC panel requires a 12V backlight supply. To ensure stable backlight operation, 20V input voltage must be negotiated via U-Boot. Boot Linux BSP to u-boot, and load M core image from SD card to run. (Put the image into SD card device before)

  1. Uboot command to disable lvds function in uboot “setenv video_off yes; saveenv” then reset the board.

  2. load mmc 1:1 0x90400000 dpu.bin; cp.b 0x90400000 0x203c0000 0x40000; bootaux 0x00000000 1;

For LVDS2HDMI card(1920*1080), connect HDMI port J16 to monitor.

Ensure the J15 jumper connect to 12V, J13 jumper connect to 3.3V For WAVESHARE_DSI2DPI panel(1024*600), connect MIPI DSI port J12 to panel Use Dupont wires to connect the following pins. —————————————————————————————————— | panel FAN 5V ———– J18-2 | | panel FAN GND ———- J18-39 | | panel FAN SCL1 ——— J2-7 | | panel FAN SDA1 ——— J2-9 | —————————————————————————————————

Prepare the Demo
  1. Connect 12V power supply to the board, switch SW5 to power on the board.

  2. Connect a micro USB cable between the host PC and the J1 USB port on the cpu board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Launch the debugger in your IDE to begin running the example.

  6. Load the figure binary file by using Jlink command “loadbin xxx.bin 0x80000000” and “loadbin xxx.bin 0x80258000”(default WAVESHARE_DSI2DPI panel).


| panel name | buffer address 1 | buffer address 2 |
| LCD SPEC | 0x80000000 | 0x803e8000 |
| LVDS2HDMI | 0x80000000 | 0x807e9000 |
| WAVESHARE_DSI2DPI | 0x80000000 | 0x80258000 |
Steps to configure the panels

Default panel is WAVESHARE_DSI2DPI panel, default port is DPU_DI_MIPI, default setting for APP_DISPLAY_EXTERNAL_CONVERTOR is disabled Tips: The APP_DISPLAY_EXTERNAL_CONVERTOR can be set as 1 when you are using LVDS2HDMI card(IT6263) only.

When Kconfig is used

Below setting is for kconfig, you can fix below settings in dpu/rop/cm7/prj.conf For default WAVESHARE_DSI2DPI panel, you do not need to change anything. For BOE EV121WXM-N12 (LCD SPEC) panel(1280800): CONFIG_LCD_SPEC=y CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_LVDS=y For LVDS2HDMI card(19201080): CONFIG_APP_DISPLAY_EXTERNAL_CONVERTOR=y CONFIG_LVDS2HDMI=y CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_LVDS=y

When package is used

Below setting is for mcux_config.h. For default WAVESHARE_DSI2DPI panel, you do not need to change anything. Setting DEMO_PANEL to 11 to use BOE EV121WXM-N12 (LCD SPEC) panel(1280800), you need to set DPU_EXAMPLE_DI to DPU_DI_LVDS. Setting DEMO_PANEL to 15 to use LVDS2HDMI card(19201080), you need to set APP_DISPLAY_EXTERNAL_CONVERTOR to 1. And you also need to set DPU_EXAMPLE_DI to DPU_DI_LVDS.

Running the demo

When the example runs successfully, you can see the expected figure shown in screen.