This post describes how to port the Vista Cube™ for RDCx00/RDP Flash Image download feature in stand-alone application, such as a firmware for MCU.

We assume that our stand-alone porting environment is on Win10 x64  and target products are RDC200/RDP550F.  (This demo project is a Visual Studio console project and it is located in $VISTA_CUBE_PATH\example\mcu_example\)

!! To try this demo, Vista Studio™ and RAON uDisplay EVB be used.

— In order to migrate Vista Cube™ download function into customer MCU platform, MCU compiler IDE and MCU I2C function should be used instead of we used Visual Studio and EVB respectively.

Take the following steps.

  1. Download Vista Cube™.
    • You can find it on our dev-site.
    • Extract this zip file with a password (If you don’t know the password, please contact us).
  2. Prepare your target build system with Vista Cube™.
    • Add include path :
      • -I$VISTA_CUBE_PATH\src\libvc\core\rdc200\
      • -I$VISTA_CUBE_PATH\src\libvc\include\
      • -I$YOUR_I2C_INTERFACE_HEADER_PATH\  (if need)
    • Add library path :
      • -L$YOUR_I2C_INTERFACE_LIB_PATH\  (if need)
    • Add name of library :
      • -l$YOUR_I2C_INTERFACE_FILE_PATH  (if need)
    • Specify library loading path (if need)
      • Copy SiLab_USB\SiUSBXp.dll and USBLibrary.dll in $VISTA_CUBE_PATH\src\test\windows\ to $VISTA_CUBE_PATH\example\mcu_example\
  3. Connect your i2c interface to Vista Cube™.
    • You should implement the following i2c wrapping functions in $VISTA_CUBE_PATH/src/libvc/port/rti_vc_devif.c (Refer to Capter 2.3 Device interface Services in VistaCube_User_Guid_RDC200.pdf for details).
      • rtiVC_InitDevice();
      • rtiVC_OpenDevice();
      • rtiVC_ReadDevice(…);
      • rtiVC_WriteDevice(…);
      • rtiVC_ReadBurstDeviceExt(…);
      • rtiVC_WriteBurstDeviceExt(…);
      • rtiVC_CloseDevice();
      • rtiVC_DeinitDevice();
    • Check if the following functions are activated or not in $VISTA_CUBE_PATH/example/mcu_example/rdc200_dload.c ( these functions are required for normal panels booting)
      • rdc200_setup_firmware_data(…);
      • rdc200_setup_fw_cfg_data(…);
      • rdc200_setup_rdc_init_data(…);
      • rdc200_setup_rdp_init_data(…);
      • rdc200_setup_gamma_data(…);
      • rdc200_setup_bmp_data(…);
    • Check I2C SlaveAddress (It depends on your target system configuration)
      • RDC slave address : define it in your side. (e.g. #define RDC_I2C_SLAVE_ADDR    0x44 )
      • RDP slave address : #define _CFG_RDP_SLAVE_ADDR    0x39 in $VISTA_CUBE_PATH/src/libvc/include/rti_vc_config.h
  4. Copy and Paste the latest init values to Vista Cube™ code inside.
    • Download an init file ( RDC100 init file / RDC200 init file) in according to your target.
    • Download VisualStudio™ on our dev-site( it is also password protected).
    • Power on RAON uDiaplay EVB and connect your host computer via USB and then execute Vista  Studio™. (If it is first time, board configuration wizard will be appear)
    • Burn the latest init files  into Flash via Flash burning function ( you can find this function on Toolbar menu of Vista Studio™)
      • Select $RDC200_INIT_PATH\feature\rdc200_fw_v1.6_gpioB_20171017.hex as FW
      • Select $RDC200_INIT_PATH\init_lut\rdc200\RDC200_for_RDP501H_20170904.rega as Controller-Init
      • Select $RDC200_INIT_PATH\feature\20170406_gamm2.0.lut as Controller-Gamma
      • Select $RDC200_INIT_PATH\init_lut\rdp550f\init_rdp550f-e_20170405.rega as Panel-Init
      • Select $RDC200_INIT_PATH\feature\bootlogo_00.bmp as Boot Logo
      • Check Generate LUT
      • And then click Start button.
    • Vista Studio™ will create rdcx000_lut_data.h in Default Download Folder  specified above .
  5. Replace the rdcx000_lut_data.h located in $VISTA_CUBE_PATH/example/mcu_example/ with the rdcx00_lut_data.h made in the previous step.
    • e.g. Copy rdc200_lut_data.h made in step4 into $VISTA_CUBE_PATH/example/mcu_example/
  6. Build and then execute your target system.
    • Don’t forget to include the downloading calling function. (Refer to main function in $VISTA_CUBE_PATH\example\mcu_example\main.c)
      • rtiVC_Initialize(RDC_I2C_SLAVE_ADDR);
      • rtiVC_OpenDevice();
      • (Optional) rtiVC_RegisterDownloadCallback(...);
      • rdc200_download();
      • rtiVC_CloseDevice();
      • rtiVC_Denitialize();
    • After finishing, reboot. Then you will see an input video if there is video source, otherwise you will see the bootlogo image on your panels.






A second way of getting init binaries
  • Use Flash Memory Viewer On main menu of Vista Studio™.
    • FW : Base Address(0x00000), Dump Length(0x4000)
    • Confg : Base Address(0x08000), Dump Length(0x1000)
    • RDC init : Base Address(0x09000), Dump Length(0x1000)
    • RDP init : Base Address(0x0A000), Dump Length(0x1000)
    • Gamma : Base Address(0x0C000), Dump Length(0x4000)
    • Bootlogo : Base Address(0x90000), Dump Length(0x4000)
    • Save the dump results with unchecked baseAddr, checked Prefix(0x) and Coma token in Write Format.
  • Copy and pastes these binaries into the appropriate array in rdc200_lut_data.h
    • Replace rdc200_fw_hex_lut values with the FW binaries.
    • Replace rdc200_fw_cfg_lut values with the Config binaries.
    • Replace rdc200_rdc_init_lut array with the RDC init binaries.
    • Replace rdc200_rdp_init_lut array with the RDP inti binaries.
    • Replace rdc200_gamma_lut array with the gamma binaries.
    • Replace rdc200_bmp_lut_0 values with the bootlogo binaries.






Categories: Vista Cube

Related Posts

Vista Cube

[VistaStudio/VistaCube] How to active CoKOA and configure its parameters

The CoKOA(Correction of Keystone and Optical Aberrations) is a powerful feature of RDC which compensates a perspective distortion such as keystone and optical distortion,  pincushion, chromatic aberration and so on. This post describes two ways Read more…

Vista Cube

[VistaStudio/VistaCube] Description of Config file.

This post describes what is Config file and what is included in it. Definition : Config file named “fw_rdc200.cfg” is a set of parameters/flags that are used in firmware of RDC200. If this config file Read more…

Vista Cube

[VistaCube] Quick Android/Linux Porting Guide.

This post describes how to port Vista Cube™ for RDC200/RDP550F initialization using 1)Linux console application or 2) Android Java Application. We assume that our porting environment is on Android Linux and our target products are Read more…