NXP AN13948 Pagsasama ng LVGL GUI Application sa Smart HMI Platform User Manual
NXP AN13948 Pagsasama ng LVGL GUI Application sa Smart HMI Platform

Panimula

Ang NXP ay naglunsad ng solution development kit na pinangalanang SLN-TLHMI-IOT. Nakatuon ito sa mga smart HMI application na naglalaman ng dalawang app - coffee machine at elevator (paparating na ang smart panel app).
Upang magbigay ng impormasyon sa user, may kasamang ilang pangunahing dokumento, halimbawaample, ang gabay ng developer.
Ipinakilala ng gabay ang pangunahing disenyo ng software at arkitektura ng mga application na sumasaklaw sa lahat ng bahagi ng solusyon.
Kasama sa mga bahaging ito ang bootloader, framework, at disenyo ng HAL upang matulungan ang mga developer na mas madali at mahusay na ipatupad ang kanilang mga application gamit ang SLN-TLHMI-IOT.

Para sa higit pang mga detalye tungkol sa mga dokumento at solusyon, bisitahin ang: NXP EdgeReady Smart HMI Solution batay sa i.MX RT117H na may ML Vision, Voice at Graphical UI.

Gayunpaman, ang panimula ay nakatuon sa mga ideya at pangunahing paggamit. Dahil sa pagsunod ng software batay sa balangkas, hindi pa rin madali para sa mga developer na malaman kung paano ipatupad ang kanilang mga aplikasyon.
Upang mapabilis ang pag-unlad, ang mga karagdagang gabay ay kinakailangan upang ipakilala kung paano ipatupad ang mga pangunahing bahagi (para sa halample, LVGL GUI, vision, at voice recognition) hakbang-hakbang.
Para kay exampSa gayon, ang mga customer ay dapat magkaroon ng kanilang sariling LVGL GUI application na iba sa kasalukuyang mga app sa solusyon.
Pagkatapos ipatupad ang kanilang LVGL GUI kasama ang GUI Guider na ibinigay ng NXP, dapat nilang isama ito sa smart HMI software platform batay sa framework.

Ang application note na ito ay naglalarawan kung paano isama ang LVGL GUI application na binuo ng user sa smart HMI software platform batay sa framework.
Ang mga reference code ay ipinakita din kasama ng application note na ito.

Tandaan: Ang application note na ito ay hindi nagpapaliwanag kung paano bumuo ng GUI batay sa LVGL gamit ang tool ng software ng GUI Guider.

Ang taposview ng LVGL at GUI Guider ay inilarawan sa Seksyon 1.1 at Seksyon 1.2.

Banayad at Maraming Gamit na Graphics Library
Ang Light and Versatile Graphics Library (LVGL) ay isang libre at open-source na library ng graphics.
Nagbibigay ito ng lahat ng kailangan mo upang lumikha ng naka-embed na GUI na may madaling gamitin na mga graphical na elemento, magagandang visual effect, at mababang memory footprint.

Gabay sa GUI
Ang GUI Guider ay isang user-friendly na graphical user interface development tool mula sa NXP na nagbibigay-daan sa mabilis na pagbuo ng mga de-kalidad na display gamit ang open-source na LVGL graphics library.
Pinapadali ng drag-and-drop na editor ng GUI Guider na gamitin ang maraming feature ng LVGL. Kasama sa mga feature na ito ang mga widget, animation, at istilo para gumawa ng GUI na may kaunti o walang coding.
Sa pag-click ng isang button, maaari mong patakbuhin ang iyong application sa isang simulate na kapaligiran o i-export ito sa isang target na proyekto.
Ang nabuong code mula sa GUI Guider ay madaling maidagdag sa iyong proyekto, na nagpapabilis sa proseso ng pagbuo at nagbibigay-daan sa iyong magdagdag ng naka-embed na user interface sa iyong application nang walang putol.
Ang GUI Guider ay malayang gamitin sa mga pangkalahatang layunin ng NXP at mga crossover na MCU at may kasamang mga built-in na template ng proyekto para sa ilang sinusuportahang platform.
Para matuto pa tungkol sa LVGL at GUI development sa GUI Guider, bisitahin ang https://lvgl.io/ at GUI Guider.

Kapaligiran sa pag-unlad

Ihanda at i-set up ang development environment para sa pagbuo at pagsasama ng GUI app sa smart HMI platform.

Kapaligiran ng hardware

Ang sumusunod na hardware ay kinakailangan para sa pagpapakita pagkatapos ng pag-develop:

  • Ang smart HMI development kit batay sa NXP i.MX RT117H
  • SEGGER J-Link na may 9-pin Cortex-M adapter

Software na kapaligiran
Ang mga tool sa software at ang kanilang mga bersyon na ginamit sa application note na ito ay ipinakilala, tulad ng sa ibaba:

  • GUI Guider V1.5.0-GA
  • MCUXpresso IDE V11.7.0
    Tandaan: Ang isang bug sa mga bersyon bago ang 11.7.0 ay hindi nagpapahintulot ng wastong build-in na mga multicore na proyekto.
    Samakatuwid, kinakailangan ang bersyon 11.7.0 o mas mataas.
  • RT1170 SDK V2.12.1
  • SLN-TLHMI-IOT software platform – matalinong HMI source code na inilabas sa aming opisyal na GitHub repository

Upang matuto nang higit pa tungkol sa kung paano i-set up at i-install ang kapaligiran ng hardware at software, tingnan ang Pagsisimula sa SLN-TLHMI-IOT (dokumento MCU-SMHMI-GSG).

Isama ang LVGL GUI application sa smart HMI platform

Ang matalinong HMI software platform ay binuo sa framework architecture. Nahihirapan ang mga developer na idagdag ang kanilang LVGL GUI application sa smart HMI software platform kahit na nabasa nila ang gabay ng developer at alam nila ang tungkol sa framework.
Ipinapaliwanag ng mga susunod na seksyon kung paano ito ipatupad nang sunud-sunod.

Bumuo ng LVGL GUI application sa GUI Guider
Gaya ng nabanggit sa itaas, kung paano bumuo ng LVGL GUI sa GUI Guider ay hindi ang diin sa application note na ito.
Ngunit isang GUI example ay kailangan.
Samakatuwid, ang isang simpleng template ng GUI na pinangalanang Slider Progress na ibinigay sa GUI Guider ay pinili bilang GUI example para sa isang mabilis na setup.
Ginagamit ang template ng Slider Progress GUI dahil naglalaman ito ng isang imahe na kinakailangan upang ipakita ang pagbuo ng mga mapagkukunan ng imahe sa application.
Ang GUI example ay napakadaling mabuo: Upang gumawa ng proyekto gamit ang na-update na LVGL library V8.3.2 at ang board template bilang MIMXRT1176xxxxx, sumangguni sa GUI Guider User's Guide (dokumento GUIGUIDERUG).
Ipinapakita ng Figure 1 ang mga setting ng proyekto.

Tandaan: Dapat piliin ang uri ng panel, tulad ng ipinapakita sa pulang kahon sa Figure 1, dahil ginagamit ito sa kasalukuyang development board.

Pagkatapos gawin ang proyekto, patakbuhin ang simulator upang bumuo ng mga nauugnay na LVGL GUI code at buuin din ang proyekto.
Maaari mong suriin ang epekto ng GUI example sa simulator.

Figure 1. GUI project setup sa GUI Guider
Setting ng Proyekto

Gawin ang iyong proyekto sa smart HMI
Tandaan: Una, gawin ang iyong proyekto sa MCUXpresso IDE.

Pagkatapos ng LVGL GUI example ay binuo, maaari itong pumunta sa pangunahing target upang maisama ito sa matalinong HMI software platform sa proyekto ng MCUXpresso para sa pagpapatupad ng iyong GUI application.
Ang simple at mabilis na paraan ay ang pag-clone ng kasalukuyang proyekto ng aplikasyon na ipinakita sa matalinong platform ng HMI.
Ang elevator app ay ang mas mahusay na pagpipilian bilang ang cloned source dahil mayroon itong isang simpleng pagpapatupad.

Upang gawin ang iyong proyekto, sundin ang mga hakbang sa ibaba:

  1. Kopyahin at i-paste ang folder na "elevator" sa naka-clone na smart HMI source code mula sa GitHub. Palitan ang pangalan nito sa iyo.
    Para itong exampKaya, pinili namin ang "slider_progress", kasunod ng pangalan ng GUI example.
  2. Sa folder na "slider_progress", ilagay ang folder na "lvgl_vglite_lib" na naglalaman ng proyekto ng LVGL GUI.
  3. Buksan ang may kaugnayan sa proyekto files .cproject at .project at palitan ang lahat ng string na “elevator” ng iyong project name string na “slider_progress”.
  4. Gawin ang katulad na kapalit para sa parehong proyekto files sa "cm4" at "cm7" na mga folder.
    I-set up ang iyong proyekto sa pamamagitan ng pag-clone ng proyekto ng elevator files.
    Gaya ng ipinapakita sa Larawan 2 ang iyong mga proyekto ay maaari na ngayong mabuksan sa MCUXpresso IDE sa parehong paraan tulad ng proyekto ng elevator.

Figure 2. Pag-setup ng mga proyekto sa MCUXpresso
Pag-setup ng Proyekto

Buuin ang mga mapagkukunan para sa matalinong HMI
Sa pangkalahatan, ang mga imahe ay ginagamit sa GUI (mga tunog na ginagamit din sa mga voice prompt).
Ang mga imahe at tunog ay tinatawag na mga mapagkukunan, na nakaimbak sa isang flash sa pagkakasunud-sunod. Bago i-program ang mga ito sa flash, ang mga mapagkukunan ay dapat na binuo sa isang binary file.
Ang pangunahing trabaho ay palitan ang mga pangalan ng reference na app (elevator) ng sa iyo.

Upang gawin ito, sundin ang mga hakbang sa ibaba:

  1. Tanggalin ang na-clone na "mga imahe" na folder sa ilalim ng slider_progress/resource.
  2. Kopyahin ang folder na "mga larawan" sa ilalim ng \binuo sa iyong proyekto sa GUI Guider.
  3. I-paste ito sa ilalim ng slider_progress/resource (Ibig sabihin, gamitin ang iyong sariling mga larawan kaysa sa mga mula sa elevator app.).
  4. Tanggalin ang *.mk file ginagamit para sa GUI Guider sa folder na "mga larawan".
  5. Palitan ang pangalan ng files elevator_resource.txt, elevator_resource_build.bat, at elevator_resource_build.sh sa folder na “resource” sa pangalan ng iyong proyekto slider_progress_resource.txt, slider_progress_resource_build.bat, at slider_progress_resource_build.sh.
    Puna:
    • elevator_resource.txt: naglalaman ng mga path at pangalan ng lahat ng mapagkukunan (mga larawan at tunog) na ginamit sa app.
    • elevator_resource_build.bat/elevator_resource_build.sh: ginagamit para sa pagbuo ng mga mapagkukunan sa Windows at Linux nang naaayon.
  6. Pagkatapos buksan ang slider_progress_resource.txt file, palitan ang lahat ng mga string na "elevator" ng "slider_progress".
  7. Alisin ang lahat ng lumang larawan at magdagdag ng mga bago sa iyong larawan file mga pangalan (narito ang "_scan_example_597x460.c"), gaya ng larawan ../../slider_progress/resource/images/_scan_example_597x460.c.
  8. Buksan ang slider_progress_resource.bat file para sa Windows at palitan ang lahat ng mga string na "elevator" ng "slider_progress". Gawin ang parehong sa file slider_progress_resource.sh para sa Linux.
  9. I-double click ang batch file slider_progress_resource_build.bat para sa Windows.
  10. Lumilitaw ang command window at awtomatikong tatakbo upang bumuo ng binary na mapagkukunan ng imahe file na naglalaman ng data ng imahe at impormasyon sa pag-access ng mapagkukunan na naglalaman ng mga C code upang itakda ang lahat ng mga lokasyon ng imahe sa flash at ang kabuuang laki ng byte ng mga imahe.
    Pagkatapos ipakita ang mensaheng "Resource Generation Complete!", ang image resource binary file pinangalanang slider_progress_resource.bin at ang resource access information file pinangalanang resource_information_table.txt ay nabuo sa folder na "resource".
    Ang binary na mapagkukunan ng imahe file ay naka-program sa flash, at ang impormasyon sa pag-access ng mapagkukunan ay ginagamit upang ma-access ang mga mapagkukunan sa matalinong HMI (tingnan ang Seksyon 3.4.1).

Isama ang LVGL GUI application sa smart HMI
Ang LVGL GUI application codes (narito ang SliderProgress GUI example) at ang mga binuo na mapagkukunan ng imahe, kabilang ang impormasyon sa pag-access, ay maaaring idagdag sa matalinong HMI.
Bukod pa rito, upang maipatupad ang iyong LVGL GUI application sa smart HMI, kinakailangang idagdag ang mga HAL device na nauugnay sa LVGL GUI at ang mga nauugnay na configuration.
Ang LVGL GUI application ay tumatakbo sa M4 core, at ang kaugnay na pagpapatupad ay halos nasa M4 project na “sln_smart_tlhmi_slider_progress_cm4”.
Ang mga detalyadong hakbang ay inilarawan sa karagdagang mga sub-seksyon.

Magdagdag ng mga LVGL GUI code at mapagkukunan
Ang mga LVGL GUI application code na ginagamit para sa smart HMI ay nasa mga folder na “custom” at “generated” sa GUI Guider project.

Para idagdag ang mga code sa smart HMI, sundin ang mga hakbang sa ibaba:

  1. Palitan ang custom.c at custom.h sa ilalim ng slider_progress/cm4/custom/ ng mga nasa folder na “custom” sa proyekto ng GUI Guider.
  2. Alisin ang "binuo" na mga folder mula sa slider_progress/cm4/.
    Pagkatapos ay kopyahin ang "binuo" na folder mula sa proyekto ng GUI Guider at i-paste ito sa slider_progress/cm4/.
  3. Tanggalin ang mga folder na "image" at "mPythonImages" at lahat ng files *.mk at *.py sa "binuo" na folder.
    Tulad ng nabanggit sa itaas, ang mga imahe sa folder na "larawan" ay binuo sa isang binary ng mapagkukunan file, kaya hindi kinakailangan ang folder na "larawan".
    Ang folder na "mPythonImages" at lahat ng files *.mk at *.py ay hindi gusto para sa matalinong HMI.
  4. Upang magdagdag ng kontrol ng mutex batay sa matalinong platform ng HMI at itakda ang mga lokasyon ng larawan sa flash, baguhin ang file custom.c sa MCUXpresso IDE.
    Ang lahat ng ito ay tinukoy ng RT_PLATFORM.
  5. Buksan ang proyekto ng elevator sa MCUXpresso IDE. Hanapin ang macro definition RT_PLATFORM sa custom.c sa ilalim ng sln_smart_tlhmi_elevator_cm4 > custom at kopyahin ang lahat ng mga linya ng code mula sa #if defined(RT_PLATFORM) hanggang #endif, at i-paste ang mga ito sa file custom.c sa ilalim ng sln_smart_tlhmi_slider_progress_cm4 > custom.
  6. Tanggalin ang mga linya ng code sa ilalim ng #else na naglalaman ng #else dahil ginagamit ang mga ito para sa elevator GUI.
    Ang mga idinagdag na linya ng code ay sumasaklaw sa mga sumusunod:
    • Ang kasama files ay ang mga sumusunod:
      Code At Resources

    • Ang variable na deklarasyon ay ang mga sumusunod:
      Code At Resources
    • Ang mga C code sa function na custom_init() ay ang mga sumusunod:
      Code At Resources
      Code At Resources
    • Ang mga C code para sa mga function na _takeLVGLMutex(), _giveLVGLMutex(), at setup_imgs() kung saan nakatakda ang mga lokasyon ng lahat ng larawan.
  7. Palitan ang mga code sa function na setup_imgs() ng mga code sa pag-setup ng lokasyon para sa mga larawan sa resource_information_table.txt file (tingnan ang Seksyon 3.3).
    Sa tala ng application na ito, mayroon lamang isang mapagkukunan ng larawan na naka-set up bilang: _scan_example_597x460.data = (base + 0); Pagkatapos gawin ito, ang function na setup_imgs() ay ipinapakita sa ibaba:
    Code At Resources
  8. Upang idagdag ang macro definition at deklarasyon ng function na nauugnay sa custom.c, baguhin ang custom.h file sa ilalim ng sln_smart_tlhmi_slider_progress_cm4 > custom, tulad ng ipinapakita sa ibaba:
    Code At Resources
  9. Upang tukuyin ang mga larawan sa iyong LVGL GUI application, baguhin ang lvgl_images_internal.h file sa ilalim ng sln_smart_tlhmi_slider_progress_cm4 > custom.
    • Buksan ang isang larawan *.c file (narito ang _scan_example_597x460.c) sa ilalim ng /generated/ image/ sa proyekto ng GUI Guider.
      Kopyahin ang kahulugan ng larawan sa dulo ng file. Idikit ito sa lvgl_images_internal.h file pagkatapos tanggalin ang lahat ng orihinal na kahulugan tungkol sa mga larawan para sa elevator app.
    • Tanggalin ang .data = _scan_example_597x460_map sa array dahil ang .data ay nakatakda sa function na setup_imgs().
      Ang array ay tinukoy sa wakas sa lvgl_images_internal.h file, tulad ng ipinapakita sa ibaba:
      Code At Resources
      Puna:
      Ulitin ang mga operasyon sa itaas para sa lahat ng larawan files isa-isa kung mayroong multi-image files.
  10. I-configure ang kabuuang sukat ng mapagkukunan ng larawan sa pamamagitan ng pagtukoy sa macro definition na APP_LVGL_IMGS_SIZE sa app_config.h file sa ilalim ng sln_smart_tlhmi_slider_progress_cm7 > source na may bagong laki ng mga larawan.
    Available ang bagong laki na ito sa built resource resource_information_table.txt file.

Magdagdag ng mga HAL device at configuration
Batay sa framework architecture, dalawang HAL device (display at output device) ang idinisenyo para sa LVGL GUI application.
Magkaiba ang mga pagpapatupad ng dalawang device depende sa iba't ibang LVGL GUI application kahit na may mga karaniwang disenyo ng arkitektura para sa kanila.
Ang mga ito ay ipinatupad nang hiwalay sa dalawa files.
Samakatuwid, dapat itong i-clone ang dalawa filemula sa kasalukuyang elevator application at baguhin ang iyong LVGL GUI application.
Pagkatapos, paganahin ang iyong mga device sa configuration file.
Ang iyong LVGL GUI application ay binuo sa matalinong HMI platform batay sa framework.

Ang mga detalyadong pagbabago ay maaaring gawin sa MCUXpresso IDE, tulad ng ipinapakita sa ibaba:

  • Ipatupad ang display HAL device
    1. Kopyahin at i-paste ang hal_display_lvgl_elevator.c file sa ilalim ng pangkat na sln_smart_tlhmi_slider_progress_cm4 > framework > hal > display sa MCUXpresso project. Palitan ang pangalan nito sa hal_display_lvgl_sliderprogress.c para sa iyong aplikasyon.
    2. Buksan ang file hal_display_lvgl_sliderprogress.c at palitan ang lahat ng mga string na "elevator" ng iyong application string na "SliderProgress" sa file.
  • Ipatupad ang output HAL device
    1. Kopyahin at idikit ang hal_output_ui_elevator.c file sa ilalim ng pangkat na sln_smart_tlhmi_slider_progress_cm4 > framework > hal > output sa MCUXpresso project. Palitan ang pangalan nito sa hal_output_ui_sliderprogress.c para sa iyong aplikasyon.
    2. Buksan ang file hal_output_ui_sliderprogress.c. Alisin ang lahat ng function na nauugnay sa elevator application maliban sa mga sumusunod na pangunahing karaniwang function ng HAL device:
      HAL_OutputDev_UiElevator_Init();
      HAL_OutputDev_UiElevator_Deinit();
      HAL_OutputDev_UiElevator_Start();
      HAL_OutputDev_UiElevator_Stop();
      HAL_OutputDev_UiElevator_InferComplete();
      HAL_OutputDev_UiElevator_InputNotify();
      Bilang karagdagan, ireserba ang mga deklarasyon ng dalawang function sa ibaba:
      APP_OutputDev_UiElevator_InferCompleteDecode();
      APP_OutputDev_UiElevator_InputNotifyDecode();
    3. Linisin ang function na HAL_OutputDev_UiElevator_InferComplete() para sa pagbuo ng iyong application sa ibang pagkakataon.
      Sa function, alisin ang parehong function na tawag _InferComplete_Vision() at _InferComplete_Voice() na ginagamit para sa paghawak ng mga resulta mula sa vision at voice algorithm para sa elevator application.
    4. Linisin ang function na HAL_OutputDev_UiElevator_InputNotify() at panatilihin ang pangunahing arkitektura para sa karagdagang pagbuo ng application.
      Sa wakas, ang function ay ganito ang hitsura:
      Code At Resources
    5. Alisin ang lahat ng mga deklarasyon ng variable, kabilang ang enum at array, maliban sa mga s_UiSurface at s_AsBuffer[] na ginagamit para sa mga karaniwang pagpapatupad.
    6. Palitan ang lahat ng string na “elevator” ng iyong application string na “SliderProgress”.
  • Paganahin at i-configure ang parehong mga HAL device
    1. Buksan ang board_define.h file sa ilalim ng sln_smart_tlhmi_slider_progress_cm4 > board.
      Palitan ang lahat ng mga string na "elevator" ng iyong application string na "SliderProgress" sa file.
      Pinapagana at kino-configure nito ang display at output na mga HAL device sa pamamagitan ng mga kahulugang ENABLE_DISPLAY_DEV_LVGLSliderProgress at ENABLE_OUTPUT_DEV_UiSliderProgress.
    2. Buksan ang lvgl_support.c file sa ilalim ng sln_smart_tlhmi_slider_progress_cm4 > board. Palitan ang lahat ng mga string na "elevator" ng iyong application string na "SliderProgress" sa file.
      Ito ay nagbibigay-daan sa camera preview sa GUI sa antas ng display driver.
  • Irehistro ang parehong HAL device
    Buksan ang pangunahing M4 sln_smart_tlhmi_cm4.cpp file sa ilalim ng sln_smart_tlhmi_slider_progress_cm4 > source.
    Palitan ang lahat ng mga string na "elevator" ng iyong application string na "SliderProgress" sa file.
    Nirerehistro nito ang display at output na HAL device para sa iyong aplikasyon sa halip na ang elevator application.
    Samakatuwid, ang pagsasama ay nakumpleto para sa pagpapatakbo ng pangunahing LVGL GUI application sa smart HMI.
    Depende sa higit pang mga kinakailangan para sa aplikasyon, maaaring magdagdag ng higit pang mga pagpapatupad batay sa pinagsama-samang pangunahing aplikasyon.

Pagpapakita

Ang "slider_progress" na application demo ay ipinatupad kasama ng application note na ito.

Pagkatapos i-unzip ang demo software package, ilagay ang nasa ibaba files at folder sa smart HMI software:

  • Ang file hal_display_lvgl_sliderprpgress.c sa ilalim ng [demo]\framework\hal\display\ sa landas [smart HMI]\framework\hal\display\
  • Ang file hal_output_ui_slider_progress.c sa ilalim ng [demo]\framework\hal\output\ sa landas [smart HMI]\framework\hal\output\
  • Ang folder na "slider_progress" sa root path ng [smart HMI]\
    Maaaring buksan ang mga proyekto sa MCUXpresso IDE, tulad ng coffee machine/elevator app na ipinakita sa smart HMI platform.
    Pagkatapos ng programming ang built *.axf file sa address na 0x30100000 at sa resource binary file sa address na 0x30700000, ang LVGL GUI demo ay maaaring matagumpay na tumakbo sa smart HMI development board (tingnan ang Figure 3 para sa screen display).
    Tandaan: Kung gumagamit ng v1.7.0 ng MCUXpresso IDE, paganahin ang “Pamahalaan ang script ng link” sa Setting > MCU C++ Linker > Managed Linker Script bago buuin ang CM4 project.
    Figure 3. LVGL GUI demo display sa smart HMI development board
    Demo Display

Kasaysayan ng rebisyon

Ang kasaysayan ng rebisyon ay nagbubuod ng mga pagbabago sa dokumentong ito.

Talahanayan 1. Kasaysayan ng rebisyon

Numero ng rebisyon Petsa Mga makabuluhang pagbabago
1 16 Hunyo 2023 Paunang paglabas

Tandaan ang tungkol sa source code sa dokumento

ExampAng code na ipinapakita sa dokumentong ito ay may sumusunod na copyright at lisensya ng BSD-3-Clause:
Copyright 2023 NXP Redistribution at paggamit sa source at binary forms, mayroon man o walang pagbabago, ay pinahihintulutan sa kondisyon na ang mga sumusunod na kundisyon ay natutugunan:

  1. Dapat panatilihin ng mga muling pamamahagi ng source code ang abiso sa copyright sa itaas, ang listahang ito ng mga kundisyon at ang sumusunod na disclaimer.
  2. Ang mga muling pamamahagi sa binary na anyo ay dapat na kopyahin ang abiso sa copyright sa itaas, ang listahang ito ng mga kundisyon at ang sumusunod na disclaimer sa dokumentasyon at/o iba pang mga materyales ay dapat ibigay kasama ng pamamahagi.
  3. Ni ang pangalan ng may-ari ng copyright o ang mga pangalan ng mga nag-ambag nito ay maaaring gamitin upang i-endorso o i-promote ang mga produktong nagmula sa software na ito nang walang tiyak na paunang nakasulat na pahintulot.

ANG SOFTWARE NA ITO AY IBINIBIGAY NG MGA NAGHAWA NG COPYRIGHT AT MGA CONTRIBUTOR "AS IS" AT ANUMANG TAHAS O IPINAHIWATIG NA WARRANTY, KASAMA, NGUNIT HINDI LIMITADO SA, ANG MGA IPINAHIWATIG NA WARRANTY NG KALIDAD AT KAANGKUPAN PARA SA ISANG PARTIKULAR NA LAYUNIN.
KAHIT KAHIT KAHIT KAHIT KAHIT KAHIT KAHIT KAHIT KAHIT KAHIT ANANG MANANAGOT ANG NAGHAWAK NG COPYRIGHT O MGA CONTRIBUTOR PARA SA ANUMANG DIREKTA, DI DIREKTA, NAGSASAMA, ESPESYAL, HALIMBAWA, O KINAHIHINUNGANG MGA PINSALA (KASAMA, PERO HINDI LIMITADO SA, PAGBIBIGAY NG KAPALIT NA KALANDAAN, MGA SERBISYO; D, MGA SERBISYO; D. O PAG-ALAM SA NEGOSYO) GAANO MAN ANG SANHI AT SA ANUMANG TEORYA NG PANANAGUTAN, KUNG SA KONTRATA, MAHIGPIT NA PANANAGUTAN, O TORT (KASAMA ANG PAGPAPABAYA O IBA PA) NA NAGMULA SA ANUMANG PARAAN NG PAGGAMIT NG SOFTWARE NA ITO, KAHIT NA SUCHPOSIBILED.
PINSALA.

Legal na impormasyon

Mga Kahulugan
Draft:
Ang isang draft na status sa isang dokumento ay nagpapahiwatig na ang nilalaman ay nasa ilalim pa rin ng panloob na review at napapailalim sa pormal na pag-apruba, na maaaring magresulta sa mga pagbabago o karagdagan.
Ang NXP Semiconductor ay hindi nagbibigay ng anumang mga representasyon o warranty tungkol sa katumpakan o pagkakumpleto ng impormasyong kasama sa isang draft na bersyon ng isang dokumento at walang pananagutan para sa mga kahihinatnan ng paggamit ng naturang impormasyon.

Mga Disclaimer
Limitadong warranty at pananagutan: Ang impormasyon sa dokumentong ito ay pinaniniwalaang tumpak at maaasahan.
Gayunpaman, ang NXP Semiconductor ay hindi nagbibigay ng anumang mga representasyon o warranty, ipinahayag o ipinahiwatig, tungkol sa katumpakan o pagkakumpleto ng naturang impormasyon at walang pananagutan para sa mga kahihinatnan ng paggamit ng naturang impormasyon.
Ang NXP Semiconductor ay walang pananagutan para sa nilalaman sa dokumentong ito kung ibinigay ng isang mapagkukunan ng impormasyon sa labas ng NXP Semiconductor.
Sa anumang pagkakataon ay mananagot ang NXP Semiconductors para sa anumang hindi direkta, incidental, punitive, espesyal o kinahinatnang pinsala (kabilang ang - nang walang limitasyon - nawalang kita, nawalang ipon, pagkagambala sa negosyo, mga gastos na nauugnay sa pagtanggal o pagpapalit ng anumang mga produkto o mga singil sa muling paggawa) kung o hindi ang mga naturang pinsala ay batay sa tort (kabilang ang kapabayaan), warranty, paglabag sa kontrata o anumang iba pang legal na teorya.
Sa kabila ng anumang pinsala na maaaring makuha ng customer sa anumang dahilan, ang pinagsama-samang pananagutan ng NXP Semiconductor at pinagsama-samang pananagutan sa customer para sa mga produktong inilarawan dito ay dapat na limitado alinsunod sa Mga Tuntunin at kundisyon ng komersyal na pagbebenta ng NXP Semiconductors.

Karapatan na gumawa ng mga pagbabago: Inilalaan ng NXP Semiconductor ang karapatang gumawa ng mga pagbabago sa impormasyong nai-publish sa dokumentong ito, kasama ang walang limitasyong mga detalye at paglalarawan ng produkto, anumang oras at nang walang abiso.
Pinapalitan at pinapalitan ng dokumentong ito ang lahat ng impormasyong ibinigay bago ang paglalathala nito.

Angkop para sa paggamit: Ang mga produkto ng NXP Semiconductors ay hindi idinisenyo, pinapahintulutan o ginagarantiyahan na angkop para sa paggamit sa suporta sa buhay, mga sistema o kagamitan na kritikal sa buhay o kritikal sa kaligtasan, o sa mga aplikasyon kung saan ang pagkabigo o malfunction ng isang produkto ng NXP Semiconductor ay maaaring makatwirang inaasahan na magreresulta sa personal pinsala, kamatayan o matinding pag-aari o pinsala sa kapaligiran.
Ang NXP Semiconductor at ang mga supplier nito ay hindi tumatanggap ng pananagutan para sa pagsasama at/o paggamit ng mga produkto ng NXP Semiconductor sa naturang kagamitan o aplikasyon at samakatuwid ang nasabing pagsasama at/o paggamit ay nasa sariling peligro ng customer.

Mga Application: Ang mga application na inilalarawan dito para sa alinman sa mga produktong ito ay para sa mga layuning panglarawan lamang.
Ang NXP Semiconductor ay hindi gumagawa ng representasyon o warranty na ang mga naturang application ay magiging angkop para sa tinukoy na paggamit nang walang karagdagang pagsubok o pagbabago.
Responsable ang mga customer para sa disenyo at pagpapatakbo ng kanilang mga application at produkto gamit ang mga produkto ng NXP Semiconductors, at walang pananagutan ang NXP Semiconductor para sa anumang tulong sa mga application o disenyo ng produkto ng customer.
Nag-iisang responsibilidad ng customer na tukuyin kung ang produkto ng NXP Semiconductors ay angkop at akma para sa mga aplikasyon at produktong pinlano ng customer, gayundin para sa nakaplanong aplikasyon at paggamit ng (mga) customer ng third party.
Dapat magbigay ang mga customer ng naaangkop na disenyo at mga pananggalang sa pagpapatakbo upang mabawasan ang mga panganib na nauugnay sa kanilang mga aplikasyon at produkto.
Ang NXP Semiconductor ay hindi tumatanggap ng anumang pananagutan na may kaugnayan sa anumang default, pinsala, gastos o problema na nakabatay sa anumang kahinaan o default sa mga aplikasyon o produkto ng customer, o sa aplikasyon o paggamit ng (mga) third party na customer ng customer.
Responsibilidad ng Customer ang paggawa ng lahat ng kinakailangang pagsubok para sa mga application at produkto ng customer gamit ang mga produkto ng NXP Semiconductors upang maiwasan ang default ng mga application at mga produkto o ng application o paggamit ng (mga) customer ng third party ng customer. Ang NXP ay hindi tumatanggap ng anumang pananagutan sa bagay na ito

Mga tuntunin at kundisyon ng komersyal na pagbebenta: Ang mga produkto ng NXP Semiconductors ay ibinebenta alinsunod sa mga pangkalahatang tuntunin at kundisyon ng komersyal na pagbebenta, gaya ng inilathala sa http://www.nxp.com/profile/terms, maliban kung napagkasunduan sa isang wastong nakasulat na indibidwal na kasunduan.
Kung sakaling ang isang indibidwal na kasunduan ay natapos lamang ang mga tuntunin at kundisyon ng kaukulang kasunduan ang dapat ilapat.
Ang NXP Semiconductors ay tahasang tumututol sa paglalapat ng mga pangkalahatang tuntunin at kundisyon ng customer patungkol sa pagbili ng mga produkto ng NXP Semiconductors ng customer.

Kontrol sa pag-export: Ang dokumentong ito pati na rin ang (mga) item na inilalarawan dito ay maaaring sumailalim sa mga regulasyon sa pagkontrol sa pag-export.
Maaaring mangailangan ng paunang awtorisasyon ang pag-export mula sa mga karampatang awtoridad.

Angkop para sa paggamit sa mga produktong hindi kwalipikadong automotive: Maliban kung ang data sheet na ito ay malinaw na nagsasaad na ang partikular na produkto ng NXP Semiconductors ay automotive qualified, ang produkto ay hindi angkop para sa automotive na paggamit.
Hindi ito qualified o nasubok alinsunod sa automotive testing o application requirements. Ang NXP Semiconductor ay hindi tumatanggap ng pananagutan para sa pagsasama at/o paggamit ng mga hindi automotive na kwalipikadong produkto sa automotive na kagamitan o mga application.
Kung sakaling gamitin ng customer ang produkto para sa pagdidisenyo at paggamit sa mga automotive na application sa mga detalye at pamantayan ng sasakyan, dapat gamitin ng customer (a) ang produkto nang walang warranty ng produkto ng NXP Semiconductor para sa mga naturang automotive na aplikasyon, paggamit at mga detalye, at ( b) sa tuwing gagamitin ng customer ang produkto para sa mga automotive na application na lampas sa mga detalye ng NXP Semiconductor ang naturang paggamit ay nasa sariling peligro lamang ng customer, at (c) ganap na binabayaran ng customer ang NXP Semiconductor para sa anumang pananagutan, pinsala o nabigong mga claim sa produkto na nagreresulta mula sa disenyo at paggamit ng customer ng ang produkto para sa mga automotive application na lampas sa karaniwang warranty ng NXP Semiconductor at mga detalye ng produkto ng NXP Semiconductor.

Mga pagsasalin: Ang isang hindi Ingles (naisalin) na bersyon ng isang dokumento, kasama ang legal na impormasyon sa dokumentong iyon, ay para sa sanggunian lamang.
Ang Ingles na bersyon ay mananaig sa kaso ng anumang pagkakaiba sa pagitan ng isinalin at Ingles na bersyon.

Seguridad: Nauunawaan ng customer na ang lahat ng produkto ng NXP ay maaaring sumailalim sa hindi natukoy na mga kahinaan o maaaring suportahan ang mga itinatag na pamantayan sa seguridad o mga detalye na may alam na mga limitasyon.
Responsable ang Customer para sa disenyo at pagpapatakbo ng mga application at produkto nito sa kabuuan ng kanilang mga lifecycle upang mabawasan ang epekto ng mga kahinaang ito sa mga application at produkto ng customer.
Ang responsibilidad ng customer ay umaabot din sa iba pang bukas at/o pagmamay-ari na teknolohiya na sinusuportahan ng mga produkto ng NXP para gamitin sa mga aplikasyon ng customer.
Ang NXP ay hindi tumatanggap ng pananagutan para sa anumang kahinaan.
Dapat na regular na suriin ng customer ang mga update sa seguridad mula sa NXP at mag-follow up nang naaangkop.
Ang customer ay dapat pumili ng mga produkto na may mga tampok na panseguridad na pinakamahusay na nakakatugon sa mga panuntunan, regulasyon, at pamantayan ng nilalayon na aplikasyon at gagawa ng mga pinakahuling desisyon sa disenyo patungkol sa mga produkto nito at tanging responsable para sa pagsunod sa lahat ng legal, regulasyon, at mga kinakailangan na nauugnay sa seguridad tungkol sa mga produkto nito, anuman ang ng anumang impormasyon o suporta na maaaring ibigay ng NXP.
Ang NXP ay mayroong Product Security Incident Response Team (PSIRT) (maaabot sa PSIRT@nxp.com) na namamahala sa pagsisiyasat, pag-uulat, at pagpapalabas ng solusyon sa mga kahinaan sa seguridad ng mga produkto ng NXP.

NXP BV: Ang NXP BV ay hindi isang operating company at hindi ito namamahagi o nagbebenta ng mga produkto.

Mga trademark

Paunawa: Ang lahat ng mga reference na brand, pangalan ng produkto, pangalan ng serbisyo, at trademark ay pag-aari ng kani-kanilang mga may-ari.
NXP: Ang wordmark at logo ay mga trademark ng NXP BV
i.MX: ay isang trademark ng NXP BV

SUPORTA NG CUSTOMER

Para sa karagdagang impormasyon, mangyaring bisitahin ang: http://www.nxp.com
Logo.png

Mga Dokumento / Mga Mapagkukunan

NXP AN13948 Pagsasama ng LVGL GUI Application sa Smart HMI Platform [pdf] User Manual
AN13948 Pagsasama ng LVGL GUI Application sa Smart HMI Platform, AN13948, Pagsasama ng LVGL GUI Application sa Smart HMI Platform

Mga sanggunian

Mag-iwan ng komento

Ang iyong email address ay hindi maipa-publish. Ang mga kinakailangang field ay minarkahan *