NXP AN14263 Siv LVGL GUI Lub ntsej muag lees paub ntawm Framewor
Cov ntaub ntawv khoom
Specifications
- Khoom npe: LVGL GUI Lub ntsej muag lees paub ntawm lub moj khaum
- Cov ntaub ntawv kho dua: 1-19 Plaub Hlis 2024
- Ntsiab lus: Kev lees paub lub ntsej muag, LVGL GUI, Ncej
Cov lus qhia siv khoom
- Tshajview
Cov khoom no ua rau AI & ML lub zeem muag algorithm qauv rau kev paub lub ntsej muag ntawm lub moj khaum los siv lub ntsej muag lees paub nrog qhov yooj yim LVGL GUI example ntawm SLN-TLHMI-IOT pawg thawj coj saib. - Ncej dhauview
Cov kev daws teeb meem software yog tsim nyob ib ncig ntawm lub moj khaum architecture uas suav nrog cov tswj hwm lub luag haujlwm rau kev tswj cov cuab yeej, HAL cov cuab yeej rau cov ntsiab lus tsis meej, thiab cov xwm txheej rau kev sib txuas lus ntawm cov khoom siv sib txawv. - Nta
Cov khoom tso cai rau kev siv lub ntsej muag lees paub ua haujlwm ntawm lub koob yees duab ua ntejview ntawm GUI screen nrog cov nyees khawm kom ua rau lub ntsej muag sau npe, lees paub, thiab tshem tawm. Cov ntaub ntawv ntsej muag sau npe khaws cia rau ntawm Flash ntawm a file qhov system. - Daim Ntawv Thov Cov Ntsiab Lus
Daim ntawv thov nthuav tawm LVGL GUI npo nrog lub koob yees duab ua ntejview thiab cov nyees khawm rau kev ua ntawm lub ntsej muag. Nws pab cov neeg tsim khoom nkag siab txog lub moj khaum thiab yuav ua li cas siv lub ntsej muag lees paub siv tus ex muabample.
Tshajview
NXP tau tshaj tawm cov khoom siv txhim kho kev daws teeb meem hu ua SLN-TLHMI-IOT uas tsom rau cov ntawv thov HMI ntse. Nws ua kom ntse HMI nrog ML lub zeem muag, lub suab, thiab cov duab UI tau siv los ntawm ib qho NXP i.MX RT117H MCU. Raws li SDK, cov kev daws teeb meem software yog tsim los ntawm tus qauv hu ua lub moj khaum uas txhawb cov qauv tsim thiab kev hloov kho ntawm lub zeem muag thiab lub suab ua haujlwm. Txhawm rau pab cov neeg siv siv lub software platform zoo dua, qee cov ntaub ntawv yooj yim tau muab, piv txwvample, the software development user guide. Phau ntawv qhia qhia txog cov qauv tsim software thiab kev tsim qauv ntawm cov ntawv thov npog tag nrho cov ntsiab lus ntawm kev daws teeb meem nrog rau lub hauv paus los pab cov neeg tsim khoom yooj yim dua thiab siv tau lawv cov ntawv thov siv SLN-TLHMI-IOT.
Yog xav paub ntxiv txog cov kev daws teeb meem thiab cov ntaub ntawv ntsig txog, mus saib hauv web nplooj ntawv ntawm NXP EdgeReady Smart HMI Solution Raws li i.MX RT117H nrog ML Vision, Suab, thiab Graphical UI. Txawm li cas los xij, nws tseem tsis yooj yim rau cov neeg tsim khoom siv lawv cov ntawv thov HMI ntse hais txog cov lus qhia yooj yim no. Ib daim ntawv thov sau tseg tau npaj los pab kawm txog kev txhim kho ntawm lub moj khaum ib qib zuj zus. Daim ntawv thov no yog ua raws li Siv LVGL GUI Lub Koob Yees Duab Preview ntawm Framework (cov ntaub ntawv AN14147). Daim ntawv thov no piav qhia yuav ua li cas thiaj li pab tau AI & ML lub zeem muag algorithm qauv rau kev lees paub lub ntsej muag ntawm lub moj khaum los siv lub ntsej muag lees paub ua haujlwm ntawm lub koob yees duab ua ntejview ntawm GUI screen nrog ib qho yooj yim LVGL GUI example ntawm SLN-TLHMI-IOT pawg thawj coj saib. Hauv daim ntawv thov, example nthuav tawm LVGL GUI npo nrog lub koob yees duab ua ntejview thiab qee cov nyees khawm kom ua rau lub ntsej muag sau npe, lees paub, thiab tshem tawm. Cov ntaub ntawv ntsej muag sau npe khaws cia ntawm Flash ntawm me ntsis file qhov system.
Nyob rau theem siab, daim ntawv sau npe muaj cov ntsiab lus hauv qab no:
- Ua kom lub ntsej muag paub lub ntsej muag ntawm lub moj khaum.
- Ntxiv lub ntsej muag database txhawb ntawm lub moj khaum ntawm file system ntawm Flash.
- Ua raws li LVGL GUI app. Los ntawm cov lus qhia saum toj no, cov ntaub ntawv no pab cov neeg tsim khoom:
- Nkag siab lub moj khaum thiab cov ntse HMI daws software kom tob dua.
- Tsim lawv AI & ML lub ntsej muag lees paub ntawm lub moj khaum nrog LVGL GUI app.
Ncej dhauview
Cov kev daws teeb meem software feem ntau yog tsim los ntawm kev siv lub moj khaum architecture uas yog tsim los ntawm ntau qhov sib txawv:
- Cov cuab yeej tswj hwm - qhov tseem ceeb
- Hardware Abstraction Layer (HAL) Devices
- Cov lus / Txheej xwm
Raws li pom hauv daim duab 1, qhov dhauview ntawm lub mechanism ntawm lub moj khaum yog:
Cov tswj cuab yeej yog lub luag haujlwm rau kev tswj cov cuab yeej siv los ntawm qhov system. Txhua hom ntaus ntawv (cov tswv yim, tso zis, thiab lwm yam) muaj nws tus kheej hom-tswj ntaus ntawv tus thawj tswj. Nrog tus thawj tswj ntaus ntawv pib tom qab cov cuab yeej tau sau npe rau nws, nws tos thiab tshawb xyuas cov lus kom hloov cov ntaub ntawv mus rau cov khoom siv thiab lwm tus thawj tswj hwm tom qab pib thiab pib cov cuab yeej sau npe. Cov cuab yeej HAL tau sau rau saum toj ntawm cov lej tsav tsheb qis, pab txhawb kev nkag siab cov lej los ntawm kev paub txog ntau yam ntawm cov ntsiab lus.
Cov xwm txheej yog ib txoj hauv kev uas cov ntaub ntawv sib txuas lus ntawm cov khoom siv sib txawv ntawm lawv cov thawj coj. Thaum ib qho kev tshwm sim tshwm sim, lub cuab yeej uas thawj zaug tau txais qhov kev tshwm sim sib txuas lus qhov xwm txheej ntawd rau nws tus thawj tswj hwm, tom qab ntawd nws ceeb toom rau lwm tus thawj tswj hwm uas tau txais kev tshwm sim.
Kev tsim vaj tsev ntawm lub moj khaum yog nyob rau ntawm peb lub hom phiaj tseem ceeb:
- Yooj yim siv
- Flexibility / Portability
- Kev ua tau zoo
Lub moj khaum yog tsim los nrog lub hom phiaj ntawm kev ua kom lub sijhawm ua lag luam rau kev pom thiab lwm yam kev siv tshuab-kev kawm. Txhawm rau kom lub sijhawm nrawm rau kev ua lag luam, nws yog ib qho tseem ceeb uas cov software nws tus kheej yooj yim to taub thiab hloov kho. Ua kom lub hom phiaj no nyob rau hauv lub siab, architecture ntawm lub moj khaum yog ib qho yooj yim los hloov kho yam tsis muaj kev txwv, thiab tsis tuaj ntawm tus nqi ntawm kev ua haujlwm.
Yog xav paub ntxiv txog lub moj khaum, saib Smart HMI Software Development User Guide (cov ntaub ntawv MCU-SMHMI-SDUG).
Lub Teeb thiab Ntau Ntau Lub Tsev Qiv Duab (LVGL)
LVGL (Light and Versatile Graphics Library) yog lub tsev qiv ntawv dawb thiab qhib cov duab uas muab txhua yam uas koj xav tau los tsim ib qho GUI nrog cov ntsiab lus yooj yim-rau-siv graphical, zoo nkauj pom kev thiab tsis nco hneev taw.
GUI Guider
GUI Guider yog tus neeg siv-phooj ywg graphical user interface txhim kho cov cuab yeej los ntawm NXP uas ua rau muaj kev txhim kho sai ntawm cov lus pom zoo nrog lub tsev qiv ntawv qhib LVGL cov duab. GUI Guider's drag-and-drop editor ua kom yooj yim siv ntau yam ntawm LVGL xws li widgets, animations, thiab styles los tsim GUI nrog tsawg lossis tsis muaj coding txhua.
Nrog nias ntawm lub pob, koj tuaj yeem khiav koj daim ntawv thov hauv ib puag ncig simulated lossis xa tawm mus rau qhov phiaj xwm phiaj xwm. Tsim cov cai los ntawm GUI Guider tau yooj yim muab ntxiv rau koj qhov project, ua kom cov txheej txheem txhim kho thiab tso cai rau koj kom seamlessly ntxiv tus neeg siv cuam tshuam rau koj daim ntawv thov. GUI Guider yog pub dawb rau siv nrog NXP lub hom phiaj dav dav thiab crossover MCUs thiab suav nrog cov qauv tsim ua haujlwm rau ntau lub platform txhawb nqa. Txhawm rau kawm paub ntau ntxiv txog LVGL thiab GUI kev txhim kho ntawm GUI Guider, tshawb xyuas Lub Teeb thiab Ntau Ntau Lub Tsev Qiv Ntawv thiab GUI Tus Coj.
Kev loj hlob ib puag ncig
Ua ntej, npaj thiab teeb tsa lub hardware thiab software ib puag ncig rau kev siv tus example ntawm lub moj khaum.
Hardware ib puag ncig
Lub hardware ib puag ncig yog teeb tsa rau kev txheeb xyuas tus example:
- Cov khoom siv ntse HMI txhim kho raws li NXP i.MX RT117H (cov khoom siv SLN_TLHMI_IOT)
- SEGGER J-Link nrog 9-pin Cortex-M adapter thiab V7.84a lossis tus tsav tsheb tshiab
Software ib puag ncig
Lub software ib puag ncig yog tsim los tsim tus example:
- MCUXpresso IDE V11.7.0
- GUI Guider V1.6.1-GA
- lvgl_gui_camera_preview_cm7 - ejample code ntawm daim ntawv thov thib ob raws li lub hauv paus software ntawm kev txhim kho. Yog xav paub ntxiv, saib https://mcuxpresso.nxp.com/appcodehub.
- RT1170 SDK V2.13.0 - raws li cov ntaub ntawv code rau kev txhim kho.
- SLN-TLHMI-IOT software V1.1.2 - ntse HMI qhov chaws tso tawm ntawm NXP GitHub repository raws li cov cai peev txheej rau kev txhim kho. Yog xav paub ntxiv, saib: GitHub – NXP/mcu-smhmi ntawm v1.1.2
Yog xav paub meej txog qhov tau txais thiab teeb tsa ntawm qhov chaw software, saib: Pib nrog SLN-TLHMI-IOT.
Vision architecture ntawm lub moj khaum
Lub zeem muag architecture ntawm lub moj khaum yog qhia hauv daim duab 2. Lub zeem muag algo HAL (OASIS_HAL) muaj cov txheej txheem hauv qab no:
- Ua ntsej muag rau npe thiab lees paub los ntawm AI & ML vision algorithm qauv tom qab tau txais cov xwm txheej cuam tshuam los ntawm cov zis UI HAL. Ceeb toom rau qhov kev xav tau los ntawm tus qauv algorithm rau cov zis UI HAL.
- Accesses (ntxiv, rho tawm…) lub ntsej muag feature database raws li me ntsis file system los ntawm kev hu rau APIs ntawm FaceDB HAL tom qab tau txais cov xwm txheej cuam tshuam los ntawm cov zis UI HAL.
- Thov lub koob yees duab yees duab thav duab los ntawm lub koob yees duab HAL thaum ua lub ntsej muag sau npe thiab lees paub.
Siv lub ntsej muag lees paub ntawm lub moj khaum
LVGL GUI face recognition example (example yog muab tom qab) ntawm lub moj khaum yog siv raws li example codes of Implement LVGL GUI Camera Preview ntawm Framework (cov ntaub ntawv AN14147).
Rau kev ua kom pom lub ntsej muag paub hauv example, cov haujlwm tseem ceeb ntawm GUI app (saib lub vijtsam tseem ceeb hauv daim duab 3) yog tsim raws li tau piav qhia hauv qab no:
- Lub GUI app ua rau lub ntsej muag sau npe lossis kev lees paub rau qhov tso zis UI HAL thaum nias lub pob Sau npe lossis lees paub. Thiab cov zis UI HAL ceeb toom qhov tshwm sim ntawm kev ntxiv tus neeg siv rau lub zeem muag algo HAL tom qab lub ntsej muag sau npe ua tiav.
- Lub GUI app ua rau muaj qhov tshwm sim ntawm kev rho tawm tus neeg siv rau qhov tso zis UI HAL thaum nias lub pob Rho tawm Tus Neeg Siv tom qab lub ntsej muag ntawm tus neeg siv tau lees paub.
- GUI app ua rau muaj qhov tshwm sim ntawm kev nres lub oasis algo khiav mus rau qhov tso zis UI HAL thaum nias lub vijtsam sab nraum cov nyees khawm thiab cov duab.
Npaj cov pob software rau kev siv ntawm example.
- Clone lub hauv paus software lvgl_gui_camera_preview_cm7 ua. Hloov lub npe qhov project thiab lub ntsiab filenpe lvgl_gui_face_rec_cm7.
- Lub moj khaum yuav tsum tau hloov kho nyob rau hauv lub software raws li lub hauv paus codes rau lub moj khaum core tau pib rau pej xeem ntawm GitHub los ntawm lub version 1.1.2.
- Hloov lub moj khaum nplaub tshev nrog cov ntawv theej ntawm V1.1.2 los ntawm GitHub tshwj tsis yog rau cov files fwk_log.h thiab fwk_common.h nyob rau hauv inc\ raws li lawv tau hloov kho rau series ntawm daim ntawv thov. Cov kev ua haujlwm tau qhia hauv daim duab 4:
- Rho tawm cov nplaub tshev framework_cm7 nyob rau hauv cov pab pawg libs thiab tshem tawm cov tsev qiv ntawv moj khaum_cm7 thiab nws txoj kev tshawb nrhiav teeb tsa hauv Project> Properties> C / C ++ Tsim> chaw> Cov Chaw> Cuab Yeej> MCU C ++ Linker> Cov Tsev Qiv Ntawv txij li cov cai ntawm cov tub ntxhais tau muab.
Pab kom paub lub ntsej muag feature ntawm lub moj khaum
Lub ntsej muag paub lub ntsej muag yog tsim los ntawm ML vision algorithm qauv muab los ua lub tsev qiv ntawv zoo li qub - lub tsev qiv ntawv oasis lite runtime los ntawm NXP. Lub tsev qiv ntawv yog ib qho me me, muaj txiaj ntsig zoo, hloov kho, thiab ua kom zoo dua AI lub tsev qiv ntawv. Cov qauv no suav nrog kev kuaj pom lub ntsej muag, paub lub ntsej muag, kuaj pom iav, thiab kuaj pom lub neej. Nws tsuas yog muab API OASISLT_run_extended() kom khiav lub ntsej muag lub raj xa dej thaum hloov kho cov txiaj ntsig rau tus neeg hu xov tooj los ntawm kev tshwm sim callbacks, thiab ntxiv / hloov tshiab / rho tawm ntsej muag hauv cov ntaub ntawv los ntawm lub ntsej muag database callbacks tom qab qhia meej cov ntsiab lus ntawm cov ntaub ntawv, callbacks, thiab nco. pas siv los ntawm lub tsev qiv ntawv los ntawm kev hu rau lwm tus API OASISLT_init() ntawm kev pib. Kev hu xovtooj ntawm APIs thiab cov haujlwm hu rov qab yog siv hauv lub zeem muag algo HAL ntawm lub moj khaum.
Ntxiv lub zeem muag algo qauv tsev qiv ntawv
- Luam folder oasis uas muaj cov tsev qiv ntawv thiab cov header muaj feem xyuam file los ntawm ntse HMI\coffee_machine\cm7\libs\ rau hauv lub nplaub tshev libs ntawm example SW.
- Ntxiv txoj kev tshawb nrhiav ntawm header file hauv Project > Properties > C/C ++ Tsim > nqis > Tool Settings > MCU C compiler > Includes and MCU C++ compiler > Includes: “${workspace_loc:/${ProjName}/libs/oasis/include}”
- Ntxiv lib thiab nws txoj kev tshawb nrhiav ntawm Txoj Haujlwm> Cov Khoom> C / C ++ Tsim> chaw> MCU C + + Txuas> Cov Tsev Qiv Ntawv: liboasis_lite2D_DEFAULT_117f_ae.a “${workspace_loc:/${ProjName}/libs/oasis}” thiab macro txhais rau pab kom lub luag haujlwm ntawm Project> Properties> C / C ++ Tsim> chaw> Chaw Chaw> MCU C compiler> Preprocessor thiab MCU C ++ compiler> Preprocessor: SMART_TLHMI_2D
Ua kom pom kev pom algo HAL
Lub zeem muag algo HAL tsav lub zeem muag algo qauv ua haujlwm thiab teb cov txiaj ntsig rau UI tso zis HAL tom qab tau txais cov xwm txheej los ntawm nws.
Txhawm rau pab nws, clone tus tsav tsheb zoo sib xws HAL file qhov twg cov haujlwm hauv qab no raug siv:
- Siv cov callbacks ntawm lub ntsej muag database ua haujlwm thiab tuav cov xwm txheej.
- Tsav lub zeem muag algo ua haujlwm los ntawm kev hu rau APIs ntawm lub tsev qiv ntawv oasis.
- Nkag mus rau tus neeg siv ntsej muag database thiab app database (nws tsis xav tau hauv example) ua.
- Tau txais cov xwm txheej los ntawm thiab xa cov txiaj ntsig mus rau UI HAL.
Cov haujlwm loj los siv HAL rau exampyog:
- Clone tus muaj xws li HAL tsav tsheb file thiab hloov cov npe muaj feem.
- Tshem tawm cov lis dej num cuam tshuam nrog cov ntaub ntawv app ua haujlwm.
- Hloov kho cov ntsiab lus thiab kev ua haujlwm rau kev tuav cov xwm txheej los ntawm cov zis UI HAL ib tus example design.
- Ntxiv cov configurations xav tau nyob rau hauv oasis pib.
Cov kauj ruam ntxaws ntxaws yog raws li hauv qab no:
- Clone hal_vision_algo_oasis_coffeemachine.c. Hloov cov filenpe rau hal_vision_algo_oasis_guifacerec.c. Thiab hloov tag nrho cov hlua CoffeeMachine nrog GUIFaceRec hauv file.
- Tshem tawm cov lis dej num uas muaj cov hlua coffeedb (tsis yog cov ntaub ntawv rhiab) ntsig txog cov ntaub ntawv app, piv txwv liample, #include hal_sln_coffeedb.h.
- Hloov kho qhov ua haujlwm HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() rau kev tuav cov xwm txheej los ntawm cov zis UI HAL.
- Hloov cov ntsiab lus kev tshwm sim kEventFaceRecId_RegisterCoffeeSelection rau kEventFaceRecId_RegisterUserFace thiab cov qauv regCoffeeSelection rau regGUIFaceRec rau qhov kev tshwm sim tuav ntxiv cov ntaub ntawv ntsej muag tshiab rau hauv cov ntaub ntawv.
- Los qhia cov txheej txheem txheej txheem ntawm kev paub lub ntsej muag hauv example, hloov kho qhov tuav hauv rooj plaub ntawm kEventFaceRecID_OasisSetState nrog cov ntsiab lus ntawm cov xeev:
- kOASISLiteState
- Sau npe kOASISLiteState
- Kev lees paub kOASISLiteState
- Nres
- Ntxiv thiab hloov kho cov ntsiab lus ntawm cov xwm txheej tau hais hauv cov kauj ruam saum toj no.
- Luam lub header file smart_tlhmi_event_descriptor.h los ntawm ntse HMI\coffee_machine \cm7\source\event_handlers\ rau hauv lub nplaub tshev qhov chaw ntawm example SW. Hloov kho cov file raws li hauv qab no:
- Hloov cov ntsiab lus kev tshwm sim kEventFaceRecId_RegisterCoffeeSelection rau kEventFaceRecId_RegisterUserFace nyob rau hauv hom enum _event_smart_tlhmi_id thiab cov qauv hlua regCoffeeSelection rau regGUIFaceRec hauv cov struct _event_smart_tl Yog li, hloov cov qauv register_coffee_selection_event_t rau regCoffeeSelection rau register_gui_facerec_event_t.
- Tshem tawm lwm cov ntsiab lus siv rau lub tshuab kas fes app, piv txwv liample, kab lus hais txog lub suab: #include “hal_event_descriptor_voice.h”.
- Ntxiv cov hom kOASISLiteState_Stopped thiab kOASISLiteState_Running rau enum hom oasis_lite_state_t hauv hal_vision_algo.h nyob rau hauv lub moj khaum> hal> lub zeem muag hauv qhov project raws li hauv qab no:
typedef enum _oasis_lite_state {- kOASISLiteState
- Khiav, kOASISLiteState
- Nres, kOASISLiteState
- Kev lees paub,
- kOASISLiteState
- Sau npe, kOASISLiteState
- DeRegistration, kOASISLiteState
- RemoteRegistration, kOASISLiteState
- Suav
- Siv cov kev kho tshiab saum toj no oasis_lite_state_t los kho cov struct oasis_state_event_t hauv hal_event_descriptor_face_rec.h nyob rau hauv lub moj khaum> hal> lub zeem muag hauv qhov project raws li hauv qab no: typedef struct _oasis_state_event_t { oasis_lite_state_state; } oasis_state_event_t;
- Hloov tag nrho kEventInfo_Remote rau kEventInfo_Local rau xa cov xwm txheej los ntawm lub zeem muag algo HAL mus rau lwm HALs khiav ntawm tib lub tub ntxhais ib leeg tsis siv dual-core yog siv hauv example.
- Ntxiv thiab hloov kho cov kev teeb tsa hauv qab no rau oasis pib hauv OASISLT_init():
- Ntxiv cov ntsiab lus macro thiab lub cim xeeb rau cov thav duab video hauv board_define.h: #define OASIS_RGB_FRAME_WIDTH 800
- #define OASIS_RGB_FRAME_HEIGHT 600
- #define OASIS_RGB_FRAME_SRC_FORMAT kPixelFormat_YUV1P444_RGB
- #define OASIS_RGB_FRAME_BYTE_PER_PIXEL 3
- #define AT_FB_SHEM_SECTION_ALIGN(var, alignbytes) \
- __attribute__((section(“.bss.$fb_sh_mem,\”aw\”,%nobits @”))) var
- __attribute__((aligned(alignbytes)))
- Config lub cim xeeb ua haujlwm rau lub cim xeeb saum toj no fb_sh_mem ntawm Project> Properties> C / C ++ Tsim> MCU Chaw qhia hauv daim duab 5:
- Tshaj tawm lub ntiaj teb hloov pauv g_DTCOPBuf hauv lvgl_gui_face_rec_cm7.cpp: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
- Txuas ntxiv mus ntxiv cov ntsiab lus siv nyob rau hauv qhov sib txawv saum toj no:
- Txhais cov seem saum toj no hauv board_define.h:
- #define AT_NONCACHEABLE_SECTION_ALIGN_DTC(var, alignbytes) \
- attribute__((section(“.bss.$SRAM_DTC_cm7,\”aw\”,%nobits @”))) var
- attribute__((aligned(alignbytes)))
- suav nrog lub header file hal_vision_algo.h muaj cov ntsiab lus macro DTC_OPTIMIZE_BUFFER_SIZE hauv app_config.h suav nrog lvgl_gui_face_rec_cm7.cpp.
- Ntxiv cov ntsiab lus macro thiab lub cim xeeb rau cov thav duab video hauv board_define.h: #define OASIS_RGB_FRAME_WIDTH 800
- Teem qhov sib txawv ntawm s_debugOption kom muaj tseeb rau kev qhia txog kev ua tiav ntawm lub ntsej muag lees paub.
- Ntxiv txoj kev tshawb nrhiav ntawm header files ntawm lub zeem muag HAL ntawm Project > Properties > C/C ++ Tsim > chaw > Cuab Yeej > MCU C compiler > suav thiab MCU C ++ compiler > suav nrog: "${workspace_loc:/${ProjName}/framework/hal/vision}"
- Ntxiv cov ntsiab lus hauv qab no txhawm rau ua kom pom kev pom algo HAL hauv board_define.h: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec
Qhib cov zis UI HAL
Cov zis UI HAL ceeb toom cov xwm txheej rau lub zeem muag algo HAL thiab teb rau qhov kev xav tau los ntawm lub zeem muag algo HAL. Nrog rau GUI app, cov xwm txheej feem ntau tshwm sim los ntawm lub app thiab cov txiaj ntsig tau tshwm sim ntawm lub app.
Txhawm rau pab nws, clone tus tsav tsheb zoo sib xws HAL file qhov twg feem ntau cov haujlwm hauv qab no yog siv:
- Ceeb toom cov xwm txheej rau kev paub lub ntsej muag thiab kev nkag mus rau cov ntaub ntawv.
- Siv cov callbacks rau GUI app los ua kom cov xwm txheej.
- Kov qhov kev xav tau los ntawm lub zeem muag algo module.
- Qhia cov txheej txheem thiab cov txiaj ntsig ntawm cov xwm txheej tuav ntawm UI los ntawm qhov kev ua tiav bar tswj nrog cov timers thiab lub ntsej muag qhia duab plaub.
Cov haujlwm loj los siv HAL rau exampuas siv nyob rau hauv cov ntaub ntawv no yog:
- Clone tus muaj xws li HAL tsav tsheb file thiab hloov cov npe muaj feem.
- Tshem tawm cov lis dej num ntsig txog lub app.
- Hloov kho cov haujlwm rau cov xwm txheej ceeb toom thiab cov ntsiab lus teb rau tus example design.
- Ntxiv cov callbacks rau GUI app kom ua rau cov xwm txheej.
Cov kauj ruam ntxaws ntxaws yog raws li hauv qab no:
- Clone hal_output_ui_coffee_machine.c. Hloov cov filenpe rau hal_output_ui_guifacerec.c.
- Hloov tag nrho cov hlua CoffeeMachine nrog GUIFaceRec hauv file.
- Tshem tawm cov lej cuam tshuam nrog lub app - kas fes tshuab.
- Tshem tawm cov haujlwm WakeUp() thiab _StandBy() thiab cov lej cuam tshuam (tej zaum yuav tshawb cov hlua wake_up thiab standby rau lawv).
- Tshem tawm ua ntejview hom xwm txheej tuav cov lej cuam tshuam hauv HAL_OutputDev_UiGUIFaceRec_Input Notify().
- Tshem tawm cov haujlwm UI_xxx_Callback() thiab cov lej uas muaj cov hlua gui_ thiab tshuaj ntsuam ntsig txog GUI ntawm lub tshuab kas fes tshwj tsis yog rau gui_set_virtual_face() rau qhov ua ntejview hom feature.
- Tshem tawm tag nrho cov lej cuam tshuam nrog cov hloov pauv s_IsWaitingAnotherSelection thiab s_IsWaitingRegisterSelection cuam tshuam nrog lub tshuab kas fes app.
- Tshem tawm cov lej ntsig txog lub suab, suab, thiab lus. Rau example:
- # suav nrog “hal_voice_algo_asr_local.h”,
- # suav nrog “hal_event_descriptor_voice.h”
- Rau ntau yam xwm txheej ceeb toom, siv cov haujlwm tshiab _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFaceRec(), thiab DeregisterGUIFaceRec() xa mus rau cov haujlwm _StopFaceRec(), _RegisterCoffeeSelection(), thiab DeregisterCoffeeSelection() ua ntej lawv.
- Lub _OutputManagerNotify() siv cov kev tshwm sim hauv paus tso zis muaj nuj nqi xa ib qho kev tshwm sim rau lub zeem muag algo HAL. Cov haujlwm hauv qab no hu nws xa lawv cov xwm txheej.
- Lub _SetFaceRec() xa qhov kev tshwm sim kEventFaceRecID_OasisSetState los ua rau lub zeem muag algo rau npe ntsej muag, lees paub, thiab nres lub algo.
- Lub _RegisterGUIFaceRec() xa cov kev tshwm sim kEventFaceRecId_RegisterGUIFaceRec uas tau txhais hauv smart_tlhmi_event_descriptor.h ntxiv cov ntaub ntawv ntsej muag rau cov ntaub ntawv thaum sau npe OK.
- Lub DeregisterGUIFaceRec() xa cov xwm txheej kEventFaceRecID_DelUser tshem tawm cov ntaub ntawv ntsej muag ntawm cov ntaub ntawv thaum dhau lub ntsej muag lees paub.
- Hloov kho cov lis dej num kom ua raws li cov kev coj ua xws li rov ua dua GUI los ntawm kev hu rau APIs los ntawm LVGL GUI app rau cov txiaj ntsig ntawm kev sau npe ntsej muag thiab kev lees paub hauv kev ua haujlwm _InferComplete_Vision() ib tus example design. Rau example, thaum lub ntsej muag sau npe ua tiav,
- Tsis pom qhov kev nce qib los ntawm kev hu _FaceRecProcess_Stop();
- Nres lub ntsej muag sau npe los ntawm kev hu _SetFaceRec(kOASISLiteState_Stopped);
- Qhia qhov ua tiav ntawm GUI: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
- Sau npe cov ntaub ntawv ntsej muag rau hauv database: _RegisterUserFace(s_UserId);
- Ntxiv UI callback functions los lis cov xwm txheej: ua ntejview, ntsej muag sau npe, lees paub, thiab tshem tawm cov neeg siv tau tshwm sim los ntawm GUI. Rau example, lub ntsej muag npe hu rov qab: void UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration); _FaceRecProcess_Start(); }
- Thiab ntxiv cov haujlwm _FaceRecProcess_Start() thiab _FaceRecProcess_Stop() los qhia txog kev nce qib thiab xwm txheej hauv cov xwm txheej sib txawv thiab cov txiaj ntsig.
- Hloov kho lub timer ISR callback muaj nuj nqi _SessionTimer_Callback() los lis cov ntaub ntawv ntawm lub sij hawm tawm los ntawm kev hu: gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
- Ntxiv cov ntsiab lus hauv qab no txhawm rau pab kom UI tso zis HAL hauv board_define.h: #define ENABLE_OUTPUT_DEV_UiGUIFaceRec
Daim ntawv ceeb toom:
Txhawm rau nthuav qhia lub ntsej muag paub zoo dua, ua kom muaj nuj nqi los qhia cov txheej txheem thiab cov txiaj ntsig ntawm kev paub lub ntsej muag hauv cov zis UI HAL. Cov haujlwm tau piav qhia raws li hauv qab no
- Daim duab qhia lub ntsej muag qhia pom xiav, thiab qhov kev nce qib qhia tau hais tias kev nce qib thaum pib lub ntsej muag sau npe lossis lees paub.
- Daim duab qhia lub ntsej muag qhia pom liab thaum lub ntsej muag sau npe ua tiav.
- Daim duab qhia lub ntsej muag qhia pom ntsuab thaum pom lub ntsej muag ua tiav.
- Daim duab qhia lub ntsej muag ua kom xiav, thiab qhov kev kawm bar qhia tag nrho cov kev vam meej thaum qhov kev txiav txim ua tsis tiav tom qab lub sij hawm tas sij hawm. Thaum lub sijhawm ntawd, nres lub ntsej muag sau npe lossis lees paub.
Qhov kev kawm bar thiab lub ntsej muag qhia duab plaub yog nthuav tawm raws li cov cim uas tau tsim rau hauv cov peev txheej binary file yuav tsum programmed rau hauv Flash. Cov taw tes rau cov cim icons cov ntaub ntawv ntawm SDRAM tau teeb tsa hauv cov haujlwm LoadIcons(APP_ICONS_BASE) hu rau ntawm qhov tso zis UI HAL ntaus ntawv pib hauv cov zis UI HAL. Nws yuav tsum siv cov cim icons txhawb nqa rau kev ua haujlwm.
Siv cov kev txhawb nqa icons
- Tsim cov peev txheej sib txuas cov cim nrog cov duab siv hauv LVGL GUI app:
- Clone plaub lub icon header files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, thiab virtual_face_red_420x426.h los ntawm ntse HMI
\coffee tshuab\resource\icons\ mus rau cov tshiab nplaub tshev icons nyob rau hauv lub resource folder example SW. - Ntxiv txoj kev tshawb nrhiav rau plaub lub cim files hauv camera_preview_resource.txt file nyob rau hauv cov ntaub ntawv folder, example: icon ../resource/icons/process_bar_240x14.h
- Ua lub koob yees duab_preview_resource_build.bat los tsim cov dluab thiab icons peev txheej los tsim lub hauv paus file camera_preview_resource.bin thiab cov ntaub ntawv file resource_information_table.txt (Saib daim duab 6).
- Clone plaub lub icon header files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, thiab virtual_face_red_420x426.h los ntawm ntse HMI
- Txhais qhov chaw pib ntawm SDRAM thiab qhov loj ntawm cov cim hauv app_config.h. Qhov chaw nyob pib ntawm ib sab ntawm cov duab ntawm GUI app. Qhov loj yog tsim nyob rau hauv cov ntaub ntawv file. #define APP_ICONS_BASE (APP_RES_SHEM_BASE + APP_LVGL_IMGS_SIZE) #define APP_ICONS_SIZE 0x107c40
- Hloov kho qhov loj me ntawm lub cim xeeb lub npe res_sh_mem rau 0x200000 los ntawm kev rov txhais nws hauv app_config.h: #define RES_SHEM_TOTAL_SIZE 0x200000 thiab qhov chaw sib raug hauv Project> Properties> C / C ++ Tsim> MCU nqis.
- Ntxiv cov icon loj rau tag nrho qhov loj ntawm cov peev txheej thauj khoom los ntawm Flash rau SDRAM hauv kev ua haujlwm APP_LoadResource() hauv lub ntsiab file lvgl_gui_face_rec_cm7.cpp: memcpy((void *)APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);
Daim ntawv ceeb toom: Txhawm rau ua kom tiav lub ntsej muag lees paub, LVGL GUI app txhawb nqa yuav tsum tau ua. Lub UI hu rov qab ua haujlwm hauv cov zis UI HAL raug hu los ntawm LVGL GUI app los tuav cov xwm txheej los ntawm UI screen. Ntawm qhov tod tes, cov zis UI HAL hu rau APIs los ntawm LVGL GUI app los hloov kho UI los qhia qhov tshwm sim thiab xwm txheej. Txoj kev txhim kho ntawm LVGL GUI app yog tus kheej ywj pheej thiab tau qhia hauv Tshooj 4.3.
4.1.5 Pib HAL cov cuab yeej thiab cov thawj coj kom paub lub ntsej muag
Lub zeem muag qhib algo HAL thiab UI tso tawm HAL thiab lawv cov thawj coj tau pib hauv lub ntsiab file
lvgl_gui_face_rec_cm7.cpp tom qab kev hloov pauv ntawm kev txhim kho ntawm lub moj khaum raws li hauv qab no:
- suav nrog lub header file muaj feem xyuam rau ob tus thawj tswj hwm HAL los ntawm kev ntxiv cov kab code:
- #include ”fwk_output_manager.h”
- # suav nrog “fwk_vision_algo_manager.h”
- Tshaj tawm cov khoom siv HAL:
- HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
- HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
- Sau npe cov khoom siv HAL:
- HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
- HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
- Initialize cov managers:
- FWK_MANAGER_INIT(VisionAlgoManager, rov);
- FWK_MANAGER_INIT(OutputManager, ret);
- Pib cov thawj tswj:
- FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
- FWK_MANAGER_START(OutputManager, OUTPUT_MANAGER_TASK_PRIORITY, ret);
- Txhais qhov tseem ceeb ntawm tus thawj tswj haujlwm:
- #define VISION_ALGO_MANAGER_TASK_PRIORITY 3
- #define OUTPUT_MANAGER_TASK_PRIORITY 1
Ntxiv lub ntsej muag database txhawb ntawm lub moj khaum
Cov ntaub ntawv sau npe ntsej muag tau nkag mus rau hauv lub ntsej muag database khaws cia ntawm Flash ntawm me ntsis file qhov system. Cov kauj ruam ntxiv rau kev txhawb nqa lub ntsej muag database tau piav qhia hauv qab no.
Ntxiv cov tsav tsheb rau Flash cia
Luam qhov Flash interface FlexSPI tsav tsheb files fsl_flexspi.c thiab fsl_flexspi.h, thiab cov ntaub ntawv encryption tsav tsheb files fsl_caam.c thiab fsl_caam.h los ntawm txoj kev SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ mus rau cov ntawv tais ceev tseg ntawm tus example SW.
Ntxiv kev txhawb nqa pawg thawj coj
- Ntxiv cov ntsiab lus ntawm FlexSPI siv rau lub Flash ntaus ntawv nyob rau hauv board.h:
- #define BOARD_FLEXSPI FLEXSPI1
- #define BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1
- #define BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE
- Luam tus neeg teb xov tooj thiab teeb tsa files ntawm lub Flash ntaus ntawv flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, andsln_flash_ops.h nyob rau hauv txoj kev ntse HMI\coffee_machine\flash lubcm7ample SW.
- Uncheck "Exclude resource from build" in C/C++ Build > Settings tom qab right-clicking on the files 'lub npe thiab qhib lub Properties rau enabling lawv tsim rau hauv qhov project.
- Hloov cov header nrog filenpe sln_flash_config.h rau sln_flash_config_w25q256jvs.h hauv sln_flash_config.c thiab flexspi_nor_flash_ops.h.
- Teem lub FlexSPI1 moos qhov chaw hauv lub file clock_config.c xa mus rau lub tshuab kas fes app.
Ntxiv adapter thiab nruab nrab kev txhawb nqa
- Luam the files sln_flash.c, sln_flash.h, sln_encrypt.c, thiab sln_encrypt.h ua adapter tsav tsheb rau lub file system thiab app los ntawm txoj kev ntawm ntse HMI\coffee_machine\cm7\source\ mus rau lub nplaub tshev qhov chaw ntawm example. Hloov tshiab tshiab files:
- Uncheck "Exclude resource from build" rau lawv rau lub tsev.
- Hloov tag nrho cov header suav nrog file npe sln_flash_config.h rau sln_flash_config_w25q256jvs.h.
- Luam cov ntawv tais ceev tseg filesystem muaj cov APIs rau me ntsis filesystem thiab HAL tsav tsheb los ntawm ntse HMI \coffee_machine\cm7\source\ rau example SW. Thiab hloov tshiab rau lub nplaub tshev tshiab:
- Uncheck "Exclude resource from build" rau nws rau lub tsev.
- Ntxiv cov kev suav nrog rau nws hauv qhov project nqis: “${workspace_loc:/${ProjName}/filesystem}”
- Hloov cov header nrog file npe sln_flash_config.h rau sln_flash_config_w25q256jvs.h thiab fica_definition.h rau app_config.h hauv lub file sln_flash_littlefs.h.
- Luam cov nplaub tshev littlefs uas muaj cov khoom nruab nrab - me me filesystem los ntawm txoj kev SDK_2_13_0_ MIMXRT1170-EVK\middleware\ rau example SW. Thiab hloov kho lub nplaub tshev tshiab:
- Uncheck "Exclude resource from build" rau nws rau lub tsev.
- Ntxiv cov kev suav nrog rau nws hauv qhov project nqis: “${workspace_loc:/${ProjName}/littlefs}”
Ntxiv HAL tsav tsheb
- Muaj ob yam khoom siv HAL - file system thiab ntsej muag database HAL txhawb nqa rau cov ntaub ntawv nkag mus rau qhov tshwj xeeb thiab lawv twb tau ua tiav hauv lub moj khaum yam tsis muaj kev hloov pauv. Pab kom lawv los ntawm kev ntxiv cov ntsiab lus hauv qab no hauv board_define.h:
- #define ENABLE_FLASH_DEV_Littlefs
- #define ENABLE_FACEDB
Thiab hloov lub ntsej muag database npe rau example: #define OASIS_FACE_DB_DIR “oasis_gui_face_rec”
Ntxiv kev txhawb nqa app
- Hloov kho lub ntsiab file lvgl_gui_face_rec_cm7.cpp:
- suav nrog lub header file muaj feem xyuam rau lub Flash file system HAL tus thawj tswj los ntawm kev ntxiv cov kab code: #suav nrog “fwk_flash.h”
- Tshaj tawm thiab sau npe file system HAL ntaus ntawv:
- HAL_FLASH_DEV_DECLARE(Littlefs);
- HAL_FLASH_DEV_REGISTER(Littlefs, ret);
Nco tseg: Cov file system HAL ntaus ntawv yuav tsum tau sau npe ua ntej tag nrho cov cuab yeej tswj tau pib ua haujlwm hauv APP_InitFramework().
- Hu rau txoj haujlwm BOARD_ConfigMPU() hauv APP_BoardInit() txhawm rau txhim kho MPU.
- Teeb lub file kev ua haujlwm ntawm Flash hauv qhov system file app_config.h los ntawm kev txhais cov ntsiab lus macro siv hauv file sln_flash_littlefs.h:
- #define FICA_IMG_FILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHEM_TOTAL_SIZE)
- #define FICA_FILE_SYS_SIZE (0x280000)
Configurations
Qee cov lej ntsig txog Flash raug tua hauv SRAM ITC cheeb tsam kom ua tau zoo txaus. Luam cov folder linkscripts uas muaj cov linker configurations los ntawm txoj kev ntse HMI\coffee_machine\cm7\ rau example SW.
Ua raws li LVGL GUI app
Kev txhim kho ntawm LVGL GUI app raws li lub moj khaum hu rau APIs los ntawm cov zis UI HAL thiab muab cov APIs tso tawm UI HAL (Saib Tshooj 4.1.3 rau kev siv cov zis UI HAL).
Txawm li cas los xij, cov ncauj lus kom ntxaws txog kev siv LVGL GUI app nyob ntawm qhov yuav tsum tau ua thiab tsim daim ntawv thov. GUI app hauv no example yog tsim raws li tau piav nyob rau hauv qhov pib ntawm ntu 4.
Hauv qab no yog cov lus qhia txog kev siv:
- Cov lis dej num kho kom haum yog siv nyob rau hauv custom.c thiab custom.h muab los ntawm GUI Guider ua qhov sib cuam tshuam ntawm GUI Guider project thiab qhov project embedded system.
- Ntxiv cov haujlwm tshiab hu ua gui_xxx() hauv custom.c kom ua tiav cov haujlwm hauv qab no:
- Rau tso zis UI HAL thiab GUI app hloov tshiab UI.
- Rau GUI app los ua kom tshwm sim los ntawm kev hu rau UI hu rov qab ua haujlwm los ntawm cov zis UI HAL.
Rau example, txoj haujlwm tshiab gui_event_face_rec_action() hu UI hu rov qab ua haujlwm los tswj ib qho ntawm cov xwm txheej ntawm kev sau npe ntsej muag, lees paub lub ntsej muag thiab tshem tawm cov neeg siv tau tshwm sim los ntawm GUI app thaum lub pob cuam tshuam raug nyem.
Nco tseg: Lub luag haujlwm gui_set_virtual_face() hu ua hauv cov zis UI HAL rau ua ntejview hom yuav tsum tau ua nyob rau hauv custom.c:
- Clone muaj nuj nqi gui_set_virtual_face() los ntawm ntse HMI\coffee_machine\cm4\custom \custom.c.
- Hloov lub widget lub npe home_img_cameraPreview rau screen_img_camera_preview hauv kev ua haujlwm.
- Ua raws li UI hu rov qab ua haujlwm nrog tib tus qauv rau txhua tus hauv cov zis UI HAL raws li kev tswj hwm ntawm macro txhais #ifndef RT_PLATFORM hauv custom.c kom ua tau raws li GUI Guider project vim tias cov haujlwm no hauv cov zis UI HAL yog nyob ntawm cov embedded platform. Hauv custom.c, lawv nyob ntawm qhov simulator ntawm GUI tus taw qhia thiab muaj kev ywj pheej rau lub platform embedded. Rau example, lub ntsej muag sau npe hu rov qab yog siv raws li hauv qab no rau GUI Guider simulator khiav: #ifndef RT_PLATFORM void UI_Registration_Callback() { gui_hide_del_user_btn(true); s_InAction = cuav; rov qab los; }
Nco tseg: Xa mus rau tib tus qauv ntawm kev ua haujlwm tau qhia hauv kauj ruam 6 ntawm Tshooj 4.1.3
Lub macro txhais RT_PLATFORM yog teem rau ntawm qhov project nqis ntawm MCUXpresso raws li qhia hauv daim duab 7: - Tshaj tawm tag nrho cov haujlwm hu ua UI_xxx_Callback() thiab gui_xxx() hauv custom.h thiab ntxiv custom.h suav nrog hauv smart_tlhmi_event_descriptor.h los qhia GUI APIs rau UI tso zis HAL.
- Ntxiv cov haujlwm tshiab hu ua gui_xxx() hauv custom.c kom ua tiav cov haujlwm hauv qab no:
- Tsim cov GUI ntawm GUI Guider:
- Clone lub koob yees duab folder preview muaj GUI Guider project software nyob rau hauv daim nplaub tshev gui_guider hauv lub hauv paus software pob lvgl_gui_camera_preview_cm7 ua. Hloov lub npe ntsig txog camera_preview rau face_rec rau tus tshiab example.
- Luam cov saum toj no kho tshiab custom.c thiab kev cai. h rau tus tshiab GUI Guider project software.
- Qhib qhov project face_rec tshiab ntawm GUI Guider. Hloov kho raws li hauv qab no:
- Ntxiv lub pob tshiab uas sau tias Delete User. Ntxiv tus chij Hidden rau nws kom lub pob yuav muab zais thaum GUI app pib.
- Ntxiv cov cai kab ntawm kev hu rau API gui_event_face_rec_action() nrog cov xwm txheej sib txawv ID parameter ntawm "Tshaj tawm" tshwm sim hauv qhov xwm txheej teeb tsa ntawm tag nrho cov nyees khawm Sau npe, lees paub thiab rho tawm Tus neeg siv rau kev tshwm sim ntawm lub ntsej muag sau npe, ntsej muag lees paub thiab tshem tawm cov neeg siv. Daim duab 8 qhia cov cai rau qhov kev tshwm sim ntawm khawm Sau npe:
- Hloov kho cov cai tsim los ntawm GUI Guider rau MCUXpresso qhov project.
- Hloov cov ntsiab lus tshwj tsis yog rau cov duab nplaub tshev hauv daim nplaub tshev tsim los ntawm MCUXpresso qhov project SW nrog cov khoom sib xws hauv daim nplaub tshev tsim los ntawm GUI Guider project SW.
Nco tseg: Yog xav paub ntxiv txog cov kev hloov kho uas tau qhia saum toj no, kos tus example software at https://mcuxpresso.nxp.com/appcodehub.
Kev txheeb xyuas nrog tus exampua project
Kom tau tus example software pob uas muaj cov peev txheej thiab cov cuab yeej rau daim ntawv thov no, mus saib: https://mcuxpresso.nxp.com/appcodehub. Qhib tus examprau qhov project ntawm MCUXpresso IDE. Tsim thiab program lub .axf file mus rau qhov chaw nyob 0x30000000 thiab program cov peev txheej hauv file camera_preview_resource.bin rau qhov chaw nyob 0x30800000.
LVGL GUI face recognition example ua haujlwm ib txwm raws li hauv qab no:
- Ua ntejview: Nrog lub zog nce, cov kwj yees duab ntes tau los ntawm lub koob yees duab qhia ntawm thaj chaw tshwj xeeb ntawm lub koob yees duab ua ntejview ntawm GUI screen. Daim ntawv teev xwm txheej qhia "Preview… ”. Kom paub meej, saib daim duab 3. Lub khawm Rho tawm Tus Neeg Siv tau muab zais. Thaum nyem qhov chaw sab nraum cov nyees khawm thiab cov duab, nws qhia tau hais tias ua ntejview xeev raws li cov saum toj no tom qab lub ntsej muag sau npe lossis kev lees paub ua tiav.
- Kev sau npe:
- tartup: Thaum nias lub khawm Registration, lub ntsej muag sau npe pib. Daim ntawv teev xwm txheej hloov mus tso saib "Sau npe ...", daim duab qhia lub ntsej muag qhia pom xiav, thiab qhov kev nce qib pib qhia qhov kev nce qib. Xyuas kom tseeb tias tus neeg siv lub ntsej muag uas qhia rau hauv daim duab xiav lub ntsej muag qhia duab plaub rau kev sau npe.
- uccess: Daim ntawv teev xwm txheej qhia tau hais tias "Sau npe… OK" thiab tus lej siv tus lej ID, daim duab qhia lub ntsej muag yuav liab yog tias lub ntsej muag sau npe ua tiav ua ntej qhov kev nce qib qhia tag nrho ntawm qhov bar.
- Tsis Ua Haujlwm -> Sijhawm Tawm: Daim ntawv teev xwm txheej qhia tau hais tias "Sau npe… Sijhawm tawm" yog tias daim ntawv sau npe tseem ua tsis tiav thaum qhov kev nce qib qhia tag nrho ntawm qhov bar.
- Failure -> Duplication: Daim ntawv teev xwm txheej qhia tias "Sau npe… Ua tsis tiav", daim ntawv qhia lub ntsej muag duab plaub yuav ntsuab yog tias lub ntsej muag tau lees paub ua ntej qhov kev nce qib qhia tag nrho ntawm qhov bar.
- kev paub:
- Pib: Thaum nias lub pob paub, lub ntsej muag paub pib. Daim ntawv teev cov xwm txheej hloov mus tso saib "Kev lees paub ...", daim duab qhia lub ntsej muag qhia pom xiav, thiab qhov kev nce qib pib qhia qhov kev nce qib. Nco ntsoov tias tus neeg siv lub ntsej muag tau pom nyob rau hauv daim ntawv qhia lub ntsej muag xiav daim duab plaub rau kev sau npe.
- uccess: Daim ntawv teev xwm txheej qhia tau hais tias "Kev lees paub… OK" thiab tus lej siv tus lej ID, daim duab qhia lub ntsej muag yuav ntsuab yog tias lub ntsej muag lees paub ua tiav ua ntej qhov kev nce qib qhia tag nrho ntawm qhov bar. Ntawm qhov taw tes, lub pob Delete User tshwm. Nws txhais tau hais tias tus neeg siv raug tso cai kom raug tshem tawm tsuas yog thaum nws tau lees paub.
- ailure: Daim ntawv teev xwm txheej qhia tau hais tias "Kev lees paub… Sijhawm tawm" yog tias kev lees paub lub ntsej muag tseem ua tsis tiav thaum qhov kev nce qib qhia tag nrho ntawm qhov bar.
- Rho tawm neeg siv: Thaum lub khawm "Delete User" yog nyem, tom qab lub ntsej muag paub meej, cov xwm txheej daim ntawv lo hloov mus tso saib "Delete User… OK" nrog rau lub ntsej muag qhia duab plaub ua xiav thiab cov kev kawm uas qhia tag nrho ntawm lub bar. Lub pob Delete User yog muab zais dua. Lub ntsej muag lees paub / tus neeg siv raug tshem tawm ntawm cov ntaub ntawv. Nws txhais tau hais tias lub ntsej muag / tus neeg siv tsis tuaj yeem lees paub txog thaum tau sau npe dua.
Nco ntsoov txog qhov chaws hauv daim ntawv
Example code qhia hauv daim ntawv no muaj cov cai hauv qab no thiab BSD-3-Clause daim ntawv tso cai:
Copyright 2024 NXP Kev faib tawm thiab siv rau hauv cov ntawv thiab binary, nrog lossis tsis muaj kev hloov kho, raug tso cai los ntawm cov xwm txheej hauv qab no:
- Kev faib tawm ntawm qhov chaws yuav tsum khaws cov ntawv ceeb toom kev cai lij choj saum toj no, cov npe ntawm cov xwm txheej no thiab tsis lees paub hauv qab no.
- Kev xa rov qab rau hauv daim ntawv binary yuav tsum rov ua dua daim ntawv ceeb toom kev cai lij choj saum toj no, cov npe ntawm cov xwm txheej no thiab cov lus tsis lees paub hauv qab no hauv cov ntaub ntawv thiab / lossis lwm yam ntaub ntawv yuav tsum muab nrog rau kev faib tawm.
- Tsis yog lub npe ntawm tus tuav ntaub ntawv pov thawj lossis cov npe ntawm nws cov neeg koom tes yuav raug siv los pom zoo lossis txhawb cov khoom lag luam los ntawm cov software no yam tsis muaj ntawv tso cai ua ntej
Cov SOFTWARE no yog muab los ntawm cov neeg tuav pov hwm txoj cai thiab cov koom tes "raws li yog" thiab txhua yam kev tshaj tawm lossis kev lav phib xaub, suav nrog, tab sis tsis txwv rau, SAIB XYUAS QHOV CHAW UA HAUJ LWM ntawm MERCHANTABILITY YOG TSIS TXAUS SIAB. YUAV TSUM TAU TXAIS KEV TXAUS SIAB RAU LUB SIJ HAWM LOS NTAWM LUB SIJ HAWM NTAWM TXOJ CAI NTAWM TXOJ CAI, INDIRECT, INIDENTAL, Tshwj xeeb, qauv, lossis kev puas tsuaj tshwm sim (xws li, TAB SIS TSIS TXAUS SIAB RAU, PROCURETIMENT Kev pab cuam; poob ntawm kev siv, cov ntaub ntawv, lossis cov nyiaj tau los; lossis kev lag luam cuam tshuam) Txawm li cas los xij ua rau thiab nyob rau txhua txoj kev lav phib xaub, txawm tias nyob hauv kev sib cog lus, nruj kev lav phib xaub, lossis lwm yam (nrog rau kev tsis sib haum xeeb) Kev siv cov SOFTWARE no, txawm tias tau hais qhia txog qhov ua tau ntawm qhov kev puas tsuaj ntawd.
Kev kho keeb kwm
Cov ntaub ntawv raug cai
Lus txhais
Draft - Ib tsab ntawv teev xwm txheej ntawm ib daim ntawv qhia tias cov ntsiab lus tseem nyob hauv qhov rov qabview thiab ua raws li kev pom zoo, uas yuav ua rau muaj kev hloov kho lossis ntxiv. NXP Semiconductors tsis muab ib qho kev sawv cev lossis kev lees paub txog qhov raug lossis ua tiav ntawm cov ntaub ntawv muaj nyob rau hauv daim qauv ntawm cov ntaub ntawv thiab yuav tsis muaj lub luag haujlwm rau qhov tshwm sim ntawm kev siv cov ntaub ntawv no.
Tsis lees paub
- Limited warranty thiab lav - Cov ntaub ntawv hauv cov ntaub ntawv no ntseeg tau tias muaj tseeb thiab ntseeg tau. Txawm li cas los xij, NXP Semiconductors tsis muab ib qho kev sawv cev lossis kev lees paub, qhia lossis qhia, raws li qhov raug lossis ua tiav ntawm cov ntaub ntawv no thiab yuav tsis muaj lub luag haujlwm rau qhov tshwm sim ntawm kev siv cov ntaub ntawv no. NXP Semiconductors tsis muaj lub luag haujlwm rau cov ntsiab lus hauv daim ntawv no yog muab los ntawm cov ntaub ntawv xov xwm sab nraud ntawm NXP Semiconductors.
Tsis muaj qhov xwm txheej yuav tsum NXP Semiconductors yuav tsum lav rau ib qho kev tsis ncaj ncees, qhov xwm txheej, kev rau txim, tshwj xeeb lossis kev puas tsuaj (xws li - tsis muaj kev txwv - poob nyiaj, poob nyiaj, kev cuam tshuam kev lag luam, cov nqi cuam tshuam txog kev tshem tawm lossis hloov cov khoom lossis cov nqi rov ua haujlwm) txawm tias los yog tsis yog qhov kev puas tsuaj no yog ua raws li kev tsim txom (xws li kev tsis saib xyuas), kev lav phib xaub, ua txhaum cai ntawm daim ntawv cog lus lossis lwm yam kev cai lij choj.
Txawm hais tias muaj kev puas tsuaj uas cov neeg siv khoom yuav tshwm sim rau ib qho laj thawj dab tsi, NXP Semiconductors 'tag nrho thiab kev lav phib xaub rau cov neeg siv khoom rau cov khoom tau piav qhia hauv no yuav raug txwv raws li Cov Lus Qhia thiab cov xwm txheej ntawm kev muag khoom ntawm NXP Semiconductors. - Txoj cai los hloov - NXP Semiconductors muaj cai hloov pauv cov ntaub ntawv luam tawm hauv daim ntawv no, suav nrog yam tsis muaj kev txwv tshwj xeeb thiab cov lus piav qhia ntawm cov khoom, txhua lub sijhawm thiab yam tsis muaj ntawv ceeb toom. Cov ntaub ntawv no hloov pauv thiab hloov tag nrho cov ntaub ntawv muab ua ntej tshaj tawm ntawm no.
- Haum rau kev siv - NXP Semiconductors cov khoom tsis yog tsim, tso cai los yog lav kom haum rau kev siv hauv kev txhawb nqa lub neej, lub neej tseem ceeb lossis kev nyab xeeb tseem ceeb lossis cov cuab yeej siv, lossis hauv cov ntawv thov uas tsis ua haujlwm lossis ua haujlwm tsis zoo ntawm NXP Semiconductors cov khoom tuaj yeem tsim nyog xav tias yuav tshwm sim. kev raug mob ntawm tus kheej, kev tuag lossis kev puas tsuaj loj lossis ib puag ncig. NXP Semiconductors thiab nws cov neeg muag khoom lees txais tsis muaj kev lav phib xaub rau kev suav nrog thiab / lossis kev siv NXP Semiconductors cov khoom lag luam hauv cov khoom siv lossis cov ntawv thov thiab yog li cov kev suav nrog thiab / lossis kev siv yog nyob ntawm tus neeg siv khoom qhov kev pheej hmoo.
- Daim ntawv thov - Cov ntawv thov uas tau piav qhia hauv no rau ib qho ntawm cov khoom no yog rau kev piav qhia nkaus xwb. NXP Semiconductors ua tsis muaj kev sawv cev lossis kev lees paub tias cov ntawv thov no yuav tsim nyog rau kev siv tshwj xeeb yam tsis muaj kev sim ntxiv lossis hloov kho.
Cov neeg siv khoom yog lub luag haujlwm rau kev tsim thiab kev ua haujlwm ntawm lawv cov ntawv thov thiab cov khoom siv NXP Semiconductors cov khoom, thiab NXP Semiconductors lees txais tsis muaj kev lav phib xaub rau kev pab cuam nrog cov ntawv thov lossis cov khoom tsim khoom. Nws yog tus neeg siv khoom lub luag haujlwm los txiav txim siab seb NXP Semiconductors cov khoom puas tsim nyog thiab haum rau cov neeg siv khoom siv thiab cov khoom lag luam tau npaj, nrog rau kev npaj daim ntawv thov thiab siv cov neeg siv khoom thib peb cov neeg siv khoom. Cov neeg siv khoom yuav tsum muab cov qauv tsim nyog thiab kev tiv thaiv kev ua haujlwm kom txo qis kev pheej hmoo cuam tshuam nrog lawv cov ntawv thov thiab cov khoom lag luam. NXP Semiconductors tsis lees txais ib qho kev lav phib xaub uas muaj feem xyuam rau ib qho kev ua txhaum cai, kev puas tsuaj, cov nqi lossis cov teeb meem uas yog raws li qhov tsis muaj zog lossis ua tsis tau raws li cov neeg siv khoom siv lossis cov khoom siv, lossis daim ntawv thov lossis siv los ntawm cov neeg siv khoom thib peb cov neeg siv khoom. Cov neeg siv khoom yog lub luag haujlwm rau kev ua txhua yam kev ntsuas tsim nyog rau cov neeg siv khoom siv thiab cov khoom siv NXP Semiconductors cov khoom txhawm rau kom tsis txhob muaj qhov ua tsis tiav ntawm cov ntawv thov thiab cov khoom lossis ntawm daim ntawv thov lossis siv los ntawm cov neeg siv khoom thib peb cov neeg siv khoom. NXP tsis lees txais kev lav phib xaub ntawm qhov no. - Cov nqe lus thiab tej yam kev mob ntawm kev muag khoom - NXP Semiconductors cov khoom muag raug muag raws li cov ntsiab lus dav dav thiab cov xwm txheej ntawm kev muag khoom, raws li luam tawm ntawm https://www.nxp.com/profile/terms, tshwj tsis yog tias pom zoo nyob rau hauv daim ntawv cog lus tus neeg siv tau. Yog tias qhov kev pom zoo ntawm tus kheej tau xaus lus tsuas yog cov ntsiab lus thiab cov xwm txheej ntawm qhov kev pom zoo yuav raug siv. NXP Semiconductors ntawm no qhia cov khoom siv rau kev siv cov neeg siv khoom cov ntsiab lus thiab cov xwm txheej hais txog kev yuav khoom ntawm NXP Semiconductors los ntawm cov neeg siv khoom.
- Export tswj - Cov ntaub ntawv no nrog rau cov khoom uas tau piav qhia hauv no tuaj yeem ua raws li cov cai tswj kev xa tawm. Kev xa tawm tuaj yeem xav tau kev tso cai ua ntej los ntawm cov tub ceev xwm muaj peev xwm.
- Kev tsim nyog rau kev siv hauv cov khoom tsis yog tsheb tsim nyog - Tshwj tsis yog tias daim ntawv no qhia meej tias qhov tshwj xeeb NXP Semiconductors cov khoom lag luam yog tsheb tsim nyog, cov khoom lag luam tsis haum rau kev siv tsheb. Nws tsis yog qhov tsim nyog lossis raug kuaj raws li kev kuaj tsheb lossis kev thov kev thov. NXP Semiconductors lees txais tsis muaj kev lav phib xaub rau kev suav nrog thiab / lossis siv cov khoom tsis tsim nyog hauv tsheb hauv cov khoom siv tsheb lossis kev siv.
Yog tias cov neeg siv khoom siv cov khoom siv rau kev tsim-hauv thiab siv hauv kev siv tsheb rau cov tsheb tshwj xeeb thiab cov qauv, cov neeg siv khoom (a) yuav tsum siv cov khoom tsis muaj NXP Semiconductors ' warranty ntawm cov khoom rau xws li kev siv tsheb, siv thiab specifications, thiab ( b) thaum twg cov neeg siv khoom siv cov khoom siv tsheb dhau ntawm NXP Semiconductors ' specifications xws li kev siv yuav tsum tsuas yog ntawm tus neeg siv khoom txaus ntshai, thiab (c) cov neeg siv khoom them nyiaj tag nrho NXP Semiconductors rau ib qho kev lav phib xaub, kev puas tsuaj lossis cov khoom lag luam ua tsis tiav los ntawm cov neeg siv khoom tsim thiab siv. Cov khoom lag luam rau daim ntawv thov tsheb dhau NXP Semiconductors 'tus qauv warranty thiab NXP Semiconductors' khoom specifications. - Kev txhais lus - Cov ntawv tsis yog lus Askiv (tshwj xeeb) ntawm cov ntaub ntawv, suav nrog cov ntaub ntawv raug cai hauv cov ntaub ntawv, tsuas yog siv rau kev siv xwb. Cov lus Askiv version yuav muaj yeej yog tias muaj qhov tsis sib xws ntawm cov ntawv txhais lus thiab lus Askiv.
- Kev ruaj ntseg - Cov neeg siv khoom nkag siab tias txhua yam khoom siv NXP tuaj yeem raug rau qhov tsis muaj qhov tsis zoo lossis tuaj yeem txhawb nqa cov qauv kev ruaj ntseg lossis cov lus qhia tshwj xeeb nrog cov kev txwv paub. Cov neeg siv khoom yog lub luag haujlwm rau kev tsim thiab kev ua haujlwm ntawm nws cov ntawv thov thiab cov khoom lag luam thoob plaws hauv lawv lub neej kom txo tau cov txiaj ntsig ntawm cov kev tsis zoo no rau cov neeg siv khoom thiab cov khoom siv. Cov neeg siv khoom lub luag haujlwm tseem txuas ntxiv mus rau lwm qhov qhib thiab / lossis cov thev naus laus zis uas txhawb nqa los ntawm NXP cov khoom siv rau cov neeg siv khoom siv. NXP lees txais tsis muaj kev lav phib xaub rau txhua qhov tsis zoo. Cov neeg siv khoom yuav tsum tsis tu ncua xyuas kev ruaj ntseg hloov tshiab los ntawm NXP thiab ua raws li tsim nyog. Cov neeg siv khoom yuav tsum xaiv cov khoom uas muaj kev ruaj ntseg zoo tshaj plaws raws li cov cai, kev cai, thiab cov qauv ntawm daim ntawv thov thiab txiav txim siab tsim qhov kawg ntawm nws cov khoom thiab tsuas yog lub luag haujlwm rau kev ua raws li tag nrho cov kev cai lij choj, kev tswj hwm, thiab kev ruaj ntseg ntsig txog nws cov khoom, tsis hais. ntawm cov ntaub ntawv lossis kev txhawb nqa uas yuav muab los ntawm NXP.
NXP muaj Pawg Neeg Saib Xyuas Kev Ruaj Ntseg Teeb Meem (PSIRT) (mus cuag tau ntawm PSIRT@nxp.com) uas tswj xyuas kev tshawb nrhiav, tshaj tawm, thiab kev daws teeb meem rau kev ruaj ntseg tsis zoo ntawm NXP cov khoom.
NXP BV — NXP BV tsis yog lub tuam txhab ua haujlwm thiab nws tsis faib lossis muag cov khoom.
Cov cim lag luam
Daim ntawv ceeb toom: Tag nrho cov npe khoom siv, cov npe khoom, cov npe kev pabcuam, thiab cov cim lag luam yog cov cuab yeej ntawm lawv cov tswv.
NXP - lo lus thiab lub logo yog cov cim lag luam ntawm 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, TiagView. lwm qhov. Cov cuab yeej muaj feem xyuam yuav raug tiv thaiv los ntawm ib qho lossis tag nrho ntawm patents, copyrights, designs thiab trade secrets. Txhua txoj cai.
- i.MX — yog lub cim lag luam ntawm NXP BV
- J-Link - yog lub cim lag luam ntawm SEGGER Microcontroller GmbH.
Microsoft, Azure, thiab ThreadX - yog cov cim lag luam ntawm Microsoft pawg tuam txhab.
Thov nco ntsoov tias cov ntawv ceeb toom tseem ceeb hais txog cov ntaub ntawv no thiab cov khoom uas tau piav qhia hauv no, tau muab tso rau hauv nqe lus 'Cov ntaub ntawv raug cai'.
© 2024 NXP BV
Yog xav paub ntxiv, thov mus saib: https://www.nxp.com
- Hnub tso tawm: 19 Plaub Hlis 2024
- Cov ntaub ntawv IDTIAB SA 14263
FAQ
Q: Lub hom phiaj tseem ceeb ntawm cov khoom no yog dab tsi?
A: Lub hom phiaj tseem ceeb yog txhawm rau ua kom lub ntsej muag lees paub siv AI & ML qhov pom kev algorithm qauv nrog LVGL GUI yooj yim example ntawm SLN-TLHMI-IOT pawg thawj coj saib.
Q: Yuav ua li cas developers tau txais txiaj ntsig los ntawm daim ntawv thov no?
A: Cov neeg tsim khoom tuaj yeem kawm paub yuav ua li cas siv lub ntsej muag lees paub ntawm lub moj khaum cov kauj ruam los ntawm kauj ruam siv tus muab example thiab nkag siab txog cov tswj hwm cov cuab yeej, HAL cov cuab yeej, thiab cov txheej txheem txheej txheem koom nrog.
Cov ntaub ntawv / Cov ntaub ntawv
![]() |
NXP AN14263 Siv LVGL GUI Lub ntsej muag lees paub ntawm Framewor [ua pdf] Cov neeg siv phau ntawv qhia AN14263 Siv LVGL GUI Lub ntsej muag lees paub ntawm Framewor, AN14263, Siv LVGL GUI Lub ntsej muag lees paub ntawm Framewor, LVGL GUI Lub ntsej muag lees paub ntawm Framewor, Lub ntsej muag lees paub ntawm Framewor, Kev lees paub ntawm Framewor, Framewor |