NXP AN14263 Mejuputa LVGL GUI Ihu na Framewor
Ozi ngwaahịa
Nkọwapụta
- Aha ngwaahịa: Nchọpụta ihu LVGL GUI na Framework
- Ndozigharị akwụkwọ: Eprel 1-19, 2024
- Okwu: Nchọpụta ihu, LVGL GUI, Framework
Ntuziaka ojiji ngwaahịa
- gafereview
Ngwaahịa a na-enyere AI&ML ọhụụ algọridim nlereanya maka njirimara ihu na usoro iji mejuputa ọrụ njirimara ihu na LVGL GUI ex dị mfe.ample na bọọdụ SLN-TLHMI-IOT. - Framework gafereview
Emebere sọftụwia ihe ngwọta n'akụkụ ụkpụrụ ụlọ nke gụnyere ndị na-ahụ maka ngwaọrụ maka ijikwa ngwaọrụ, ngwaọrụ HAL iji kọwaa nkọwa dị n'okpuru, yana mmemme maka nkwukọrịta n'etiti ngwaọrụ dị iche iche. - Atụmatụ
Ngwaahịa ahụ na-enye ohere maka mmejuputa ọrụ njirimara ihu site na tupu igwefotoview na ihuenyo GUI nwere bọtịnụ iji kpalite ndebanye aha, njirimara na iwepụ ihu. A na-echekwa data ihu edebanyere aha na Flash site na a file usoro. - Ọdịnaya ndetu ngwa
Ihe ndetu ngwa ahụ na-egosi ihuenyo LVGL GUI nwere igwefoto tupuview na bọtịnụ maka omume metụtara ihu. Ọ na-enyere ndị mmepe aka ịghọta usoro na otu esi emejuputa ihu ihu site na iji ex nyereample.
gafereview
NXP ewepụtala ngwa mmepe ihe ngwọta aha ya bụ SLN-TLHMI-IOT nke na-elekwasị anya na ngwa HMI smart. Ọ na-eme ka smart HMI nwee ọhụụ ML, olu, na eserese UI etinyere n'otu NXP i.MX RT117H MCU. Dabere na SDK, a na-ewu ngwanrọ ngwọta na nhazi a na-akpọ framework nke na-akwado atụmatụ mgbanwe na nhazi nke ọhụụ na ọrụ olu. Iji nyere ndị ọrụ aka iji sọftụwia sọftụwia nke ọma, ewepụtara ụfọdụ akwụkwọ ndị bụ isi, maka example, ntuziaka onye ọrụ mmepe ngwanrọ. Ntuziaka ahụ na-ewebata nhazi ngwanrọ na nhazi nke ngwa ndị ahụ na-ekpuchi akụkụ niile nke ngwọta gụnyere usoro iji nyere ndị mmepe aka ngwa ngwa na nke ọma mejuputa ngwa ha site na iji SLN-TLHMI-IOT.
Maka nkọwa ndị ọzọ gbasara ngwọta na akwụkwọ ndị dị mkpa, gaa na web ibe nke NXP EdgeReady Smart HMI Solution Dabere na i.MX RT117H na ML Vision, Voice, and Graphical UI. Agbanyeghị, ọ naghị adị mfe maka ndị mmepe imejuputa ngwa HMI smart ha na-ezo aka na ntuziaka ndị a bụ isi. A na-eme atụmatụ ndetu ngwa ngwa dị iche iche iji nyere aka n'ịmụ mmepe na nhazi usoro site na nzọụkwụ. Ihe ndetu ngwa a dabere na Implement LVGL GUI Camera Preview na Framework (akwụkwọ AN14147). Ihe ndetu ngwa a na-akọwa otu esi eme ka ihe atụ AI&ML ọhụụ algorithm maka njirimara ihu na usoro iji mejuputa ọrụ njirimara ihu site na tupu igwefoto.view na ihuenyo GUI nwere LVGL GUI dị mfe example na bọọdụ SLN-TLHMI-IOT. Na ndetu ngwa, example na-eweta ihuenyo LVGL GUI nwere igwefoto tupuview na ụfọdụ bọtịnụ iji kpalite ndebanye aha, nnabata na mwepụ ihu. A na-echekwa data ihu edebanyere aha na Flash site na ntakịrị file usoro.
N'ọkwa dị elu, ndetu ngwa ahụ nwere ọdịnaya ndị a:
- Kwado njirimara ihu n'usoro.
- Tinye nkwado nchekwa data ihu n'usoro site na file Sistemụ na Flash.
- Tinye ngwa LVGL GUI. Site na mmalite mmalite ndị a dị n'elu, akwụkwọ a na-enyere ndị mmepe aka:
- Ghọta usoro na smart HMI ngwọta software nke ukwuu.
- Jiri ngwa LVGL GUI wulite ihu AI&ML ha n'usoro.
Framework agwụlaview
A haziri sọftụwia ihe ngwọta nke ọma site n'iji usoro ihe owuwu nke mejupụtara ọtụtụ akụkụ dị iche iche:
- Ndị njikwa ngwaọrụ – akụkụ bụ isi
- Ngwaọrụ Abstraction Layer (HAL).
- Ozi/Mmemme
Dị ka e gosiri na foto 1, n'ofeview Usoro nke usoro ahụ bụ:
Ndị njikwa ngwaọrụ na-ahụ maka ijikwa ngwaọrụ ndị sistemụ na-eji. Ụdị ngwaọrụ ọ bụla (ntinye, mmepụta na ihe ndị ọzọ) nwere ụdị njikwa ngwaọrụ nke ya. Na a ngwaọrụ njikwa malite mgbe ngwaọrụ na-aha na ya, ọ na-echere na-elele a ozi nyefee data na ngwaọrụ na ndị ọzọ njikwa mgbe initializing na malite na aha ngwaọrụ. Edere ngwaọrụ HAL n'elu koodu ọkwọ ụgbọ ala dị ala, na-enyere aka ịbawanye nghọta koodu site n'iwepụ ọtụtụ nkọwa dị n'okpuru.
Ihe omume bụ ụzọ e si ezigara ozi n'etiti ngwaọrụ dị iche iche site na ndị njikwa ha. Mgbe ihe omume malitere, ngwaọrụ natara ihe omume ahụ na-agwa onye njikwa ya ihe omume ahụ, mgbe ahụ ọ na-agwa ndị njikwa ndị ọzọ ahọpụtara ịnata mmemme ahụ.
Nhazi ụkpụrụ ụlọ nke usoro ahụ gbadoro ụkwụ na ebumnuche atọ bụ isi:
- Ọ dị mfe iji
- Mgbanwe/Nnwere ike
- Arụmọrụ
Emebere usoro a na ebumnuche nke ime ngwa ngwa n'ahịa maka ọhụụ na ngwa mmụta igwe ndị ọzọ. Iji hụ na oge dị ngwa maka ịzụ ahịa, ọ dị oke mkpa na ngwanrọ n'onwe ya dị mfe nghọta na gbanwee. N'iburu ihe mgbaru ọsọ a n'uche, ihe owuwu nke usoro ahụ dị mfe iji gbanwee n'enweghị ihe mgbochi, na-abịaghị na ọnụ ahịa arụmọrụ.
Maka nkọwa ndị ọzọ gbasara usoro a, lee Smart HMI Software Development User Guide (akwụkwọ MCU-SMHMI-SDUG).
Ọbá akwụkwọ eserese dị ọkụ na nke na-agbanwe agbanwe (LVGL)
LVGL (Light and Versatile Graphics Library) bụ ọbá akwụkwọ eserese mepere emepe na-enye ihe niile ịchọrọ iji mepụta GUI agbakwunyere nwere ihe eserese dị mfe iji, mmetụta visual mara mma yana akara ala ebe nchekwa dị ala.
Onye ndu GUI
GUI Guider bụ ngwa ọrụ mmepe ihe osise eserese nke onye ọrụ sitere na NXP nke na-enyere aka mmepe ngwa ngwa nke ngosipụta dị elu yana ọba akwụkwọ eserese LVGL mepere emepe. Onye nchịkọta akụkọ ịdọrọ na dobe nke GUI na-eme ka ọ dị mfe iji ọtụtụ atụmatụ LVGL dị ka wijetị, ihe ngosi na ụdị iji mepụta GUI na-enwe ntakịrị ma ọ bụ enweghị koodu ọ bụla.
Site na ịpị bọtịnụ, ị nwere ike ịme ngwa gị na gburugburu ebe a na-emepụta ihe ma ọ bụ bupụ ya na ọrụ ezubere iche. Enwere ike ịgbakwunye koodu sitere na GUI Guider n'ụzọ dị mfe na ọrụ gị, na-eme ka usoro mmepe ahụ dịkwuo ngwa ma na-enye gị ohere itinye ngwa ngwa onye ọrụ agbakwunyere n'enweghị nsogbu. GUI Guider nweere onwe ya iji ya na ebumnuche NXP n'ozuzu yana crossover MCUs yana gụnye ndebiri arụ ọrụ arụnyere maka ọtụtụ nyiwe akwadoro. Iji mụtakwuo maka mmepe LVGL na GUI na GUI Guider, lelee Ọbá akwụkwọ ihe osise na Ìhè na Versatile na GUI Guider.
gburugburu mmepe
Nke mbụ, dozie ma guzobe ebe ngwaike na ngwanrọ maka imejuputa example na framework.
gburugburu ngwaike
Edobere gburugburu ngwaike maka ịlele exampLe:
- Ngwa mmepe smart HMI dabere na NXP i.MX RT117H (ihe SLN_TLHMI_IOT)
- SEGGER J-Link nwere ihe nkwụnye Cortex-M 9-pin yana V7.84a ma ọ bụ ụdị ọkwọ ụgbọ ala ọhụrụ.
gburugburu software
Edobere gburugburu sọftụwia maka ịzụlite exampLe:
- MCUXpresso IDE V11.7.0
- Onye ndu GUI V1.6.1-GA
- lvgl_gui_camera_preview_cm7 - example koodu nke abụọ ngwa ndetu dị ka ndabere software nke mmepe. Maka nkọwa, hụ https://mcuxpresso.nxp.com/appcodehub.
- RT1170 SDK V2.13.0 - dị ka koodu akụ maka mmepe.
- SLN-TLHMI-IOT software V1.1.2 - smart HMI koodu isi mmalite ewepụtara na NXP GitHub nchekwa dị ka koodu akụ maka mmepe. Maka nkọwa, hụ: GitHub – NXP/mcu-smhmi na v1.1.2
Maka nkọwa gbasara nnweta na nhazi nke gburugburu ngwanrọ, hụ: Malite na SLN-TLHMI-IOT.
Ọhụụ ije na kpuchie
E gosipụtara ihe owuwu ọhụụ na nhazi ahụ na eserese 2. Ọhụụ algo HAL (OASIS_HAL) nwere usoro ndị a:
- Mee ndebanye aha na nnabata ihu site na ụdị AI&ML ọhụụ algọridim mgbe ị nwetachara ihe omume ndị metụtara ya na mmepụta UI HAL. Gwa nsonaazụ ntinye sitere na usoro algọridim gaa na UI HAL mmepụta.
- Nweta (gbakwunye, hichapụ…) nchekwa data njirimara ihu dabere na ntakịrị file usoro site na ịkpọ API nke FaceDB HAL mgbe ị nwetasịrị ihe omume ndị metụtara ya na mmepụta UI HAL.
- Rịọ etiti vidiyo igwefoto site na HAL igwefoto mgbe ị na-eme ndebanye aha na njirimara ihu.
Tinye njirimara ihu n'usoro
LVGL GUI ihu ihu example (example na-nyere mgbe e mesịrị) na framework na-emejuputa atumatu dabere na exampKoodu nke Mejuputa igwefoto LVGL GUI Preview na Framework (akwụkwọ AN14147).
Maka igosipụta njirimara ihu na example, a haziri ọrụ bụ isi nke ngwa GUI (lee ihuenyo bụ isi na eserese 3) dị ka akọwara n'okpuru:
- Ngwa GUI na-ebute ndebanye aha ihu ma ọ bụ emume nnabata na UI HAL mmepụta mgbe ịpị bọtịnụ Ndebanye aha ma ọ bụ nnabata. Na mmepụta UI HAL na-ekwupụta ihe omume nke ịgbakwunye onye ọrụ na ọhụụ algo HAL mgbe ndebanye aha ihu gachara.
- Ngwa GUI na-akpalite ihe omume nke ihichapụ onye ọrụ na mmepụta UI HAL mgbe ịpị bọtịnụ Hichapụ onye ọrụ mgbe amarachara ihu onye ọrụ.
- Ngwa GUI na-akpalite ihe omume ịkwụsị oasis algo na-agba ọsọ na mmepụta UI HAL mgbe ịpị ihuenyo na mpụga bọtịnụ na onyonyo.
Kwadebe ngwugwu ngwanrọ maka mmejuputa nke example.
- Mechie isi software lvgl_gui_camera_preview_cm7. Gbanwee aha oru ngo na isi fileaha lvgl_gui_face_rec_cm7.
- Ọ dị mkpa ka emelite usoro ahụ na ngwanrọ dị ka koodu isi mmalite maka isi ihe amalitela ịbụ ọha na eze na GitHub site na ụdị 1.1.2.
- Dochie folda etiti ahụ na nnomi nke V1.1.2 sitere na GitHub ma ewezuga nke files fwk_log.h na fwk_common.h n'okpuru inc ka emeziri ha maka usoro ndetu ngwa. E gosipụtara arụmọrụ a na foto 4:
- Hichapụ nchekwa framework_cm7 n'okpuru otu libs wee wepu framework_cm7 na ụzọ ọchụchọ ya ahaziri na Project> Njirimara> C/C ++ Mee> ntọala> Ntọala ngwaọrụ> MCU C ++ Linker> Ọbá akwụkwọ ebe ọ bụ na enyere koodu isi mmalite.
Kwado njirimara ihu n'usoro
Ewubere njiri mara ihu na ụdị algọridim nke ML nke enyere dị ka ọbaakwụkwọ kwụ ọtọ – ọbá akwụkwọ oasis lite runtime site n'aka NXP. Ọbá akwụkwọ ahụ bụ obere, na-arụ ọrụ nke ọma, ahaziri ya na ọbá akwụkwọ AI kachasị mma. Ụdị ahụ gụnyere nchọpụta ihu, njirimara ihu, nchọpụta iko, na nchọpụta ndụ. Ọ na-enye API OASISLT_run_extended () iji mee pipeline njirimara ihu ka ọ na-emelite nsonaazụ nye onye na-akpọ oku site na ịkpọghachi ihe omume, wee tinye / melite / hichapụ ihu na nchekwa data site na oku oku nchekwa data ihu mgbe ezipụtachara ozi etiti, oku azụ na ebe nchekwa. ọdọ mmiri nke ọbá akwụkwọ na-eji site na ịkpọ API OASISLT_init() ọzọ na mbido. A na-emejuputa oku nke API na ọrụ oku na-arụ ọrụ na ọhụụ algo HAL nke framework.
Tinye ọbá akwụkwọ ọhụụ algo nlereanya
- Detuo nchekwa oasis nke nwere ọbaakwụkwọ yana nkụnye eji isi mee ihe metụtara ya file si smart HMI \coffee_machine \ cm7 \ libs \ n'ime nchekwa libs nke ex.ampna SW.
- Tinye ụzọ ọchụchọ nke nkụnye eji isi mee file na Project> Njirimara> C/C++ Mee> ntọala> Ntọala ngwaọrụ> MCU C compiler> Gụnyere na MCU C++ compiler> Gụnyere: "${workspace_loc:/${ProjName}/libs/oasis/include}"
- Tinye lib na ụzọ ọchụchọ ya na Project> Njirimara> C/C++ Mee> ntọala> MCU C+ + Linker> Ọbá akwụkwọ: liboasis_lite2D_DEFAULT_117f_ae.a “${workspace_loc:/${ProjName}/libs/oasis}” na nkọwa macro ka mee ka atụmatụ ahụ dị na Project> Njirimara> C / C ++ Mee> ntọala> Ntọala ngwaọrụ> MCU C compiler> Preprocessor na MCU C ++ compiler> Preprocessor: SMART_TLHMI_2D
Kwado ọhụụ algo HAL
Ọhụụ algo HAL na-eme ka ihe ngosi algo na-arụ ọrụ ma na-aza nsonaazụ na UI mmepụta HAL mgbe ọ nwetasịrị ihe omume site na ya.
Iji mee ya, mechie onye ọkwọ ụgbọ ala HAL dị adị file Ebe etinyere ọrụ ndị a:
- Mejuputa nkwụghachi azụ nke arụmọrụ nchekwa data ihu yana njikwa mmemme.
- Bugharịa algo ọhụụ ka ọ rụọ ọrụ site na ịkpọ API nke ọba akwụkwọ oasis.
- Nweta nchekwa data ihu onye ọrụ na nchekwa data ngwa (ọ dịghị mkpa na example).
- Nweta mmemme site na ma zipụ nsonaazụ na UI HAL.
Ndị isi na-arụ ọrụ iji mejuputa HAL maka exampndị bụ:
- Mechie onye ọkwọ ụgbọ ala HAL dị adị file ma gbanwee aha ndị metụtara ya.
- Wepu koodu ndị metụtara ọrụ data ngwa.
- Melite nkọwa na ọrụ maka ijikwa mmemme sitere na mmepụta UI HAL kwa exampimewe.
- Tinye nhazi achọrọ na mmalite oasis.
Usoro zuru ezu dị ka n'okpuru:
- Clone hal_vision_algo_oasis_coffeemachine.c. Gbanwee fileaha hal_vision_algo_oasis_guifacerec.c. Ma dochie eriri niile CoffeeMachine na GUIFAceRec na file.
- Wepu koodu ndị nwere eriri coffeedb (anaghị enwe mmetụta) metụtara nchekwa data ngwa, maka example, #gụnyere hal_sln_coffeedb.h.
- Gbanwee ọrụ HAL_VisionAlgoDev_OasisGUIFAceRec_InputNotify() maka ijikwa mmemme sitere na UI HAL mmepụta.
- Gbanwee nkọwa mmemme kEventFaceRecId_RegisterCoffeeNhọrọ ka ọ bụrụ kEventFaceRecId_RegisterUserFace na usoro nhazi regCoffeeSelection ka ọ bụrụ regGUIFAceRec maka njikwa mmemme ịgbakwunye data njirimara ihu ọhụrụ na nchekwa data.
- Iji gosi usoro ọkọlọtọ nke omume njirimara ihu na example, gbanwee njikwa n'ihe gbasara kEventFaceRecID_OasisSetState na nkọwa nke steeti:
- kOASISliteState
- Ndebanye aha kOASISliteState
- Nkwenye kOASISliteState
- Akwụsịla
- Tinye ma gbanwee nkọwa nke ihe omume ndị a kpọtụrụ aha na nzọụkwụ dị n'elu.
- Detuo nkụnye eji isi mee file smart_tlhmi_event_descriptor.h si smart HMIcoffee_machine cm7 isi iyi Event_handlers n'ime nchekwa isi iyi nke exampna SW. Melite ya file dị ka n'okpuru:
- Gbanwee nkọwa mmemme kEventFaceRecId_RegisterCoffeeSelection ka ọ bụrụ kEventFaceRecId_RegisterUserFace n'ụdị enum _event_smart_tlhmi_id yana eriri nhazi regCoffee Nhọrọ ka regGUIFAceRec na nhazi _event_smit.tlh Yabụ, gbanwee struct register_coffee_selection_event_t maka regCoffeeSelection ka ọ bụrụ register_gui_facerec_event_t.
- Hichapụ ọdịnaya ndị ọzọ ejiri maka ngwa igwe kọfị, maka example, ahịrị koodu gbasara olu: #gụnyere “hal_event_descriptor_voice.h”.
- Tinye ụdị kOASISliteState_Stopped na kOASISliteState_Running na enum ụdị oasis_lite_state_t na hal_vision_algo.h n'okpuru framework>hal>ọhụụ na oru ngo dị ka n'okpuru:
typedef enum _oasis_lite_state {- kOASISliteState
- Na-agba ọsọ, kOASISliteState
- Akwụsịla, kOASISliteState
- Nkwenye,
- kOASISliteState
- Ndebanye aha, kOASISliteState
- Ndebanye aha, kOASISliteState
- Ndebanye aha Remote, kOASISliteState
- Gụọ
- Jiri n'elu emelitere struct oasis_lite_state_t iji nụchaa struct oasis_state_event_t na hal_event_descriptor_face_rec.h n'okpuru framework>hal>ọhụụ na oru ngo dị ka n'okpuru: typedef struct _oasis_state_event_t {oasis_lite_state_t steeti; } ihe omume oasis_state_t;
- Gbanwee kEventInfo_Remote niile ka ọ bụrụ kEventInfo_Local maka izipu ihe omume site na ọhụụ algo HAL gaa na HAL ndị ọzọ na-agba n'otu isi dị ka otu isi kama iji dual-core na mbụ.ample.
- Tinye ma gbanwee nhazi ndị a maka mmalite oasis na OASISLT_init():
- Tinye nkọwa macro na ngalaba ebe nchekwa maka etiti vidiyo dị na board_define.h: #define OASIS_RGB_FRAME_WIDTH 800
- # kọwapụta OASIS_RGB_FRAME_HEIGHT 600
- # kọwapụta OASIS_RGB_FRAME_SRC_FORMAT kPixelFormat_YUV1P444_RGB
- # kọwapụta OASIS_RGB_FRAME_BYTE_PER_PIXEL 3
- # kọwaa AT_FB_SHMEM_SECTION_ALIGN(var, alignbytes) \
- __attribute__((ngalaba (".bss.$fb_sh_mem,\"aw\",%nobits @"))) var
- __attribute__((aligneded(alignbytes)))
- Hazie ọrụ ebe nchekwa na ngalaba ebe nchekwa dị n'elu fb_sh_mem na Project> Njirimara> C/C++ Mee> Ntọala MCU egosiri na eserese 5:
- Kwupụta mgbanwe zuru ụwa ọnụ g_DTCOPBuf na lvgl_gui_face_rec_cm7.cpp: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
- Gaa n'ihu tinye nkọwa ndị ejiri na mgbanwe dị n'elu:
- Kọwaa ngalaba dị n'elu na board_define.h:
- # kọwapụta AT_NONCACHEABLE_SECTION_ALIGN_DTC(var, alignbytes) \
- attribute__((ngalaba (".bss.$SRAM_DTC_cm7,\"aw\",%nobits @"))) var
- àgwà __((nhazi (alignbytes)))
- Tinye nkụnye eji isi mee file hal_vision_algo.h nwere nkọwa nnukwu DTC_OPTIMIZE_BUFFER_SIZE na app_config.h gụnyere na lvgl_gui_face_rec_cm7.cpp.
- Tinye nkọwa macro na ngalaba ebe nchekwa maka etiti vidiyo dị na board_define.h: #define OASIS_RGB_FRAME_WIDTH 800
- Tọọ s_debugOption agbanwe ka ọ bụrụ eziokwu maka igosi ọkwa ọganihu na njirimara ihu.
- Tinye ụzọ ọchụchọ nke nkụnye eji isi mee files nke ọhụụ HAL na Project> Njirimara> C/C ++ Mee> ntọala> Ntọala ngwaọrụ> MCU C compiler> Gụnyere na MCU C ++ compiler> Gụnyere: “${workspace_loc:/${ProjName}/framework/hal/vision}”
- Tinye nkọwa dị n'okpuru iji mee ka ọhụụ algo HAL mee ihe na board_define.h: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFAceRec
Kwado mmepụta UI HAL
Ihe mmepụta UI HAL na-eme ka ihe omume ahụ mara ihe omume na algo HAL ma zaghachi nsonaazụ ntinye sitere na ọhụụ algo HAL. Site na ngwa GUI, ngwa na-ebute ihe omume ndị a na-egosikwa nsonaazụ ya na ngwa ahụ.
Iji mee ya, mechie onye ọkwọ ụgbọ ala HAL dị adị file ebe a na-arụ ọrụ ndị a n'okpuru:
- Gwa mmemme maka njirimara ihu na ịnweta nchekwa data.
- Tinyegharịa oku azụ maka ngwa GUI iji kpalite mmemme.
- Jikwaa nsonaazụ nrịbama sitere na modul ọhụụ algo.
- Gosi usoro na nsonaazụ mmemme a na-ejizi na UI site na ogwe ọganihu na-ejikwa ngụ oge na akụkụ ntụzịaka ihu.
Ndị isi na-arụ ọrụ iji mejuputa HAL maka exampA na-eji na akwụkwọ a bụ:
- Mechie onye ọkwọ ụgbọ ala HAL dị adị file ma gbanwee aha ndị metụtara ya.
- Wepu koodu ndị metụtara ngwa ahụ.
- Melite ọrụ maka ngosi ihe omume yana nzaghachi nsonaazụ kwa onye mbuampimewe.
- Tinye oku azụ maka ngwa GUI iji kpalite mmemme.
Usoro zuru ezu dị ka n'okpuru:
- Clone hal_output_ui_coffee_machine.c. Gbanwee fileaha ka hal_ output_ui_guifacerec.c.
- Dochie eriri niile KọfịMachine na GUIFAceRec na file.
- Wepu koodu ndị metụtara ngwa - igwe kọfị.
- Wepu ọrụ WakeUp() na _StandBy() yana koodu ndị metụtara ya (nwere ike chọọ eriri wake_up na njikere maka ha).
- Wepu tupuview Usoro mmemme na-ejikwa koodu ndị emetụtara na HAL_OutputDev_UiGUIFAceRec_Input Notify().
- Wepu ọrụ UI_xxx_Callback() yana koodu ndị nwere eriri gui_ na ihuenyo metụtara GUI nke igwe kọfị ewezuga gui_set_virtual_face() maka nke mbụ.view njirimara mode.
- Wepu koodu niile metụtara mgbanwe s_IsWaitingAnotherSelection na s_IsWaitingRegisterSelection metụtara ngwa igwe kọfị.
- Wepu koodu ndị metụtara olu, ọdịyo na asụsụ. Maka exampLe:
- #gụnye "hal_voice_algo_asr_local.h",
- #gụnye "hal_event_descriptor_voice.h"
- Maka ọkwa ọkwa dị iche iche, mejuputa ọrụ ọhụrụ _OutputManagerNotify (), _SetFaceRec (), _RegisterGUIFAceRec (), na DeregisterGUIFAceRec () na-ezo aka na ọrụ _StopFaceRec (), _RegisterCoffeeSelection (), na DeregisterCoffeeSelection tupu ha ewepu ha.
- _OutputManagerNotify() na-arụ ọrụ mmepụta ihe omume bụ isi iji zipu mmemme na ọhụụ algo HAL. Ọrụ ndị dị n'okpuru na-akpọ ya izipu mmemme nke ha.
- _SetFaceRec() na-eziga mmemme ahụ kEventFaceRecID_OasisSetState iji kpalite algo ọhụụ maka ndebanye aha ihu, nnabata na kwụsị algo.
- _RegisterGUIFAceRec() na-eziga mmemme kEventFaceRecId_RegisterGUIFAceRec nke akọwara na smart_tlhmi_event_descriptor.h iji tinye data njirimara ihu na nchekwa data mgbe ndebanye aha OK.
- DeregisterGUIFAceRec() na-eziga mmemme ahụ kEventFaceRecID_DelUser ka ihichapụ data njirimara ihu na nchekwa data mgbe ị na-agafe njirimara ihu.
- Melite koodu ndị ahụ ka ịmee omume kwekọrọ na ya gụnyere ume ọhụrụ GUI site na ịkpọ API site na ngwa LVGL GUI maka nsonaazụ ndebanye aha na njirimara na ọrụ _InferComplete_Vision() nke mbụ.ampka imewe. Maka example, mgbe ndebanye aha ihu na-aga nke ọma,
- Kwụsị igosi ọganihu site n'ịkpọ _FaceRecProcess_Stop();
- Kwụsị ndebanye aha ihu site na ịkpọ _SetFaceRec(kOASISliteState_Stopped);
- Gosi nsonaazụ na-aga nke ọma na GUI: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
- Deba aha data ihu na nchekwa data: _RegisterUserFace(s_UserId);
- Tinye ọrụ azụghachi UI iji jikwaa mmemme: tupuview, ndebanye aha ihu, nnabata na ihichapụ onye ọrụ sitere na GUI. Maka example, azụ ndebanye aha ihu: efu UI_Registration_Callback() {_SetFaceRec(kOASISliteState_Registration); _FaceRecProcess_Start (); }
- Tinyekwa ọrụ _FaceRecProcess_Start () na _FaceRecProcess_Stop() iji gosi ọganihu na ọkwa na ihe omume na nsonaazụ dị iche iche.
- Melite ngụ oge ọrụ oku ISR _SessionTimer_Callback() iji jikwaa ikpe agwụla site na ịkpọ: gui_show_face_rec_result (kFaceRecResult_TimeOut, s_UserId);
- Tinye nkọwa ndị a n'okpuru iji mee ka mmepụta UI mee HAL na board_define.h: #define ENABLE_OUTPUT_DEV_UiGUIFAceRec
Mara:
Iji gosi njirimara njirimara ihu nke ọma, dobe ọrụ ahụ iji gosi usoro na nsonaazụ ihu na mmepụta UI HAL. A kọwara ọrụ ahụ dị ka n'okpuru
- Ntugharị ihu rectangle na-egosi na-acha anụnụ anụnụ, na ogwe ọganihu na-egosi ọganihu mgbe ịmalite ndebanye aha ma ọ bụ njirimara ihu.
- Nkuku ntuziaka ihu na-egosi ọbara ọbara mgbe ndebanye aha na-aga nke ọma.
- Nkuku ntuziaka ihu na-egosi akwụkwọ ndụ akwụkwọ ndụ mgbe njirimara ihu na-aga nke ọma.
- Ntugharị ihu rectangle na-edobe acha anụnụ anụnụ, na ogwe ọganihu na-egosi ọganihu zuru oke mgbe ihe omume ahụ agaghị aga nke ọma mgbe oge nkwụsị. N'oge ahụ, kwụsị ndebanye aha ma ọ bụ njirimara ihu.
A na-egosi ogwe ọganihu na akụkụ ntụzịaka ihu dị ka akara ngosi arụnyere n'ime ọnụọgụ abụọ akụrụngwa file ka emebere ya na Flash. A na-ahazi akara ngosi data akara na SDRAM na ọrụ LoadIcons(APP_ICONS_BASE) nke a na-akpọ na mbido ngwaọrụ UI HAL na mmepụta UI HAL. Ọ ga-emejuputa nkwado akara ngosi maka ọrụ ahụ.
Tinye nkwado akara ngosi
- Wulite akụrụngwa ijikọ akara ngosi yana onyonyo ejiri na ngwa LVGL GUI:
- Mechie nkụnye eji isi mee akara anọ files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, na virtual_face_red_420x426.h si smart HMI
\coffee machineresource\ icons na akara ngosi nchekwa ọhụrụ n'okpuru folda akụrụngwa nke exampna SW. - Tinye ụzọ ọchụchọ maka akara ngosi anọ ahụ files na camera_preview_resource.txt file na nchekwa akụrụngwa, maka example: akara ngosi ../resource/icons/process_bar_240x14.h
- Mee igwefoto_preview_resource_build.bat iji wuo ihe onyonyo na akara ngosi iji mepụta ọwa mmiri file camera_preview_resource.bin na ozi file resource_information_table.txt (Lee eserese 6).
- Mechie nkụnye eji isi mee akara anọ files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, na virtual_face_red_420x426.h si smart HMI
- Kọwaa adreesị mmalite na SDRAM yana nha akara ngosi dị na app_config.h. Adreesị ahụ na-amalite n'akụkụ onyonyo nke ngwa GUI. A na-emepụta nha na ozi ahụ file. # kọwapụta APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) # kọwaa APP_ICONS_SIZE 0x107c40
- Melite nha nke ngalaba ebe nchekwa aha ya bụ res_sh_mem ka ọ bụrụ 0x200000 site na ịkọwapụta ya na app_config.h: #define RES_SHMEM_TOTAL_SIZE 0x200000 yana ntọala dabara na Project> Njirimara> C/C++ Mee> Ntọala MCU.
- Tinye nha akara ngosi na mkpokọta akụrụngwa ebugoro site na Flash gaa na SDRAM n'ime ọrụ APP_LoadResource() dị na isi. file lvgl_gui_face_rec_cm7.cpp: memcpy ((efu *)APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);
Mara: Iji mezue njirimara njirimara ihu, a chọrọ nkwado ngwa LVGL GUI. Ọrụ oku UI dị na mmepụta UI HAL bụ ngwa LVGL GUI na-akpọ maka ijikwa ihe omume site na ihuenyo UI. N'aka nke ọzọ, mmepụta UI HAL na-akpọ API site na ngwa LVGL GUI iji melite UI iji gosi nsonaazụ na ọkwa. Mmepe nke ngwa LVGL GUI nwere nnwere onwe yana ewebata ya na ngalaba 4.3.
4.1.5 Malite ngwaọrụ HAL na ndị njikwa maka njirimara ihu
A na-amalite ọhụụ algo HAL na UI mmepụta HAL na ndị njikwa ha na isi file
lvgl_gui_face_rec_cm7.cpp na-eso ntughari nke mmepe na usoro dị n'okpuru:
- Tinye nkụnye eji isi mee file metụtara ndị njikwa HAL abụọ site na ịgbakwunye ahịrị koodu:
- #gụnyere ”fwk_output_manager.h "
- #gụnye "fwk_vision_algo_manager.h"
- Kwusaa ngwaọrụ HAL:
- HAL_VALGO_DEV_DECLARE(OasisGUIFAceRec);
- HAL_OUTPUT_DEV_DECLARE(UiGUIFAceRec);
- Deba aha ngwaọrụ HAL:
- HAL_VALGO_DEV_REGISTER(OasisGUIFAceRec, ret);
- HAL_OUTPUT_DEV_REGISTER(UiGUIFAceRec, ret);
- Malite ndị njikwa:
- FWK_MANAGER_INIT(VisionAlgoManager, ret);
- FWK_MANAGER_INIT(Onye Mmepụta, ret);
- Malite ndị njikwa:
- FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
- FWK_MANAGER_START(Onye njikwa mmepụta, OUTPUT_MANAGER_TASK_PRIORITY, ret);
- Kọwaa mkpa ọrụ onye njikwa:
- # kọwapụta VISION_ALGO_MANAGER_TASK_PRIORITY 3
- # kọwapụta OUTPUT_MANAGER_TASK_PRIORITY 1
Tinye nkwado nchekwa data ihu n'usoro
A na-enweta data njirimara ihu edebanyere aha na nchekwa data ihu echekwara na Flash site na ntakịrị file usoro. A kọwara usoro iji tinye nkwado nchekwa data ihu n'okpuru.
Tinye ndị ọkwọ ụgbọala maka nchekwa Flash
Detuo Flash interface FlexSPI ọkwọ ụgbọ ala files fsl_flexspi.c na fsl_flexspi.h, yana onye ọkwọ ụgbọ ala izo ya ezo. files fsl_caam.c na fsl_caam.h site na ụzọ SDK_2_13_0_MIMXRT1170-EVK ngwaọrụ \MIMRX1176 ọkwọ ụgbọala' gaa na folda ọkwọ ụgbọala nke exampna SW.
Tinye nkwado ọkwa bọọdụ
- Tinye nkọwa nke FlexSPI ejiri maka ngwaọrụ Flash dị n'ime board.h:
- # kọwapụta BOARD_FLEXSPI FLEXSPI1
- # kọwapụta BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1
- # kọwapụta BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE
- Detuo ndị ọrụ na nhazi files nke Flash ngwaọrụ flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, andsln_flash_ops.h n'okpuru ụzọ smart HMI \ flash_config.ampna SW.
- Kpochapụ "Wepụ akụ site na nrụpụta" na C/C++ Mee> Ntọala mgbe ịpịrị aka nri na files' aha na imepe Njirimara maka ime ka ha wuo n'ime oru ngo a.
- Gbanwee nkụnye eji isi mee fileaha sln_flash_config.h ka sln_flash_config_w25q256jvs.h na sln_flash_config.c na flexspi_nor_flash_ops.h.
- Tọọ isi iyi elekere FlexSPI1 na file clock_config.c na-ezo aka na ngwa igwe kọfị.
Tinye nkwụnye na nkwado larịị etiti
- Detuo ya files sln_flash.c, sln_flash.h, sln_encrypt.c, na sln_encrypt.h dị ka ihe nkwụnye ọkụ file Sistemu na ngwa si n'ụzọ smart HMIcoffee_machine cm7 isi iyi gaa na isi iyi nke ex.ample. Melite nke ọhụrụ files:
- Kpochapụ “Wepu akụrụngwa site na iwulite” na ha maka iwu ụlọ.
- Gbanwee nkụnye eji isi mee ihe niile gụnyere file aha sln_flash_config.h ka sln_flash_config_w25q256jvs.h.
- Detuo folda ahụ filesistemụ nwere API maka obere fileSistemu na onye ọkwọ ụgbọ ala HAL si smart HMI \coffee_machine\cm7\source\ gaa na exampna SW. Ma melite maka folda ọhụrụ:
- Mepee akara “Wepu akụrụngwa n'ịrụ ụlọ” na ya maka iwu ụlọ.
- Tinye ụzọ gụnyere ya na ntọala ọrụ: "${workspace_loc:/${ProjName}/fileusoro}"
- Gbanwee nkụnye eji isi mee file aha sln_flash_config.h ka sln_flash_config_w25q256jvs.h na fica_definition.h na app_config.h na file sln_flash_littlefs.h.
- Detuo obere folda nke nwere ngwa etiti - obere fileSistemu si ụzọ SDK_2_13_0_ MIMXRT1170-EVK Middleware gaa na mbụampna SW. Ma melite folda ọhụrụ:
- Mepee akara “Wepu akụrụngwa n'ịrụ ụlọ” na ya maka iwu ụlọ.
- Tinye ụzọ gụnyere ya na ntọala ọrụ: "${workspace_loc:/${ProjName}/littlefs}"
Tinye ndị ọkwọ ụgbọ ala HAL
- Enwere ngwaọrụ HAL abụọ - file usoro na nchekwa data ihu HAL kwadoro maka njirimara ịnweta nchekwa data na ha etinyerelarị na usoro n'enweghị mgbanwe ọ bụla. Kwado ha site na ịgbakwunye nkọwa ndị a na board_define.h:
- # kọwaa ENABLE_FLASH_DEV_Littlefs
- # kọwaa ENABLE_FACEDB
Ma gbanwee aha nchekwa data ihu maka example: #define OASIS_FACE_DB_DIR "oasis_gui_face_rec"
Tinye nkwado ọkwa ngwa
- Melite isi file lvgl_gui_face_rec_cm7.cpp:
- Tinye nkụnye eji isi mee file metụtara Flash file usoro HAL njikwa site na ịgbakwunye ahịrị koodu: #gụnyere "fwk_flash.h"
- Kwupụta ma debanye aha file Sistemu HAL ngwaọrụ:
- HAL_FLASH_DEV_DECLARE(obere);
- HAL_FLASH_DEV_REGISTER(Littlefs, ret);
Rịba ama: Nke file sistemu HAL ga-edebanye aha tupu ebido ndị njikwa ngwaọrụ niile na ọrụ APP_InitFramework ().
- Kpọọ ọrụ BOARD_ConfigMPU() na APP_BoardInit() iji hazie MPU.
- Tọọ nke file Arụ ọrụ sistemụ na Flash n'ime file app_config.h site na ịkọwapụta nkọwa nnukwu ejiri na file sln_flash_littlefs.h:
- # kọwapụta FICA_IMG_FILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
- # kọwapụta FICA_FILE_SYS_SIZE (0x280000)
Nhazi
A na-egbu ụfọdụ koodu ndị metụtara Flash na mpaghara SRAM ITC maka ịrụ ọrụ zuru oke. Detuo njikọ njikọ nchekwa nke nwere nhazi njikọ site na ụzọ smart HMIcoffee_machinecm7 ruo na mbụ.ampna SW.
Tinye ngwa LVGL GUI
Mmepe nke ngwa LVGL GUI dabere na usoro na-akpọ API site na mmepụta UI HAL ma na-enye API ka ha wepụta UI HAL (Lee Nkebi 4.1.3 maka mmejuputa mmepụta UI HAL).
Agbanyeghị, mmejuputa atumatu nke ngwa LVGL GUI dabere na ihe achọrọ na nhazi nke ngwa ahụ. Ngwa GUI dị na exampA haziri le dị ka akọwara na mmalite nke ngalaba 4.
N'okpuru bụ mmalite mmejuputa iwu:
- A na-emejuputa koodu ndị a ahaziri na custom.c na custom.h nke GUI Guider nyere dị ka interface dị n'etiti ọrụ GUI Guider na ọrụ usoro agbakwunyere.
- Tinye ọrụ ọhụrụ akpọrọ gui_xxx() na custom.c iji nweta ọrụ ndị a:
- Maka mmepụta UI HAL na ngwa GUI iji melite UI.
- Maka ngwa GUI iji kpalite mmemme site na ịkpọ ọrụ oku UI site na mmepụta UI HAL.
Maka example, ọrụ ọhụrụ gui_event_face_rec_action() na-akpọ UI callback ọrụ iji jikwaa otu n'ime mmemme nke ndebanye aha ihu, njirimara ihu na ihichapụ onye ọrụ kpalitere site na ngwa GUI mgbe ịpịrị bọtịnụ metụtara ya.
Mara: Ọrụ gui_set_virtual_face() akpọrọ na UI HAL mmepụta maka tupuview ekwesịrị itinye ọnọdụ na custom.c:
- Ọrụ mmepụta ihe gui_set_virtual_face () sitere na smart HMI \coffee_machine\cm4\ custom \ custom.c.
- Gbanwee aha wijetị home_img_cameraPreview gaa screen_img_camera_preview na ọrụ.
- Mejuputa ọrụ ịkpọghachi UI na otu ihe atụ nye ndị niile na-emepụta UI HAL n'okpuru njikwa nkọwa macro #ifndef RT_PLATFORM na custom.c maka ikwekọ na ọrụ GUI Guider n'ihi na ọrụ ndị a na mmepụta UI HAL dabere na agbakwunyere ikpo okwu. Na custom.c, ha na-adabere na simulator na GUI ndu ma nwee onwe ha na ikpo okwu agbakwunyere. Maka examplee, a na-emejuputa oku ndebanye aha ihu dị ka n'okpuru maka simulator GUI Guider na-agba ọsọ: #ifndef RT_PLATFORM efu UI_Registration_Callback() {gui_hide_del_user_btn(ezi); s_InAction = ụgha; laghachi; }
Rịba ama: Rụtụ aka n'otu ụdị ọrụ ahụ ewepụtara na nzọụkwụ 6 nke ngalaba 4.1.3
Nkọwapụta nnukwu RT_PLATFORM ka edobere na ntọala ọrụ nke MCUXpresso dịka egosiri na eserese 7: - Kwupụta ọrụ niile akpọrọ UI_xxx_Callback() na gui_xxx() na custom.h wee tinye custom.h gụnyere na smart_tlhmi_event_descriptor.h iji kesaa GUI API na UI mmepụta HAL.
- Tinye ọrụ ọhụrụ akpọrọ gui_xxx() na custom.c iji nweta ọrụ ndị a:
- Zụlite GUI na Onye Nduzi GUI:
- Mechie igwefoto nchekwa tupuview nwere ngwanro oru GUI Guider na folda gui_guider na ngwungwu ngwanrọ lvgl_gui_camera_preview_cm7. Gbanwee aha yiri ya camera_preview to face_rec maka example.
- Detuo omenala.c na omenala emelitere n'elu. h gaa na ngwanrọ oru ngo GUI Guider ọhụrụ.
- Mepee ọrụ face_rec ọhụrụ na GUI Guider. Melite dị ka n'okpuru:
- Tinye bọtịnụ ọhụrụ akpọrọ Onye ọrụ Hichapụ. Tinye ọkọlọtọ zoro ezo na ya ka bọtịnụ ahụ wee zoo mgbe ngwa GUI malitere.
- Tinye ahịrị koodu nke ịkpọ API gui_event_face_rec_action() nwere ihe ngosi ID mmemme dị iche iche na “wepụtara” na-akpalite na ntọala mmemme nke bọtịnụ niile Ndebanye aha, nnabata na nhichapụ onye ọrụ maka ịkpalite mmemme nke ndebanye aha ihu, njirimara ihu na ihichapụ onye ọrụ. Ọgụgụ 8 na-egosi koodu maka mmemme nke bọtịnụ ndebanye aha:
- Melite koodu ewepụtara site na GUI Guider gaa na ọrụ MCUXpresso.
- Dochie ọdịnaya belụsọ foto nchekwa dị na folda ewepụtara nke ọrụ MCUXpresso SW yana ndị dabara na folda ewepụtara nke GUI Guider project SW.
Rịba ama: Maka nkọwa ndị ọzọ gbasara mgbanwe ndị ewepụtara n'elu, lelee exampsoftware na https://mcuxpresso.nxp.com/appcodehub.
Nyocha na example oru ngo
Iji nweta exampngwungwu ngwanrọ nwere akụrụngwa na akụrụngwa maka ndetu ngwa a, gaa: https://mcuxpresso.nxp.com/appcodehub. Mepee example project na MCUXpresso IDE. Wulite ma hazie .axf file gaa na adreesị 0x30000000 wee mee ihe ndekọ akụ file camera_preview_resource.bin na adreesị 0x30800000.
LVGL GUI ihu ihu example na-arụ ọrụ nkịtị dị ka n'okpuru:
- Tupuview: Na ike elu, vidiyo iyi nke igwefoto weghaara na-egosi na kpọmkwem ebe igwefoto tupuview na ihuenyo GUI. Labelụ ọkwa na-egosiputa “Preview…”. Maka nkọwa, lee eserese 3. Ezochiri bọtịnụ Hichapụ onye ọrụ. Mgbe ịpị mpaghara na mpụga bọtịnụ na onyonyo, ọ na-egosi tupuview kwupụta dị ka nke dị n'elu mgbe ndebanye aha ihu ma ọ bụ ihe njirimara kwụsịrị.
- Ndebanye aha:
- tartup: Mgbe ịpịrị bọtịnụ ndebanye aha, ndebanye aha ga-amalite. Akara ọkwa na-agbanwe iji gosipụta “ndebanye aha…”, akụkụ akụkụ ntụzịaka ihu na-egosi acha anụnụ anụnụ, ogwe ọganihu na-amalite igosi ọganihu. Gbaa mbọ hụ na ihu onye ọrụ na-egosi n'ime akụkụ ntụzịaka ihu na-acha anụnụ anụnụ maka ndebanye aha.
- ohere: Aha akara ngosi na-egosi “Ndebanye aha…OK” yana nọmba ID onye ọrụ edebanyere aha, akụkụ akụkụ ntụzịaka ihu na-acha ọbara ọbara ma ọ bụrụ na ndebanye aha ihu na-aga nke ọma tupu ọganihu ahụ ejupụta na mmanya.
- Ọdịda -> Oge agwụla: akara ọkwa ọkwa na-egosi “Ndebanye aha…Oge agwụla” ma ọ bụrụ na ndebanye aha ihu ka dara mgbe ọganihu ahụ gosipụtara n'uju na ụlọ mmanya.
- Ọdịda -> mbiputegharị: akara ọkwa ọkwa na-egosi “Ndebanye aha… dara”, akụkụ ntụzịaka ihu na-aghọ akwụkwọ ndụ akwụkwọ ndụ ma ọ bụrụ na achọpụtara ihu ahụ edebanyere aha tupu ọganihu ahụ ejupụta na mmanya.
- nchikota:
- Mmalite: Mgbe ịpịrị bọtịnụ nnabata, njirimara ihu ga-amalite. Akara ọkwa na-agbanwe iji gosipụta “Nghọta…”, akụkụ akụkụ ntụzịaka ihu na-egosi acha anụnụ anụnụ, ogwe ọganihu na-amalite igosi ọganihu. Gbaa mbọ hụ na egosiri ihu onye ọrụ n'ime akụkụ ntụzịaka ihu na-acha anụnụ anụnụ maka ndebanye aha.
- ohere: Aha akara ngosi na-egosi “Nghọta…OK” yana akara njirimara onye ọrụ a ma ama, rectangle ihu na-aghọ akwụkwọ ndụ akwụkwọ ndụ ma ọ bụrụ na njirimara ihu na-aga nke ọma tupu ọganihu ahụ ejupụta na mmanya ahụ. N'ebe ahụ, bọtịnụ Hichapụ Onye ọrụ na-apụta. Ọ pụtara na a na-ahapụ onye ọrụ ka ihichapụ naanị mgbe amatara ya.
- ailure: Aha ọkwa na-egosi "Nghọta…Oge oge" ma ọ bụrụ na njirimara ihu ka dara mgbe ọganihu na-egosi zuru ezu na mmanya.
- Hichapụ onye ọrụ: Mgbe a pịa bọtịnụ “Hichapụ onye ọrụ”, mgbe njirimara ihu ga-aga nke ọma, akara ọkwa na-agbanwe iji gosipụta “Hichapụ onye ọrụ… OK” na akụkụ ntụzịaka ihu na-aghọ acha anụnụ anụnụ na ọganihu na-egosi juputara na mmanya ahụ. A na-ezochikwa bọtịnụ Hichapụ onye ọrụ ọzọ. A na-ehichapụ ihu/onye ọrụ amatara na nchekwa data. Ọ pụtara enweghị ike ịmata ihu/onye ọrụ a ruo mgbe edebanye aha ya ọzọ.
Rịba ama maka koodu isi mmalite dị na akwụkwọ ahụ
ExampKoodu egosiri na akwụkwọ a nwere ikike nwebiisinka na ikikere nkebiokwu BSD-3:
Nweghachi ikike 2024 NXP na iji ya na isi mmalite na ụdị ọnụọgụ abụọ, yana ma ọ bụ na-enweghị mgbanwe, ka anabatara ma ọ bụrụ na emezutere ọnọdụ ndị a:
- Nkesa koodu isi iyi ga-edorịrị ọkwa nwebisiinka dị n'elu, ndepụta ọnọdụ yana nkwuputa na-esonụ.
- Redistribution na ụdị ọnụọgụ abụọ ga-emegharị ọkwa nwebisiinka dị n'elu, ndepụta nke ọnọdụ a na nkwupụta na-esonụ na akwụkwọ na / ma ọ bụ ihe ndị ọzọ ga-enyerịrị nkesa.
- Enweghị ike iji aha onye nwe nwebisiinka ma ọ bụ aha ndị nyere ya nkwado ma ọ bụ kwalite ngwaahịa ndị ewepụtara na ngwanro a na-enweghị ikike ederede akọwapụtara.
A na-enye ngwanrọ a site n'aka ndị ji nwebisiinka na ndị ntinye aka "Dịka ọ dị" yana akwụkwọ ikike ekwupụta ma ọ bụ nke egosipụtara, gụnyere, mana ọnweghị oke na, KWESỊRỊ KWESỊRỊ nke ibu ahịa na ịdị mma maka ịdị mma. Ọ BỤGHỊ ihe omume, onye jide nwebiisinka ma ọ bụ ndị ntinye aka ga-akwụ ụgwọ maka ihe ọ bụla ozugbo, ezoro ezo, ihe mberede, pụrụ iche, ihe atụ, ma ọ bụ ihe ndị ga-esi na ya pụta (gụnyere, ma ọnweghị oke maka, nrụpụta ụlọ ọrụ mmepụta ihe. Iji, Data, ma ọ bụ Uru; NDỤMỌDỤ MAKA IKE MMIRI dị otú ahụ.
Akụkọ ngbanwe
Ozi gbasara iwu
Nkọwa
Draft - A draft ọkwa na a akwụkwọ na-egosi na ọdịnaya ka n'okpuru esịtidem review ma dabere na nkwado iwu, nke nwere ike ibute mgbanwe ma ọ bụ mgbakwunye. NXP Semiconductors anaghị enye nnochite anya ma ọ bụ akwụkwọ ikike ọ bụla gbasara izi ezi ma ọ bụ izu oke nke ozi etinyere na ụdị nke akwụkwọ na agaghị enwe ụgwọ maka nsonaazụ nke iji ozi dị otú ahụ.
Nkwuputa
- Akwụkwọ ikike na ụgwọ dị oke - Ekwenyere na ozi dị n'akwụkwọ a bụ eziokwu na ntụkwasị obi. Agbanyeghị, NXP Semiconductors anaghị enye nnochite anya ma ọ bụ akwụkwọ ikike, ekwupụta ma ọ bụ akọwapụta ya, gbasara izi ezi ma ọ bụ izu oke nke ozi ahụ na agaghị enwe ụgwọ maka nsonaazụ nke ozi dị otú ahụ. NXP Semiconductors anaghị anara ọrụ ọ bụla maka ọdịnaya dị na akwụkwọ a ma ọ bụrụ na isi mmalite ozi na-abụghị nke NXP Semiconductor nyere ya.
Ọ dịghị ihe ọ bụla NXP Semiconductor ga-akwụ ụgwọ maka mmebi ọ bụla na-apụtaghị ìhè, mberede, ntaramahụhụ, pụrụ iche ma ọ bụ nke ga-akpata (gụnyere - na-enweghị mmachi - uru efu, ego furu efu, nkwụsị azụmahịa, ụgwọ metụtara iwepụ ma ọ bụ dochie ngwaahịa ọ bụla ma ọ bụ ụgwọ ọrụ) ma ọ bụ na ụdị mmebi ahụ adabereghị na mmekpa ahụ (gụnyere nleghara anya), akwụkwọ ikike, imebi nkwekọrịta ma ọ bụ tiori iwu ọ bụla ọzọ.
N'agbanyeghị mmebi ọ bụla onye ahịa nwere ike ịkpata n'ihi ihe ọ bụla, NXP Semiconductor' mkpokọta na mkpokọta ụgwọ maka ndị ahịa maka ngwaahịa ndị akọwara ebe a ga-amachi dịka Usoro na ọnọdụ ire azụmaahịa nke NXP Semiconductor. - Right ime mgbanwe - NXP Semiconductors nwere ikike ime mgbanwe na ozi e bipụtara na akwụkwọ a, gụnyere enweghị oke nkọwa na nkọwa ngwaahịa, n'oge ọ bụla na-enweghị ọkwa. Akwụkwọ a nọchiri ma dochie ozi niile ewepụtara tupu ebipụta ya.
- Kwesịrị ekwesị maka ojiji - Emebeghị ngwaahịa Semiconductor NXP, ikike ma ọ bụ kwenye ka ọ dabara adaba maka iji na nkwado ndụ, sistemu dị oke egwu ma ọ bụ nchekwa dị oke egwu, ma ọ bụ na ngwa ebe ọdịda ma ọ bụ arụghị ọrụ nke ngwaahịa NXP Semiconductor nwere ike ịtụ anya na ọ ga-ebute ya. mmerụ ahụ nke onwe, ọnwụ ma ọ bụ nnukwu ihe onwunwe ma ọ bụ mmebi gburugburu ebe obibi. NXP Semiconductor na ndị na-ebubata ya anaghị anabata ụgwọ maka nsonye na/ma ọ bụ iji ngwaahịa NXP Semiconductor na ngwa ma ọ bụ ngwa dị otú ahụ, yabụ nsonye na/ma ọ bụ ojiji dị otú ahụ bụ n'ihe egwu nke onye ahịa.
- Ngwa - Ngwa ndị akọwara ebe a maka ngwaahịa ndị a bụ naanị maka ihe atụ. NXP Semiconductors anaghị eme nnọchite ma ọ bụ akwụkwọ ikike na ngwa dị otú ahụ ga-adabara maka ojiji akọwapụtara na-enweghị nnwale ọzọ ma ọ bụ mgbanwe.
Ndị ahịa na-ahụ maka imepụta na ịrụ ọrụ nke ngwa na ngwaahịa ha site na iji ngwaahịa NXP Semiconductor, yana NXP Semiconductor anaghị anabata ụgwọ ọ bụla maka enyemaka ọ bụla na ngwa ma ọ bụ imepụta ngwaahịa ndị ahịa. Ọ bụ naanị ọrụ ndị ahịa iji chọpụta ma ngwaahịa NXP Semiconductor dabara adaba ma dabara maka ngwa na ngwaahịa ndị ahịa akwadoro, yana maka ngwa a haziri ahazi na iji ndị ahịa nke atọ ndị ahịa. Ndị ahịa kwesịrị ịnye atụmatụ kwesịrị ekwesị yana nchekwa ọrụ iji belata ihe egwu metụtara ngwa na ngwaahịa ha. NXP Semiconductors anaghị anabata ụgwọ ọ bụla metụtara ndabara, mmebi, ụgwọ ma ọ bụ nsogbu ọ bụla dabere na adịghị ike ma ọ bụ ndabara ọ bụla na ngwa ma ọ bụ ngwaahịa nke onye ahịa, ma ọ bụ ngwa ma ọ bụ ojiji nke ndị ahịa (s) ndị ọzọ nke ndị ahịa. Onye ahịa na-ahụ maka ime nnwale niile dị mkpa maka ngwa na ngwaahịa ndị ahịa site na iji ngwaahịa NXP Semiconductor iji zere ndabara nke ngwa na ngwaahịa ma ọ bụ nke ngwa ma ọ bụ jiri ndị ahịa (ndị ahịa) ndị ọzọ. NXP anaghị anabata ụgwọ ọ bụla na nke a. - Usoro na ọnọdụ nke ire ere - A na-ere ngwaahịa NXP Semiconductor n'okpuru usoro izugbe na ọnọdụ ire ere, dị ka ebipụtara na https://www.nxp.com/profile/ Usoro, ma ọbụghị na ekwenyero n'ụzọ ọzọ na nkwekọrịta mmadụ ederede ziri ezi. Ọ bụrụ na emechara nkwekọrịta n'otu n'otu naanị usoro na ọnọdụ nke nkwekọrịta dị iche iche ka a ga-etinye. NXP Semiconductor ebe a na-achọsi ike itinye usoro na ọnọdụ izugbe nke ndị ahịa n'ihe gbasara ịzụrụ ngwaahịa NXP Semiconductor site n'aka ndị ahịa.
- Njikwa mbupụ - Akwụkwọ a yana ihe (s) akọwara n'ime ebe a nwere ike dabere n'ụkpụrụ njikwa mbupu. Mbupụ nwere ike ịchọ ikike tupu ndị ọchịchị tozuru oke.
- Kwesịrị ekwesị maka iji na ngwaahịa ndị na-abụghị ụgbọ ala - Ọ gwụla ma akwụkwọ a kwuru n'ụzọ doro anya na ngwaahịa NXP Semiconductor a kapịrị ọnụ bụ ụgbọ ala tozuru oke, ngwaahịa a adabaghị maka iji ụgbọ ala. O tozughị ma ọ bụ nwalere dịka nnwale ụgbọ ala ma ọ bụ ngwa chọrọ. NXP Semiconductors anaghị anabata ụgwọ ọ bụla maka nsonye na/ma ọ bụ iji ngwaahịa na-abụghị ụgbọ ala tozuru oke na akụrụngwa ma ọ bụ ngwa.
Ọ bụrụ na ndị ahịa na-eji ngwaahịa maka imewe-ime ma jiri ya na ngwa ụgbọ ala maka nkọwapụta na ụkpụrụ, onye ahịa (a) ga-eji ngwaahịa ahụ na-enweghị NXP Semiconductor' akwụkwọ ikike nke ngwaahịa maka ngwa ụgbọ ala, ojiji na nkọwapụta, na ( b) mgbe ọ bụla ndị ahịa na-eji ngwaahịa maka ngwa ụgbọ ala gafere NXP Semiconductor nkọwa nke ụdị ojiji a ga-abụ naanị n'ihe ize ndụ nke ndị ahịa, yana (c) ndị ahịa na-akwụghachi ụgwọ Semiconductor NXP maka ụgwọ ọ bụla, mmebi ma ọ bụ nkwuputa ngwaahịa dara ada sitere na imewe na ojiji nke ndị ahịa. Ngwaahịa maka ngwa ụgbọ ala gafere NXP Semiconductor' ọkọlọtọ akwụkwọ ikike yana nkọwa ngwaahịa NXP Semiconductor. - Ntụgharị asụsụ - Ụdị akwụkwọ na-abụghị Bekee (sụgharịrịa), gụnyere ozi gbasara iwu dị na akwụkwọ ahụ, bụ naanị maka ntụnye aka. Ụdị Bekee ga-emeri ma ọ bụrụ na enwere nghọtahie ọ bụla n'etiti nsụgharị Bekee na nsụgharị.
- Nchekwa - Onye ahịa ghọtara na ngwaahịa NXP niile nwere ike nọrọ n'okpuru adịghị ike amataghị ma ọ bụ nwee ike kwado ụkpụrụ nchekwa ma ọ bụ nkọwapụta nwere oke ama ama. Onye ahịa na-ahụ maka nhazi na ịrụ ọrụ nke ngwa ya na ngwaahịa ya n'oge ndụ ha niile iji belata mmetụta adịghị ike ndị a na ngwa na ngwaahịa ndị ahịa. Ọrụ ndị ahịa gbatịkwara na teknụzụ ndị ọzọ mepere emepe na/ma ọ bụ nweburu nke ngwaahịa NXP na-akwado maka iji na ngwa ndị ahịa. NXP anaghị anabata ụgwọ ọ bụla maka adịghị ike ọ bụla. Onye ahịa kwesịrị ịlele mmelite nchekwa mgbe niile site na NXP wee soro nke ọma. Onye ahịa ga-ahọrọ ngwaahịa nwere njiri nchekwa nke ga-ezute iwu, ụkpụrụ na ụkpụrụ nke ngwa a chọrọ ma mee mkpebi kacha mma gbasara ngwaahịa ya na ọ bụ naanị ya na-ahụ maka irube isi n'iwu, usoro na nchekwa ihe metụtara ngwaahịa ya, n'agbanyeghị. ozi ma ọ bụ nkwado ọ bụla NXP nwere ike ịnye.
NXP nwere otu nzaghachi ihe mberede nchekwa ngwaahịa (PSIRT) (nke a na-enweta na PSIRT@nxp.com) nke na-ahụ maka nyocha, mkpesa, na ntọhapụ ngwọta na adịghị ike nchekwa nke ngwaahịa NXP.
NXP BV - NXP BV abụghị ụlọ ọrụ na-arụ ọrụ na ọ naghị ekesa ma ọ bụ na-ere ngwaahịa.
Akara ụghalaahia
MaraỤdị niile e zoro aka na ya, aha ngwaahịa, aha ọrụ na ụghalaahịa bụ ihe onwunwe nke ndị nwe ha.
NXP — Okwu na akara bụ ụghalaahịa nke NXP BV
AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed Enabled, NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, μVision, Versatile - bụ ụghalaahịa na/ma ọ bụ ụghalaahịa edenyere n'akwụkwọ ikikere nke Arm Limited (ma ọ bụ ndị enyemaka ya ma ọ bụ ndị mmekọ) na US na/ma ọ bụ ebe ozo. Enwere ike ichekwa teknụzụ metụtara ya site na ikike ọ bụla ma ọ bụ niile, ikike nwebiisinka, atụmatụ na nzuzo azụmaahịa. Ikike niile echekwabara.
- i.MX — bụ ụghalaahịa NXP BV
- J-njikọ — bụ ụghalaahịa nke SEGGER Microcontroller GmbH.
Microsoft, Azure, na ThreadX - bụ ụghalaahịa nke otu ụlọ ọrụ Microsoft.
Biko mara na ọkwa dị mkpa gbasara akwụkwọ a na ngwaahịa (s) akọwara n'ime ebe a esonyela na ngalaba 'ozi gbasara iwu'.
© 2024 NXP BV
Maka ozi ndị ọzọ, biko gaa na: https://www.nxp.com
- Ụbọchị mwepụta: Eprel 19, 2024
- Ihe nchọpụta akwụkwọ: AN14263
FAQ
Ajụjụ: Gịnị bụ isi nzube nke ngwaahịa a?
A: Ebumnuche bụ isi bụ iji mee ka ọrụ njirimara ihu rụọ ọrụ site na iji ụdị AI&ML ọhụụ algọridim nwere obere LVGL GUI ex.ample na bọọdụ SLN-TLHMI-IOT.
Ajụjụ: Kedu ka ndị mmepe ga-esi rite uru na ndetu ngwa a?
A: Ndị mmepe nwere ike ịmụta otu esi emejuputa ihu ihu na usoro site na nzọụkwụ site na iji ex nyereample ma ghọta ndị njikwa ngwaọrụ, ngwaọrụ HAL, na usoro mmemme metụtara.
Akwụkwọ / akụrụngwa
![]() |
NXP AN14263 Mejuputa LVGL GUI Ihu na Framewor [pdf] Ntuziaka onye ọrụ AN14263 mejuputa LVGL GUI Ihu ihu na Framewor, AN14263, Mejuputa LVGL GUI Ihu ihu na Framewor, LVGL GUI Ihu ihu na Framewor, Ihu ihu na Framewor, Nkwenye na Framewor, Framewor |