NXP AN14263 په چوکاټ کې LVGL GUI د مخ پیژندنه پلي کوي
د محصول معلومات
مشخصات
- د محصول نوم: په چوکاټ کې د LVGL GUI مخ پیژندنه
- د اسنادو بیا کتنه: 1 – 19 اپریل 2024
- کلیدي کلمې: د مخ پیژندنه، LVGL GUI، چوکاټ
د محصول کارولو لارښوونې
- اوورview
دا محصول په چوکاټ کې د مخ پیژندنې لپاره د AI&ML لید الګوریتم ماډل وړوي ترڅو د ساده LVGL GUI سره د مخ پیژندنې فعالیت پلي کړي.ampپه SLN-TLHMI-IOT بورډ کې. - چوکاټ ختم شوview
د حل سافټویر د چوکاټ جوړښت په شاوخوا کې ډیزاین شوی چې پکې د وسیلو مدیران شامل دي چې د وسیلو مدیریت لپاره مسؤل دي ، د اصلي توضیحاتو خلاصولو لپاره HAL وسیلې ، او د مختلف وسیلو ترمینځ د ارتباط لپاره پیښې. - ځانګړتیاوې
محصول د کیمرې دمخه له لارې د مخ پیژندنې فعالیت پلي کولو ته اجازه ورکويview د GUI په سکرین کې د بټونو سره د مخ راجستریشن، پیژندنه، او لیرې کول پیل کړئ. د مخ ثبت شوي معلومات په فلش کې د الف له لارې زیرمه کیږي file سیسټم - د غوښتنلیک یادښت منځپانګه
د غوښتنلیک یادښت د کیمرې پری سره د LVGL GUI سکرین وړاندې کويview او د مخ پورې اړوند کړنو لپاره بټن. دا د پراختیا کونکو سره مرسته کوي چې چوکاټ پوه شي او د وړاندې شوي ایکس په کارولو سره د مخ پیژندنې پلي کولو څرنګوالیample.
اوورview
NXP د SLN-TLHMI-IOT په نوم د حل پراختیا کټ په لاره اچولی چې په سمارټ HMI غوښتنلیکونو تمرکز کوي. دا په یو NXP i.MX RT117H MCU کې پلي شوي د ML لید ، غږ او ګرافیک UI سره سمارټ HMI وړ کوي. د SDK پراساس، د حل سافټویر د چوکاټ په نوم ډیزاین باندې جوړ شوی چې د انعطاف وړ ډیزاینونو او د لید او غږ فعالیتونو دودیز کولو ملاتړ کوي. د دې لپاره چې کاروونکو سره د سافټویر پلیټ فارم غوره کارولو کې مرسته وکړي، ځینې اساسي اسناد چمتو شوي، د مثال لپارهample، د سافټویر پراختیا کارونکي لارښود. لارښود د غوښتنلیکونو لومړني سافټویر ډیزاین او جوړښت معرفي کوي چې د چوکاټ په شمول د حل ټولې برخې پوښي ترڅو پراختیا کونکو سره مرسته وکړي چې د SLN-TLHMI-IOT په کارولو سره خپل غوښتنلیکونه په اسانۍ او مؤثره توګه پلي کړي.
د حل او اړونده اسنادو په اړه د نورو جزیاتو لپاره، لیدنه وکړئ web د NXP EdgeReady سمارټ HMI حل پاڼه د i.MX RT117H پر بنسټ د ML ویژن، غږ، او ګرافیکي UI سره. په هرصورت، دا لاهم د پراختیا کونکو لپاره دومره اسانه ندي چې خپل سمارټ HMI غوښتنلیکونه دې لومړني لارښودونو ته راجع کړي. د غوښتنلیک نوټونو لړۍ پلان شوې ترڅو په چوکاټ کې ګام په ګام پرمختګ مطالعه کولو کې مرسته وکړي. د دې غوښتنلیک یادښت د پلي کولو LVGL GUI کیمرې پری پراساس دیview په چوکاټ کې (AN14147 سند). د دې غوښتنلیک یادښت تشریح کوي چې څنګه په چوکاټ کې د مخ پیژندنې لپاره د AI&ML لید الګوریتم ماډل فعال کړئ ترڅو د مخ پیژندنې فعالیت د کیمرې دمخه له لارې پلي کړي.view د ساده LVGL GUI سره د GUI سکرین کېampپه SLN-TLHMI-IOT بورډ کې. په غوښتنلیک یادښت کې، پخوانیample د کیمرې پری سره د LVGL GUI سکرین وړاندې کويview او ځینې تڼۍ چې د مخ راجستریشن، پیژندنه، او لیرې کول پیل کړي. ثبت شوي مخ ډیټا په فلش کې د لږ څه له لارې ذخیره کیږي file سیسټم
په لوړه کچه، د غوښتنلیک یادښت لاندې منځپانګې لري:
- په چوکاټ کې د مخ پیژندنې فیچر فعال کړئ.
- له لارې په چوکاټ کې د مخ ډیټابیس ملاتړ اضافه کړئ file سیسټم په فلش کې.
- د LVGL GUI ایپ پلي کړئ. د پورتنیو تعارفونو له لارې، دا سند د پراختیا کونکو سره مرسته کوي چې:
- چوکاټ او د سمارټ HMI حل سافټویر ډیر ژور درک کړئ.
- د LVGL GUI ایپ سره په چوکاټ کې د دوی AI&ML مخ پیژندنه رامینځته کړئ.
چوکاټ ختم شوview
د حل سافټویر اساسا د چوکاټ جوړښت کارولو شاوخوا ډیزاین شوی چې د څو مختلف برخو څخه جوړ شوی دی:
- د وسیلې مدیران - اصلي برخه
- د هارډویر خلاصون پرت (HAL) وسایل
- پیغامونه / پیښې
لکه څنګه چې په 1 شکل کې ښودل شوي، اوورview د چوکاټ میکانیزم دا دی:
د وسیلې مدیران د سیسټم لخوا کارول شوي وسیلو اداره کولو مسؤل دي. د هر وسیلې ډول (انپټ ، آوټ پټ او داسې نور) د خپل ډول ځانګړي وسیلې مدیر لري. د وسیلې مدیر سره چې د وسیلو راجسټر کیدو وروسته پیل کیږي ، دا د ثبت شوي وسیلو له پیل او پیل کولو وروسته وسیلو او نورو مدیرانو ته د ډیټا لیږدولو لپاره پیغام انتظار کوي او ګوري. د HAL وسیلې د ټیټې کچې ډرایور کوډ په پورتنۍ برخه کې لیکل شوي ، د ډیری اصلي توضیحاتو خلاصولو سره د کوډ پوهیدو وړتیا لوړولو کې مرسته کوي.
پیښې هغه وسیله ده چې د دوی د مدیرانو له لارې د مختلف وسیلو ترمینځ معلومات لیږدول کیږي. کله چې یوه پیښه رامینځته کیږي ، هغه وسیله چې لومړی پیښه یې ترلاسه کړې دا پیښه خپل مدیر ته رسوي ، بیا یې په بدل کې نورو مدیرانو ته خبر ورکوي چې د پیښې ترلاسه کولو لپاره ټاکل شوي.
د چوکاټ معماري ډیزاین په دریو لومړنیو اهدافو متمرکز و:
- د کارولو اسانتیا
- انعطاف پذیري/پورته وړتیا
- فعالیت
چوکاټ د لید او نورو ماشین زده کړې غوښتنلیکونو لپاره بازار ته د وخت ګړندي کولو هدف سره ډیزاین شوی. د بازار لپاره د ګړندي وخت ډاډ ترلاسه کولو لپاره ، دا خورا مهم دی چې سافټویر پخپله د پوهیدو او ترمیم لپاره اسانه وي. د دې هدف په پام کې نیولو سره، د چوکاټ جوړښت د محدودیت پرته، او د فعالیت لګښت پرته د بدلون لپاره اسانه دی.
د چوکاټ په اړه د نورو جزیاتو لپاره، د سمارټ HMI سافټویر پرمختیا کارونکي لارښود وګورئ (د MCU-SMHMI-SDUG سند).
د رڼا او څو اړخیز ګرافیک کتابتون (LVGL)
LVGL (رڼا او څو اړخیز ګرافیک کتابتون) یو وړیا او خلاصې سرچینې ګرافیک کتابتون دی چې هر هغه څه چمتو کوي چې تاسو ورته اړتیا لرئ د کارولو اسانه ګرافیکي عناصرو ، ښکلي لید اغیزو او د ټیټ حافظې فوټپرنټ سره یو ځای شوي GUI رامینځته کړئ.
د GUI لارښود
د GUI لارښود د NXP څخه د کارونکي دوستانه ګرافیکي کارونکي انٹرفیس پراختیا وسیله ده چې د خلاصې سرچینې LVGL ګرافیک کتابتون سره د لوړ کیفیت ښودنې ګړندي پرمختګ وړ کوي. د GUI لارښود ډریګ او ډراپ مدیر د LVGL ډیری ب featuresو لکه ویجټونو ، متحرکاتو او سټایلونو کارول اسانه کوي ترڅو د لږترلږه یا هیڅ کوډ کولو سره GUI رامینځته کړي.
د یوې تڼۍ په کلیک کولو سره، تاسو کولی شئ خپل غوښتنلیک په سمول شوي چاپیریال کې پرمخ بوځي یا د هدف پروژې ته صادر کړئ. د GUI لارښود څخه رامینځته شوی کوډ په اسانۍ سره ستاسو په پروژه کې اضافه کیدی شي ، د پراختیا پروسه ګړندۍ کوي او تاسو ته اجازه درکوي په بې ساري ډول ستاسو غوښتنلیک ته د ایمبیډ شوي کارن انٹرفیس اضافه کړئ. د GUI لارښود د NXP عمومي هدف او کراس اوور MCUs سره کارولو لپاره وړیا دی او د ډیری ملاتړ شوي پلیټ فارمونو لپاره جوړ شوي پروژې ټیمپلیټونه پکې شامل دي. د GUI لارښود په اړه د LVGL او GUI پراختیا په اړه د نورو معلوماتو لپاره ، د ر lightا او څو اړخیز ګرافیک کتابتون او GUI لارښود وګورئ.
د پراختیا چاپیریال
لومړی، د پخواني پلي کولو لپاره د هارډویر او سافټویر چاپیریال چمتو او تنظیم کړئampپه چوکاټ کې.
د هارډویر چاپیریال
د هارډویر چاپیریال د پخواني تصدیق کولو لپاره تنظیم شویampLe:
- د NXP i.MX RT117H (SLN_TLHMI_IOT کټ) پر بنسټ د سمارټ HMI پرمختیا کټ
- SEGGER J-Link د 9-pin Cortex-M اډاپټر او V7.84a یا د ډرایور نوې نسخه سره
د سافټویر چاپیریال
د سافټویر چاپیریال د پخوانیو پراختیا لپاره ترتیب شویampLe:
- MCUXpresso IDE V11.7.0
- د GUI لارښود V1.6.1-GA
- lvgl_gui_camera_preview_cm7 – مثالampد دویم اپلیکیشن نوټ لی کوډ د پراختیا اساس سافټویر په توګه. د جزیاتو لپاره، وګورئ https://mcuxpresso.nxp.com/appcodehub.
- RT1170 SDK V2.13.0 - د پراختیا لپاره د کوډ سرچینې په توګه.
- SLN-TLHMI-IOT سافټویر V1.1.2 - سمارټ HMI سرچینې کوډ د پراختیا لپاره د کوډ سرچینې په توګه د NXP GitHub ذخیره کې خپور شوی. د جزیاتو لپاره، وګورئ: GitHub – NXP/mcu-smhmi په v1.1.2 کې
د سافټویر چاپیریال د ترلاسه کولو او تنظیم کولو په اړه د جزیاتو لپاره، وګورئ: د SLN-TLHMI-IOT سره پیل کول.
په چوکاټ کې د لید جوړښت
په چوکاټ کې د لید جوړښت په 2 شکل کې ښودل شوی. د لید الګو HAL (OASIS_HAL) لاندې پروسې لري:
- د AI او ML لید الګوریتم ماډل له لارې د UI HAL محصول اړوندو پیښو ترلاسه کولو وروسته د راجسټریشن او پیژندنې سره مخ شئ. د الګوریتم ماډل څخه د پایلو UI HAL ته خبر ورکړئ.
- د کوچني پراساس د مخ فیچر ډیټابیس ته لاسرسی (اضافه کول ، حذف کول…) file سیسټم د FaceDB HAL APIs ته زنګ وهلو وروسته د محصول UI HAL څخه اړوند پیښو ترلاسه کولو وروسته.
- د کیمرې HAL څخه د کیمرې ویډیو چوکاټ غوښتنه وکړئ کله چې د مخ ثبت او پیژندنه ترسره کوئ.
په چوکاټ کې د مخ پیژندنه پلي کړئ
د LVGL GUI مخ پیژندنه example (پخوانیample وروسته چمتو کیږي) په چوکاټ کې د پخواني پراساس پلي کیږيampد LVGL GUI کیمرې پری پلي کولو کوډونهview په چوکاټ کې (AN14147 سند).
په پخواني کې د مخ پیژندنې ښودلو لپارهampد GUI ایپ بنسټیز فعالیت (په 3 شکل کې اصلي سکرین وګورئ) ډیزاین شوی لکه څنګه چې لاندې تشریح شوي:
- د GUI ایپ د مخ راجسټریشن یا پیژندنې پیښه د تولید UI HAL ته رامینځته کوي کله چې د راجسټریشن یا پیژندنې تڼۍ کلیک وکړئ. او د محصول UI HAL د مخ راجسټریشن بریالۍ کیدو وروسته د لید الګو HAL کې د کارونکي اضافه کولو پیښې ته خبر ورکوي.
- د GUI ایپ د UI HAL محصول ته د کارونکي حذف کولو پیښه رامینځته کوي کله چې د کارونکي مخ پیژندل کیدو وروسته د کارونکي حذف کولو ت buttonۍ کلیک وکړئ.
- د GUI ایپ د اویسس الګو د بندیدو پیښې رامینځته کوي کله چې د بټنو او عکسونو څخه بهر سکرین کلیک کولو سره UI HAL محصول ته ځي.
د پخواني پلي کولو لپاره د سافټویر کڅوړه چمتو کړئample.
- د بیس سافټویر کلون کړئ lvgl_gui_camera_preview_cm7. د پروژې نوم او اصلي بدل کړئ filelvgl_gui_face_rec_cm7 ته نوم.
- چوکاټ په سافټویر کې تازه کولو ته اړتیا لري ځکه چې د چوکاټ کور لپاره سرچینې کوډونه د 1.1.2 نسخه څخه په GitHub کې عامه کیدو پیل شوي.
- د چوکاټ فولډر د GitHub څخه د V1.1.2 کاپي سره بدل کړئ پرته له دې files fwk_log.h او fwk_common.h تر inc\ لاندې لکه څنګه چې دوی د غوښتنلیک نوټ لړۍ لپاره تعدیل شوي. عملیات په 4 شکل کې ښودل شوي:
- د libs ګروپ لاندې فولډر چوکاټ_cm7 ړنګ کړئ او د کتابتون چوکاټ_cm7 لرې کړئ او د هغې د لټون لاره چې په پروژه کې ترتیب شوې > ملکیتونه> C/C++ جوړونه> ترتیبات> اوزار ترتیبات> MCU C++ لینکر> کتابتونونه ځکه چې د اصلي سرچینې کوډ چمتو شوی.
په چوکاټ کې د مخ پیژندنې فیچر فعال کړئ
د مخ پیژندنې خصوصیت د ML ویژن الګوریتم ماډل کې جوړ شوی چې د جامد کتابتون په توګه چمتو شوی - د NXP لخوا د اویسس لایټ رنټایم کتابتون. کتابتون یو کوچنی، خورا اغیزمن، دودیز، او مطلوب AI کتابتون دی. په موډل کې د مخ کشف، د مخ پیژندنه، د شیشې کشف، او د ژوندیتوب کشف شامل دي. دا په عمده توګه API OASISLT_run_extended() چمتو کوي ترڅو د مخ پیژندنې پایپ لاین پرمخ بوځي پداسې حال کې چې د پیښې کال بیکونو له لارې زنګ وهونکي ته پایلې تازه کوي ، او د سرچینې چوکاټ معلوماتو ، کال بیکس ، او حافظې مشخص کولو وروسته د مخ ډیټابیس کال بیکس له لارې ډیټابیس کې مخونه اضافه/تازه/حذفوي. پول چې د کتابتون لخوا کارول کیږي د بل API OASISLT_init() په پیل کولو سره. د APIs زنګ وهل او د کال بیک افعال د چوکاټ لید الګو HAL کې پلي کیږي.
د لید الګو ماډل کتابتون اضافه کړئ
- د فولډر نخلستان کاپي کړئ چې کتابتون او اړونده سرلیک لري file له سمارټ HMI\coffee_machine\cm7\libs\ څخه د پخواني فولډر libs تهample SW.
- د سرلیک لټون لاره اضافه کړئ file په پروژه کې> پراپرټیز> C/C++ جوړونه> ترتیبات> د وسیلې ترتیبات> MCU C کمپیلر> شامل او MCU C++ کمپیلر> پکې شامل دي: "${workspace_loc:/${ProjName}/libs/oasis/include}"
- lib او د هغې د لټون لاره په پروژه کې اضافه کړئ> ملکیتونه> C/C++ جوړونه> ترتیبات> MCU C++ Linker> کتابتونونه: liboasis_lite2D_DEFAULT_117f_ae.a "${workspace_loc:/${ProjName}/libs/oasis}" او د میکرو تعریف په پروژه کې فیچر فعال کړئ> پراپرټیز> C/C++ جوړونه> ترتیبات> د اوزار ترتیبات> MCU C کمپیلر> پری پروسیسر او MCU C++ کمپیلر> پری پروسیسر: SMART_TLHMI_2D
د لید الګو HAL فعال کړئ
د لید الګو HAL د لید الګو ماډل کار کولو ته هڅوي او پایلې یې د UI محصول HAL ته د پیښو ترلاسه کولو وروسته ځواب ورکوي.
د دې د فعالولو لپاره، موجود ورته ورته HAL ډرایور کلون کړئ file چیرې چې لاندې دندې پلي کیږي:
- د مخ ډیټابیس عملیاتو او پیښو اداره کولو کال بیکونه پلي کړئ.
- د oasis کتابتون APIs ته په زنګ وهلو سره د لید الګو کار کولو لپاره چل کړئ.
- د کارونکي مخ ډیټابیس او اپلیکیشن ډیټابیس ته لاسرسی (دا په پخواني کې اړتیا نلريample).
- پیښې ترلاسه کړئ او پایلې UI HAL ته واستوئ.
د پخوانیو لپاره د HAL پلي کولو لپاره لوی کارونهampهغه دي:
- موجوده ورته HAL ډرایور کلون کړئ file او اړوند نومونه بدل کړئ.
- د اپلیکیشن ډیټا عملیاتو پورې اړوند کوډونه لرې کړئ.
- د پخوانیو UI HAL محصول څخه د پیښو اداره کولو لپاره تعریفونه او دندې تازه کړئampد ډیزاین.
- د نخلستان په پیل کې اړین تشکیلات اضافه کړئ.
تفصيلي ګامونه په لاندې ډول دي:
- کلون hal_vision_algo_oasis_coffeemachine.c. بدل کړئ fileنوم ته hal_vision_algo_oasis_guifacerec.c. او ټول تارونه CoffeeMachine د GUIFaceRec سره ځای په ځای کړئ file.
- هغه کوډونه لرې کړئ چې د سټرینګ coffeedb لري (د قضیې حساس نه) د ایپ ډیټابیس پورې اړوند ، د مثال لپارهample، # hal_sln_coffeedb.h شامل کړئ.
- د HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() فنکشن بدل کړئ د تولید UI HAL څخه پیښو اداره کولو لپاره.
- د پیښې تعریف kEventFaceRecId_RegisterCoffeeSelection kEventFaceRecId_RegisterUserFace ته بدل کړئ او د جوړښت سټینګ regCoffeeSelection د پیښې اداره کولو لپاره regGUIFaceRec ته بدل کړئ ترڅو ډیټابیس ته د نوي مخ فیچر ډیټا اضافه کړي.
- په پخواني کې د مخ پیژندنې عملونو معیاري پروسې ښودلو لپارهample، د ریاستونو تعریفونو سره د kEventFaceRecID_OasisSetState په قضیه کې اداره کول تعدیل کړئ:
- kOASISLIteState
- د راجستریشن kOASISLIteState
- kOASISLIteState پیژندنه
- ودرېده
- په پورته مرحله کې د ذکر شویو پیښو تعریفونه اضافه او تعدیل کړئ.
- سرلیک کاپي کړئ file smart_tlhmi_event_descriptor.h له سمارټ HMI\coffee_machine \cm7\source\event_handlers\ څخه د پخواني سرچینې فولډر تهample SW. تازه کړئ file په لاندې ډول:
- په enum ډول _event_smart_tlhmi_id کې د پیښې تعریف kEventFaceRecId_RegisterCoffeeSelection kEventFaceRecId_RegisterUserFace ته بدل کړئ او د جوړښت سټرینګ regCoffeeSelection په جوړښت _event_smart_smart کې regGUIFaceRec ته بدل کړئ. نو، د regCoffeeSelection لپاره جوړښت register_coffee_selection_event_t بدل کړئ register_gui_facerec_event_t ته.
- د کافي ماشین ایپ لپاره کارول شوي نور مینځپانګې حذف کړئ ، د مثال لپارهample، د غږ په اړه د کوډ لاین: # "hal_event_descriptor_voice.h" شامل کړئ.
- د kOASISLiteState_Stopped او kOASISLiteState_Running ډولونه په hal_vision_algo.h کې د enum ډول oasis_lite_state_t ته په پروژه کې چوکاټ>hal>vision لاندې په لاندې ډول اضافه کړئ:
typedef enum _oasis_lite_state {- kOASISLIteState
- چلول، kOASISLIteState
- ودرول شو، kOASISLIteState
- پیژندنه،
- kOASISLIteState
- راجستریشن، kOASISLIteState
- د راجستریشن، kOASISLiteState
- ریموټ رجسټریشن، kOASISLIteState
- شمېرل
- د پورتني تازه شوي struct oasis_lite_state_t څخه کار واخلئ په hal_event_descriptor_face_rec.h کې د جوړښت oasis_state_event_t د چوکاټ>hal> لید لاندې په لاندې ډول په پروژه کې اصلاح کړئ: typedef struct _oasis_state_event_t { oasis_lite_state_t state; } oasis_state_event_t;
- ټول kEventInfo_Remote kEventInfo_Local ته بدل کړئ د لید الګو HAL څخه نورو HALs ته د پیښو لیږلو لپاره چې په ورته کور کې روان دي ځکه چې د ډبل کور پرځای واحد کور کارول کیږيample.
- په OASISLT_init() کې د نخلستان پیل کولو لپاره لاندې تشکیلات اضافه او بدل کړئ:
- په board_define.h: #define OASIS_RGB_FRAME_WIDTH 800 کې د ویډیو چوکاټ لپاره میکرو تعریفونه او د حافظې برخې اضافه کړئ
- # OASIS_RGB_FRAME_HEIGHT 600 تعریف کړئ
- #OASIS_RGB_FRAME_SRC_FORMAT kPixelFormat_YUV1P444_RGB تعریف کړئ
- # OASIS_RGB_FRAME_BYTE_PER_PIXEL 3 تعریف کړئ
- # تعریف کړئ AT_FB_SHMEM_SECTION_ALIGN(var, alignbytes) \
- __attribute__((برخه(".bss.$fb_sh_mem,\"aw\",%nobits@"))) var
- __خاصیت__((منظم شوی(سند بایټس)))
- د حافظې دنده د پورتنۍ حافظې برخې ته تنظیم کړئ fb_sh_mem په پروژه > ملکیت > C/C++ جوړونه > MCU ترتیبات چې په 5 شکل کې ښودل شوي:
- نړیوال متغیر g_DTCOPBuf په lvgl_gui_face_rec_cm7.cpp کې اعلان کړئ: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
- په پورتني متغیر کې کارول شوي تعریفونو اضافه کولو ته دوام ورکړئ:
- پورته برخه په board_define.h کې تعریف کړئ:
- # تعریف کړئ AT_NONCACHEABLE_SECTION_ALIGN_DTC(var، alignbytes) \
- صفت__((برخه(“.bss.$SRAM_DTC_cm7,\"aw\",%nobits@"))) var
- ځانګړنه__((منظم شوی(منظم شوی)))
- سرلیک پکې شامل کړئ file hal_vision_algo.h په app_config.h کې د میکرو تعریف DTC_OPTIMIZE_BUFFER_SIZE لري چې په lvgl_gui_face_rec_cm7.cpp کې شامل دي.
- په board_define.h: #define OASIS_RGB_FRAME_WIDTH 800 کې د ویډیو چوکاټ لپاره میکرو تعریفونه او د حافظې برخې اضافه کړئ
- د مخ پیژندنې په اړه د پرمختګ حالت ښودلو لپاره متغیر s_debugOption ریښتیا ته تنظیم کړئ.
- د سرلیک لټون لاره اضافه کړئ fileپه پروژه کې د HAL لید لید > پراپرټیز > C/C++ جوړونه > تنظیمات > اوزار ترتیبات > MCU C کمپیلر > شامل او MCU C++ کمپیلر > پکې شامل دي: "${workspace_loc:/${ProjName}/framework/hal/vision}"
- په board_define.h کې د لید الګو HAL فعالولو لپاره لاندې تعریف اضافه کړئ: # define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec
د تولید UI HAL فعال کړئ
د محصول UI HAL پیښې د لید الګو HAL ته خبر ورکوي او د لید الګو HAL څخه د پایلو پایلو ته ځواب ورکوي. د GUI ایپ سره ، پیښې عموما د ایپ لخوا رامینځته کیږي او پایلې یې په ایپ کې ښودل کیږي.
د دې د فعالولو لپاره، موجود ورته ورته HAL ډرایور کلون کړئ file چیرې چې عموما لاندې دندې پلي کیږي:
- د مخ پیژندنې او ډیټابیس لاسرسي لپاره پیښې خبر کړئ.
- د پیښو محرک کولو لپاره د GUI ایپ لپاره کال بیکونه پلي کړئ.
- د لید الګو ماډل څخه د پایلو پایلې اداره کړئ.
- د پیښو پروسې او پایلې وښایاست چې په UI کې د پرمختګ بار لخوا کنټرول کیږي چې د ټیمرونو او مخ لارښود مستطیل سره کنټرول کیږي.
د پخوانیو لپاره د HAL پلي کولو لپاره لوی کارونهampپه دې سند کې کارول شوي دي:
- موجوده ورته HAL ډرایور کلون کړئ file او اړوند نومونه بدل کړئ.
- د اپلیکیشن پورې اړوند کوډونه لرې کړئ.
- د پیښو خبرتیا او د پایلو ځواب لپاره د پخوا په پرتله دندې تازه کړئampد ډیزاین.
- د پیښو محرک کولو لپاره د GUI ایپ لپاره کال بیکونه اضافه کړئ.
تفصيلي ګامونه په لاندې ډول دي:
- کلون hal_output_ui_coffee_machine.c. بدل کړئ filehal_output_ui_guifacerec.c ته نوم
- ټول تارونه CoffeeMachine په GUIFaceRec سره بدل کړئ file.
- د اپلیکیشن پورې اړوند کوډونه لرې کړئ - د کافي ماشین.
- د WakeUp() او _StandBy() افعال او اړونده کوډونه لرې کړئ (ممکن وییک اپ سټرینګ وپلټئ او د دوی لپاره سټینډ بای).
- مخکې لرې کړئview په HAL_OutputDev_UiGUIFaceRec_Input Notify().
- فنکشن UI_xxx_Callback() او هغه کوډونه لرې کړئ چې د کافي ماشین د GUI پورې اړوند سټرنګ gui_ او سکرین لري پرته د gui_set_virtual_face() لپارهview د حالت ځانګړتیا.
- د کافي ماشین اپلیکیشن پورې اړوند s_IsWaitingAnotherSelection او s_IsWaitingRegisterSelection متغیرونو سره ښکیل ټول کوډونه لرې کړئ.
- د غږ، آډیو او ژبې پورې اړوند کوډونه لرې کړئ. د مثال لپارهampLe:
- # "hal_voice_algo_asr_local.h" شامل کړئ،
- # "hal_event_descriptor_voice.h" شامل کړئ
- د مختلفو پیښو خبرتیا لپاره، نوي فنکشنونه پلي کړئ _OutputManagerNotify()، _SetFaceRec()، _RegisterGUIFaceRec()، او DeregisterGUIFaceRec() د فنکشن _StopFaceRec()، _RegisterCoffeeSelection()، او DeregisterCoffee (DeregisterCoffee) څخه مخکې.
- د _OutputManagerNotify() د لید الګو HAL ته د پیښې لیږلو لپاره د پیښې لومړني محصول فعالیت پلي کوي. لاندې دندې ورته د خپلو پیښو لیږلو لپاره غږ کوي.
- _SetFaceRec() پیښه kEventFaceRecID_OasisSetState لیږي ترڅو د مخ راجسټریشن ، پیژندنې ، او الګو بندولو لپاره د لید الګو محرک کړي.
- _RegisterGUIFaceRec() پیښه kEventFaceRecId_RegisterGUIFaceRec لیږي چې په smart_tlhmi_event_descriptor.h کې تعریف شوی ترڅو ډیټابیس ته د مخ فیچر ډیټا اضافه کړي کله چې راجسټریشن سم وي.
- DeregisterGUIFaceRec() د پیښې kEventFaceRecID_DelUser ته لیږي ترڅو د مخ پیژندنې تیرولو پرمهال د ډیټابیس څخه د مخ فیچر ډیټا حذف کړي.
- د اړونده کړنو د ترسره کولو لپاره کوډونه تازه کړئ پشمول د LVGL GUI ایپ څخه APIs ته زنګ وهلو سره د GUI تازه کول په فنکشن _InferComplete_Vision() کې د مخ راجسټریشن او پیژندنې پایلو پایلې لپارهampد ډیزاین. د مثال لپارهample، کله چې د مخ راجستریشن بریالی وي،
- د _FaceRecProcess_Stop() په زنګ وهلو سره د پرمختګ ښودل بند کړئ؛
- د _SetFaceRec(kOASISLiteState_Stopped) په زنګ وهلو سره د مخ راجسټریشن بند کړئ؛
- په GUI کې بریالۍ پایله وښایاست: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
- ډیټابیس ته د مخ ډیټا راجستر کړئ: _RegisterUserFace(s_UserId)؛
- د پیښو اداره کولو لپاره د UI کال بیک افعال اضافه کړئ: مخکېviewد GUI څخه پیل شوي د راجستریشن، پیژندنې، او د کاروونکي ړنګولو سره مخ دي. د مثال لپارهample، د مخ راجستریشن کال بیک: باطل UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration); _FaceRecProcess_Start(); }
- او _FaceRecProcess_Start() او _FaceRecProcess_Stop() افعال اضافه کړئ ترڅو په بیلابیلو پیښو او پایلو کې پرمختګ او حالت وښیې.
- د ټایمر ISR کال بیک فنکشن تازه کړئ _SessionTimer_Callback() د زنګ وهلو له لارې د وخت ختمیدو قضیه اداره کولو لپاره: gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
- په board_define.h کې د UI محصول HAL فعالولو لپاره لاندې تعریفونه اضافه کړئ: # تعریف ENABLE_OUTPUT_DEV_UiGUIFaceRec
خبرتیا:
د دې لپاره چې د مخ پیژندنې ځانګړتیا غوره وړاندې کړي، فعالیت وساتئ ترڅو د مخ پیژندنې پروسې او پایلې په تولید UI HAL کې ښکاره کړي. فعالیت په لاندې ډول تشریح شوی
- د مخ لارښود مستطیل نیلي ښیې ، او د پرمختګ بار پرمختګ ښیې کله چې د مخ راجسټریشن یا پیژندنه پیل کیږي.
- د مخ لارښود مستطیل سور ښیې کله چې د مخ ثبت کول بریالي وي.
- کله چې د مخ پیژندنه بریالۍ وي د مخ لارښود مستطیل شنه ښیې.
- د مخ لارښود مستطیل نیلي ساتي ، او د پرمختګ بار بشپړ پرمختګ ښیې کله چې عمل د ټایمر پای ته رسیدو وروسته ناکام وي. په دې وخت کې، د مخ ثبت یا پیژندنه بنده کړئ.
د پرمختګ بار او د مخ لارښود مستطیل د عکسونو په توګه وړاندې کیږي چې د سرچینې بائنری کې جوړ شوي file په فلش کې پروګرام شي. په SDRAM کې د آئیکون ډیټا ته اشارې د LoadIcons(APP_ICONS_BASE) په فنکشن کې تنظیم شوي چې په UI HAL کې د محصول UI HAL وسیلې پیل کولو ته ویل کیږي. دا باید د فعالیت لپاره د شبیانو ملاتړ پلي کړي.
د عکسونو ملاتړ پلي کړئ
- د LVGL GUI ایپ کې کارول شوي عکسونو سره د شبیهونو ترکیب کولو سرچینې رامینځته کړئ:
- د څلور آیکون سرلیک کلون کړئ files process_bar_240x14.h، virtual_face_blue_420x426.h، virtual_face_green_420x426.h، او virtual_face_red_420x426.h له سمارټ HMI څخه
\ کافي ماشین \ سرچینې \ شبیه \ د پخواني سرچینې فولډر لاندې نوي فولډر عکسونو تهample SW. - د څلور آئیکون لپاره د لټون لاره اضافه کړئ files په کیمرې_preview_resource.txt file د سرچینې فولډر کې، د مثال لپارهample: icon ../resource/icons/process_bar_240x14.h
- کیمرې اجرا کړئview_resource_build.bat د انځورونو او شبیانو سرچینې جوړولو لپاره د بن تولید لپاره file Camera_preview_resource.bin او معلومات file resource_information_table.txt (شکل 6 وګورئ).
- د څلور آیکون سرلیک کلون کړئ files process_bar_240x14.h، virtual_face_blue_420x426.h، virtual_face_green_420x426.h، او virtual_face_red_420x426.h له سمارټ HMI څخه
- په SDRAM کې د پیل پته او په app_config.h کې د شبیانو اندازه تعریف کړئ. پته د GUI ایپ عکسونو سره پیل کیږي. اندازه په معلوماتو کې رامینځته کیږي file. # APP_ICONS_BASE تعریف کړئ (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) # د APP_ICONS_SIZE 0x107c40 تعریف کړئ
- د res_sh_mem په نوم د حافظې برخې ټاکل شوې اندازه 0x200000 ته په app_config.h کې د بیا تعریف کولو له لارې تازه کړئ: # تعریف کړئ RES_SHMEM_TOTAL_SIZE 0x200000 او اړوند ترتیب په پروژه> ملکیتونو> C/C++ جوړونه> MCU ترتیباتو کې.
- په اصلي برخه کې د APP_LoadResource() فنکشن کې له فلش څخه SDRAM ته د بار شوي سرچینې ټولې اندازې ته د آئیکون اندازه اضافه کړئ file lvgl_gui_face_rec_cm7.cpp: memcpy((void *)APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);
خبرتیا: د مخ پیژندنې ځانګړتیا بشپړولو لپاره، د LVGL GUI ایپ ملاتړ ته اړتیا ده. د UI کال بیک افعال په محصول UI HAL کې د LVGL GUI ایپ لخوا د UI سکرین څخه پیښو اداره کولو لپاره ویل کیږي. له بلې خوا، د محصول UI HAL د LVGL GUI ایپ څخه APIs ته زنګ وهي ترڅو د پایلې او حالت ښودلو لپاره UI تازه کړي. د LVGL GUI ایپ پراختیا نسبتا خپلواکه ده او په 4.3 برخه کې معرفي شوې.
4.1.5 د مخ پیژندنې لپاره د HAL وسایل او مدیران پیل کړئ
فعال لید الګو HAL او UI محصول HAL او د دوی مدیران په اصلي کې پیل شوي file
lvgl_gui_face_rec_cm7.cpp په چوکاټ کې د پراختیا تبادلې په لاندې ډول دي:
- سرلیک پکې شامل کړئ file د کوډ لاین په اضافه کولو سره د دوه HAL مدیرانو پورې اړه لري:
- # شامل کړئ "fwk_output_manager.h"
- # "fwk_vision_algo_manager.h" شامل کړئ
- د HAL وسایل اعلان کړئ:
- HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
- HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
- د HAL وسایل راجستر کړئ:
- HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
- HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
- مدیران پیل کړئ:
- FWK_MANAGER_INIT(VisionAlgoManager, ret);
- FWK_MANAGER_INIT(OutputManager, ret);
- مدیران پیل کړئ:
- FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
- FWK_MANAGER_START(Output Manager, OUTPUT_MANAGER_TASK_PRIORITY, ret);
- د مدیر دندو لومړیتوب تعریف کړئ:
- # VISION_ALGO_MANAGER_TASK_PRIORITY 3 تعریف کړئ
- # OUTPUT_MANAGER_TASK_PRIORITY 1 تعریف کړئ
په چوکاټ کې د مخ ډیټابیس ملاتړ اضافه کړئ
د راجستر شوي مخ فیچر ډیټا د مخ ډیټابیس کې د لږ څه له لارې په فلش کې زیرمه کیږي file سیسټم د مخ ډیټابیس ملاتړ اضافه کولو ګامونه لاندې تشریح شوي.
د فلش ذخیره کولو لپاره چلوونکي اضافه کړئ
د فلش انٹرفیس FlexSPI ډرایور کاپي کړئ files fsl_flexspi.c او fsl_flexspi.h، او د معلوماتو کوډ کولو چلوونکی files fsl_caam.c او fsl_caam.h له لارې SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ د پخواني ډرایور فولډر تهample SW.
د بورډ په کچه ملاتړ اضافه کړئ
- د FlexSPI تعریفونه اضافه کړئ چې د فلش آلې لپاره کارول کیږي په board.h کې:
- # BOARD_FLEXSPI FLEXSPI1 تعریف کړئ
- # BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1 تعریف کړئ
- # BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE تعریف کړئ
- آپریټرونه او تشکیلات کاپي کړئ fileد فلش وسیلې flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, andsln_flash_ops.h د لارې لاندې د سمارټ HMI\flash_ops.h فولډر exma_\flash_7\coffeeboard ته سرچینېample SW.
- په C/C++ Build> Settings کې د ښي کلیک کولو وروسته "د جوړیدو څخه سرچینې خارج کړئ" غیر چیک کړئ fileد نوم او د ملکیتونو خلاصول ترڅو دوی په پروژه کې جوړ شي.
- شامل سرلیک بدل کړئ fileنوم sln_flash_config.h ته sln_flash_config_w25q256jvs.h په sln_flash_config.c او flexspi_nor_flash_ops.h کې.
- د FlexSPI1 ساعت سرچینه په کې تنظیم کړئ file clock_config.c د کافي ماشین ایپ ته اشاره کوي.
اډاپټر او د منځنۍ کچې ملاتړ اضافه کړئ
- کاپي کړئ files sln_flash.c، sln_flash.h، sln_encrypt.c، او sln_encrypt.h د اډاپټر چلوونکو په توګه file سیسټم او ایپ د سمارټ HMI\coffee_machine\cm7\source\ څخه د پخواني فولډر سرچینې تهample. نوی تازه کړئ files:
- د جوړولو لپاره په دوی کې "د جوړیدو څخه سرچینې لرې کړئ" غیر چیک کړئ.
- ټول شامل شوي سرلیک بدل کړئ file نوم sln_flash_config.h ته sln_flash_config_w25q256jvs.h.
- فولډر کاپي کړئ fileسیسټم چې د کوچني لپاره APIs لري fileسیسټم او د HAL ډرایور له سمارټ HMI \coffee_machine\cm7\source\ څخه پخواني تهample SW. او د نوي فولډر لپاره تازه کړئ:
- د ودانۍ لپاره په دې کې "د جوړیدو څخه سرچینې لرې کړئ" غیر چیک کړئ.
- د پروژې په ترتیباتو کې د دې لپاره د شاملولو لاره اضافه کړئ: "${workspace_loc:/${ProjName}/fileسیسټم}"
- شامل سرلیک بدل کړئ file نوم sln_flash_config.h ته sln_flash_config_w25q256jvs.h او fica_definition.h ته app_config.h ته file sln_flash_littlefs.h.
- هغه فولډر کاپي کړئ littlefs چې مینځني توکي لري - لږ fileسیسټم له لارې SDK_2_13_0_ MIMXRT1170-EVK\midleware\ پخواني تهample SW. او نوی فولډر تازه کړئ:
- د ودانۍ لپاره په دې کې "د جوړیدو څخه سرچینې لرې کړئ" غیر چیک کړئ.
- د پروژې په ترتیباتو کې د دې لپاره د شاملولو لاره اضافه کړئ: "${workspace_loc:/${ProjName}/littlefs}"
د HAL چلوونکي اضافه کړئ
- د HAL دوه وسایل شتون لري - file سیسټم او مخامخ ډیټابیس HAL د ډیټابیس لاسرسي ځانګړتیا لپاره ملاتړ شوی او دا دمخه په چوکاټ کې پرته له کوم بدلون پلي شوي. په board_define.h کې د لاندې تعریفونو په اضافه کولو سره دوی فعال کړئ:
- # ENABLE_FLASH_DEV_Littlefs تعریف کړئ
- # ENABLE_FACEDB تعریف کړئ
او د پخواني لپاره د مخ ډیټابیس نوم بدل کړئample: #OASIS_FACE_DB_DIR "oasis_gui_face_rec" تعریف کړئ
د اپلیکیشن کچې ملاتړ اضافه کړئ
- اصلي تازه کړئ file lvgl_gui_face_rec_cm7.cpp:
- سرلیک پکې شامل کړئ file د فلش سره تړاو لري file د سیسټم HAL مدیر د کوډ لاین اضافه کولو سره: # "fwk_flash.h" شامل کړئ
- اعلان او راجستر کړئ file سیسټم HAL وسیله:
- HAL_FLASH_DEV_DECLARE(لټلف)؛
- HAL_FLASH_DEV_REGISTER
نوټ: د file د سیسټم HAL وسیله باید مخکې له دې چې د ټولو وسیلو مدیران په APP_InitFramework() کې پیل شي ثبت شي.
- د MPU ترتیبولو لپاره په APP_BoardInit() کې BOARD_ConfigMPU() فنکشن ته زنګ ووهئ.
- ترتیب کړئ file په فلش کې د سیسټم دنده file app_config.h د میکرو تعریفونو په ټاکلو سره چې په کې کارول کیږي file sln_flash_littlefs.h:
- # FICA_IMG_ تعریف کړئFILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
- #FICA_ تعریف کړئFILE_SYS_SIZE (0x280000)
تشکیلات
د فلش اړوند ځینې کوډونه د کافي فعالیت لپاره د SRAM ITC په ساحه کې اجرا کیږي. د فولډر لینک سکریپټ کاپي کړئ چې د لینکر ترتیبونه لري د پاټ سمارټ HMI\coffee_machine\cm7\ څخه پخواني تهample SW.
د LVGL GUI ایپ پلي کړئ
د چوکاټ پراساس د LVGL GUI اپلیکیشن پراختیا د تولید UI HAL څخه APIs ته زنګ وهي او د UI HAL تولید لپاره APIs چمتو کوي (د محصول UI HAL پلي کولو لپاره برخه 4.1.3 وګورئ).
په هرصورت، د LVGL GUI ایپ مفصل تطبیق د غوښتنلیک اړتیاو او ډیزاین پورې اړه لري. په دې سابقه کې د GUI ایپample ډیزاین شوی لکه څنګه چې د 4 برخې په پیل کې تشریح شوی.
لاندې د پلي کولو پیژندنه ده:
- دودیز شوي کوډونه په custom.c او custom.h کې پلي کیږي چې د GUI لارښود لخوا ورکړل شوي د GUI لارښود پروژې او سرایت شوي سیسټم پروژې ترمینځ د انٹرفیس په توګه.
- په custom.c کې د gui_xxx() په نوم نوې دندې اضافه کړئ ترڅو لاندې دندې ترلاسه کړئ:
- د UI تازه کولو لپاره د تولید UI HAL او GUI ایپ لپاره.
- د GUI اپلیکیشن لپاره چې د UI کال بیک فنکشنونو ته زنګ وهلو سره پیښې رامینځته کړي د UI HAL محصول څخه.
د مثال لپارهample، نوی فنکشن gui_event_face_rec_action() د مخ راجستریشن، د مخ پیژندنې او د GUI اپلیکیشن څخه متحرک شوي کاروونکي حذف کولو پیښو څخه یوه اداره کولو لپاره د UI کال بیک فنکشن ته زنګ وهي کله چې اړوند تڼۍ کلیک کیږي.
یادونه: فنکشن gui_set_virtual_face() د پری لپاره د UI HAL په محصول کې ویل کیږيview حالت باید په custom.c کې پلي شي:
- د کلون فنکشن gui_set_virtual_face() له سمارټ HMI\coffee_machine\cm4\custom\custom.c څخه.
- د ویجټ نوم بدل کړئ home_img_cameraPreview سکرین_img_camera_pre تهview په فعالیت کې.
- د GUI لارښود پروژې سره د مطابقت لپاره په custom.c کې د میکرو تعریف #ifndef RT_PLATFORM تر کنټرول لاندې د محصول UI HAL کې ټولو ته د ورته پروټوټایپ سره د UI کال بیک فنکشن پلي کړئ ځکه چې دا افعال د محصول UI HAL سره تړاو لري. سرایت شوی پلیټ فارم. په custom.c کې، دوی د GUI لارښود سمیلیټر پورې اړه لري او د ایمبیډ شوي پلیټ فارم څخه خپلواک دي. د مثال لپارهample، د مخ د راجستریشن کال بیک د GUI لارښود سمیلیټر چلولو لپاره په لاندې ډول پلي کیږي: #ifndef RT_PLATFORM باطل UI_Registration_Callback() { gui_hide_del_user_btn(real); s_InAction = دروغ; راستنېدل }
نوټ: د 6 برخې په 4.1.3 ګام کې معرفي شوي فنکشن ورته پروټوټایپ ته مراجعه وکړئ
د میکرو تعریف RT_PLATFORM د MCUXpresso پروژې ترتیباتو کې تنظیم شوی لکه څنګه چې په 7 شکل کې ښودل شوی: - په custom.h کې د UI_xxx_Callback() او gui_xxx() په نوم ټولې دندې اعلان کړئ او په smart_tlhmi_event_descriptor.h کې شامل custom.h اضافه کړئ ترڅو GUI APIs د UI محصول HAL سره شریک کړئ.
- په custom.c کې د gui_xxx() په نوم نوې دندې اضافه کړئ ترڅو لاندې دندې ترلاسه کړئ:
- په GUI لارښود کې GUI ته وده ورکړئ:
- د فولډر کیمرې دمخه کلون کړئview د بیس سافټویر کڅوړه کې د gui_guider فولډر کې د GUI لارښود پروژې سافټویر لري lvgl_gui_camera_preview_cm7. اړوند نوم بدل کړئ camera_preview د نوي پخواني لپاره face_rec تهample.
- پورته تازه شوي custom.c او دود کاپي کړئ. h د نوي GUI لارښود پروژې سافټویر ته.
- په GUI لارښود کې نوې face_rec پروژه پرانیزئ. په لاندې ډول تازه کړئ:
- نوی تڼۍ اضافه کړئ چې لیبل شوی کارن حذف کړئ. په دې کې پټ بیرغ اضافه کړئ ترڅو تڼۍ پټ شي کله چې د GUI ایپ پیل شي.
- د API gui_event_face_rec_action() ته د زنګ وهلو کوډ لاین اضافه کړئ د مختلف پیښې ID پیرامیټر سره په "ریلیز شوي" ټریګر کې د ټولو بټونو راجسټریشن ، پیژندنې او حذف کارونکي پیښې تنظیم کولو کې د مخ راجسټریشن پیښو رامینځته کولو لپاره ، د مخ پیژندنې او حذف کولو کارونکي. شکل 8 د تڼۍ د ثبت کولو پیښې لپاره کوډ ښیې:
- د GUI لارښود څخه تولید شوی کوډ د MCUXpresso پروژې ته تازه کړئ.
- د MCUXpresso پروژې SW لخوا رامینځته شوي فولډر کې د فولډر عکسونو پرته مینځپانګې د GUI لارښود پروژې SW لخوا رامینځته شوي فولډر کې ورته ورته سره بدل کړئ.
نوټ: د پورته معرفي شوي تعدیلاتو په اړه د نورو جزیاتو لپاره، پخوانی وګورئampپه سافټویر کې https://mcuxpresso.nxp.com/appcodehub.
د پخواني سره تاییدampد پروژې
د پخواني ترلاسه کولو لپارهampد سافټویر کڅوړه چې د دې غوښتنلیک یادښت لپاره سرچینې او وسایل لري، لیدنه وکړئ: https://mcuxpresso.nxp.com/appcodehub. پخوانی خلاص کړئampد MCUXpresso IDE په اړه پروژه. .axf جوړ او پروګرام کړئ file پتې ته 0x30000000 او د سرچینې بن پروګرام file Camera_preview_resource.bin پتې ته 0x30800000.
د LVGL GUI مخ پیژندنه exampپه نورمال ډول په لاندې ډول کار کوي:
- مخکېview: د بریښنا په پورته کولو سره، د کیمرې لخوا نیول شوي ویډیو جریان د کیمرې دمخه ځانګړې ساحه کې ښیېview د GUI پرده. د وضعیت لیبل "پریview…” د جزیاتو لپاره، 3 شکل وګورئ. د کاروونکي حذف کولو تڼۍ پټه ده. کله چې د بټونو او انځورونو څخه بهر ساحه کې کلیک وکړئ، دا پری ښیيview د مخ د ثبت یا پیژندنې عمل پای ته رسیدو وروسته د پورته په څیر بیان کړئ.
- نوم لیکنه:
- ټارټ اپ: کله چې د راجستریشن تڼۍ کلیک شي، د مخ راجستریشن پیل کیږي. د وضعیت لیبل د "رجسټریشن ..." ښودلو لپاره بدلیږي ، د مخ لارښود مستطیل نیلي ښیې ، او د پرمختګ بار د پرمختګ ښودلو پیل کوي. ډاډ ترلاسه کړئ چې د کارونکي مخ د نوم لیکنې لپاره د نیلي مخ لارښود مستطیل کې ښودل کیږي.
- بریا: د حالت لیبل د "راجستریشن... سمه" او د راجستر شوي کارن ID شمیره ښیي، د مخ لارښود مستطیل سور کیږي که چیرې د مخ راجستریشن بریالی وي مخکې له دې چې پرمختګ په بار کې بشپړ ښکاره شي.
- ناکامي -> وخت پای: د وضعیت لیبل "د راجسټریشن ... وخت پای" ښیې که چیرې د مخ راجسټریشن لاهم ناکامه وي کله چې پرمختګ په بار کې بشپړ ښیې.
- ناکامي -> نقل: د وضعیت لیبل "رجسټریشن… ناکام شوی" ښیې، د مخ لارښود مستطیل شنه کیږي که چیرې راجستر شوی مخ وپیژندل شي مخکې لدې چې پرمختګ په بار کې بشپړ ښکاره شي.
- پیژندنه:
- پیل: کله چې د پیژندنې تڼۍ کلیک شي، د مخ پیژندنه پیل کیږي. د وضعیت لیبل د "پیژندنې…" ښودلو لپاره بدلیږي ، د مخ لارښود مستطیل نیلي ښیې ، او د پرمختګ بار د پرمختګ ښودلو پیل کوي. ډاډ ترلاسه کړئ چې د کارونکي مخ د راجسټریشن لپاره د نیلي مخ لارښود مستطیل کې ښودل شوی.
- بریا: د حالت لیبل "پیژندنه...ښه" او د پیژندل شوي کارونکي ID شمیره ښیې، د مخ لارښود مستطیل شنه کیږي که چیرې د مخ پیژندنه بریالۍ وي مخکې لدې چې پرمختګ په بار کې بشپړ ښکاره شي. په دې نقطه کې، د کاروونکي حذف کولو تڼۍ څرګندیږي. دا پدې مانا ده چې کارونکي ته اجازه ورکول کیږي چې یوازې هغه وخت حذف شي کله چې پیژندل کیږي.
- ناروغي: د وضعیت لیبل "پیژندنه… وخت پای" ښیې که چیرې د مخ پیژندنه لاهم ناکامه وي کله چې پرمختګ په بار کې بشپړ ښکاره شي.
- کارن ړنګ کړئ: کله چې د "کاروونکي حذف کړئ" تڼۍ کلیک وکړئ، وروسته له دې چې د مخ پیژندنه بریالۍ وي، د وضعیت لیبل د "کاروونکي ړنګ کړئ ... ښه" ښودلو لپاره بدلیږي د مخ لارښود مستطیل نیلي کیږي او پرمختګ په بار کې بشپړ ښودل کیږي. د کارونکي حذف کولو تڼۍ بیا پټه شوې. پیژندل شوی مخ / کارن له ډیټابیس څخه حذف شوی. دا پدې مانا ده چې دا مخ / کارونکي نشي پیژندل کیدی تر هغه چې بیا راجستر شوی وي.
په سند کې د سرچینې کوډ په اړه یادونه وکړئ
Exampپه دې سند کې ښودل شوی کوډ لاندې کاپي حق لري او د BSD-3-Clause جواز لري:
د کاپي حق 2024 NXP بیا توزیع او د سرچینې او بائنری فورمو کې کارول، د تعدیل سره یا پرته، اجازه لري چې لاندې شرایط پوره کړي:
- د سرچینې کوډ بیا توزیع باید د کاپي حق پورتنۍ خبرتیا، د شرایطو لیست او لاندې اعلانات وساتي.
- په بائنری شکل کې بیا توزیع باید د پورتنۍ کاپي حق خبرتیا بیا تولید کړي ، د شرایطو دا لیست او په اسنادو کې لاندې اعلان او / یا نور توکي باید د توزیع سره چمتو شي.
- نه د کاپي حق لرونکي نوم او نه هم د هغې د مرسته کونکو نومونه د ځانګړي مخکیني لیکلي اجازې پرته د دې سافټویر څخه ترلاسه شوي محصولاتو تایید یا هڅولو لپاره کارول کیدی شي.
دا سافټویر د کاپي حقدارانو او مرسته کونکو لخوا چمتو شوی "لکه څنګه چې دی" او هر ډول څرګند یا ضمیمه تضمینونه، په شمول، مګر محدود نه دي، د تضمین شوي تضمین تضمین هدف رد شوی دی. په هیڅ صورت کې به د کاپي حق لرونکی یا ونډه اخیستونکي د کوم مستقیم، غیر مستقیم، تصادفي، ځانګړي، مثالي، یا پایله لرونکي زیانونو لپاره مسؤل نه وي (پشمول، مګر محدود نه وي. یا خدمتونه؛ د کارونې، ډاټا، یا ګټې یا د سوداګرۍ خنډ) په هرصورت، د مسؤلیت په نظر کې، که څه هم په تړون کې وي، سخت مسؤلیت، یا غیرقانوني کول) د دې سافټویر کارولو څخه په هره لاره کې، حتی که د ورته زیان د احتمال په اړه مشوره ورکړل شي.
د بیاکتنې تاریخ
قانوني معلومات
تعریفونه
مسوده - په یوه سند کې د مسودې حالت ښیي چې مینځپانګه لاهم د داخلي بیاکتنې لاندې دهview او د رسمي تصویب تابع وي، کوم چې کیدای شي د تعدیلاتو یا اضافو پایله ولري. د NXP سیمی کنډکټرونه د اسنادو په مسوده کې شامل شوي معلوماتو دقت یا بشپړتیا په اړه هیڅ ډول نمایش یا تضمین نه ورکوي او د داسې معلوماتو کارولو پایلو لپاره هیڅ مسؤلیت نلري.
ردول
- محدود تضمین او مسؤلیت - په دې سند کې معلومات دقیق او د باور وړ دي. په هرصورت، د NXP سیمیکمډکټرونه د داسې معلوماتو دقت یا بشپړتیا په اړه هیڅ ډول نمایش یا تضمین نه ورکوي، څرګند یا ضمیمه شوي او د داسې معلوماتو کارولو پایلو لپاره هیڅ مسؤلیت نلري. د NXP سیمیکنډکټرونه په دې سند کې د مینځپانګې مسؤلیت په غاړه نه اخلي که چیرې د NXP سیمیکمډکټر څخه بهر د معلوماتو سرچینې لخوا چمتو شوي وي.
په هیڅ صورت کې به د NXP سیمیکمډکټرونه د کوم غیر مستقیم، حادثې، مجازاتو، ځانګړي یا پایلې زیانونو لپاره مسؤل نه وي (پشمول - پرته له محدودیت څخه - له لاسه ورکړې ګټې، ضایع شوي سپما، د سوداګرۍ خنډ، د محصولاتو د لرې کولو یا بدلولو پورې اړوند لګښتونه یا د بیا کار لګښتونه) که نه. یا نه دا ډول زیانونه د شکنجې (د غفلت په ګډون)، تضمین، د تړون سرغړونې یا کومې بلې قانوني نظریې پراساس دي.
د هر ډول زیانونو سره سره چې پیرودونکي ممکن د هر دلیل له امله پیښ شي، د NXP سیمیکمډکټرونو مجموعي او مجموعي مسؤلیت د پیرودونکي په وړاندې د هغه محصولاتو لپاره چې دلته تشریح شوي باید د NXP سیمیکمډکټرونو د سوداګریز پلور د شرایطو او شرایطو سره سم محدود وي. - د بدلون راوستلو حق - د NXP سیمیکمډکټر حق لري چې په دې سند کې خپاره شوي معلوماتو کې بدلونونه راولي، په شمول د محدودیت مشخصاتو او د محصول توضیحاتو پرته، هر وخت او پرته له خبرتیا. دا سند ټول هغه معلومات بدلوي او ځای په ځای کوي چې دلته د خپریدو دمخه چمتو شوي.
- د استعمال لپاره مناسب - د NXP سیمیکمډکټر محصولات ډیزاین شوي ، مجاز یا تضمین ندي چې د ژوند ملاتړ ، ژوند - مهم یا خوندیتوب - مهم سیسټمونو یا تجهیزاتو کې د کارولو لپاره مناسب وي ، او نه هم په غوښتنلیکونو کې چیرې چې د NXP سیمیکمډکټر محصول ناکامي یا نیمګړتیا په معقول ډول تمه کیدی شي پایله ولري. شخصي ژوبل، مړینه یا شدید ملکیت یا د چاپیریال زیان. د NXP سیمیکنډکټرونه او د هغې عرضه کونکي په داسې تجهیزاتو یا غوښتنلیکونو کې د NXP سیمیکمډکټر محصولاتو شاملولو او/یا کارولو لپاره هیڅ مسؤلیت نه مني او له همدې امله دا ډول شاملول او/یا کارول د پیرودونکي په خپل خطر کې دي.
- غوښتنلیکونه - هغه غوښتنلیکونه چې دلته د دې محصولاتو لپاره تشریح شوي یوازې د توضیحي موخو لپاره دي. د NXP سیمیکمډکټرونه هیڅ استازیتوب یا تضمین نه کوي چې دا ډول غوښتنلیکونه به د نورو ازموینې یا ترمیم پرته د ټاکل شوي کارونې لپاره مناسب وي.
پیرودونکي د NXP Semiconductors محصولاتو په کارولو سره د خپلو غوښتنلیکونو او محصولاتو ډیزاین او عملیاتو مسؤلیت لري، او د NXP سیمیکمډکټر د غوښتنلیکونو یا پیرودونکي محصول ډیزاین سره د مرستې لپاره هیڅ مسؤلیت نه مني. دا د پیرودونکي یوازینی مسؤلیت دی چې دا معلومه کړي چې ایا د NXP سیمیکمډکټر محصول د پیرودونکي غوښتنلیکونو او محصولاتو لپاره مناسب او مناسب دی چې پالن شوي، او همدارنګه د پالن شوي غوښتنلیک او د پیرودونکي د دریمې ډلې پیرودونکي کارولو لپاره. پیرودونکي باید مناسب ډیزاین او عملیاتي محافظتونه چمتو کړي ترڅو د دوی غوښتنلیکونو او محصولاتو پورې اړوند خطرونه کم کړي. د NXP سیمیکنډکټرونه د کوم ډیفالټ ، زیان ، لګښت یا ستونزې پورې اړوند هیڅ مسؤلیت نه مني چې د پیرودونکي غوښتنلیکونو یا محصولاتو کې د کوم ضعف یا ډیفالټ پراساس وي ، یا د پیرودونکي دریم اړخ پیرودونکي لخوا غوښتنلیک یا کارول. پیرودونکي د NXP سیمیکمډکټر محصولاتو په کارولو سره د پیرودونکي غوښتنلیکونو او محصولاتو لپاره د ټولو اړینو ازموینو ترسره کولو مسؤلیت لري ترڅو د غوښتنلیکونو او محصولاتو یا غوښتنلیک یا د پیرودونکي د دریمې ډلې پیرودونکي لخوا کارولو څخه مخنیوی وشي. NXP پدې برخه کې هیڅ مسؤلیت نه مني. - د تجارتي خرڅلاو شرایط او شرایط - د NXP سیمیکمډکټر محصولات د سوداګریز پلور عمومي شرایطو او شرایطو سره سم پلورل کیږي ، لکه څنګه چې په https://www.nxp.com/pro کې خپاره شويfile/شرطونه، پرته لدې چې بل ډول په یوه معتبر لیکلي انفرادي تړون کې موافقه شوې وي. په هغه صورت کې چې یو انفرادي تړون پای ته رسیږي یوازې د اړوند تړون شرایط او شرایط پلي کیږي. د NXP سیمیکنډکټرونه دلته په ښکاره ډول د پیرودونکي لخوا د NXP سیمیکمډکټر محصولاتو پیرودلو په اړه د پیرودونکي عمومي شرایطو او شرایطو پلي کولو اعتراض کوي.
- د صادراتو کنټرول - دا سند او همدارنګه دلته تشریح شوي توکي ممکن د صادراتو کنټرول مقرراتو تابع وي. صادرات ممکن د وړ چارواکو څخه مخکینۍ اجازې ته اړتیا ولري.
- په غیر اتومات وړ وړ محصولاتو کې د کارولو لپاره مناسب - پرته لدې چې دا سند په څرګند ډول وايي چې دا ځانګړي NXP سیمی کنډکټر محصول د موټرو وړ دی ، محصول د موټرو کارولو لپاره مناسب ندی. دا د موټرو ازموینې یا غوښتنلیک اړتیاو سره سم نه وړ دی او نه ازمول شوی. د NXP سیمیکمډکټرونه د موټرو تجهیزاتو یا غوښتنلیکونو کې د غیر اتومات وړ وړ محصولاتو شاملولو او/یا کارولو لپاره هیڅ مسؤلیت نه مني.
په هغه صورت کې چې پیرودونکی محصول د اتوماتیک غوښتنلیکونو کې د ډیزاین کولو او کارولو لپاره د موټرو مشخصاتو او معیارونو لپاره کاروي ، پیرودونکي (a) باید محصول د دې ډول اتومات غوښتنلیکونو ، کارولو او مشخصاتو لپاره د محصول د NXP سیمیکمډکټر تضمین پرته وکاروي ، او ( b) هرکله چې پیرودونکي د NXP سیمیکمډکټرونو مشخصاتو هاخوا د اتوماتیک غوښتنلیکونو لپاره محصول کاروي دا ډول کارول باید یوازې د پیرودونکي په خپل خطر کې وي ، او (c) پیرودونکي د پیرودونکي ډیزاین او کارولو په پایله کې د هر ډول مسؤلیت ، زیانونو یا ناکام محصول ادعاګانو لپاره د NXP سیمیکنډکټرونو بشپړ تاوان ورکوي. د NXP سیمی کنډکټرونو معیاري تضمین او د NXP سیمیکمډکټر محصول مشخصاتو هاخوا د اتوماتیک غوښتنلیکونو لپاره محصول. - ژباړې - د یوه سند غیر انګلیسي (ژباړل شوې) نسخه، په دې سند کې د قانوني معلوماتو په ګډون، یوازې د حوالې لپاره ده. د ژباړل شوي او انګلیسي نسخو ترمنځ د کوم توپیر په صورت کې انګلیسي نسخه باید غالب وي.
- امنیت - پیرودونکي پوهیږي چې د NXP ټول محصولات ممکن د نامعلومو زیانونو تابع وي یا ممکن د پیژندل شوي محدودیتونو سره د تاسیس شوي امنیتي معیارونو یا مشخصاتو ملاتړ وکړي. پیرودونکی د خپل ژوند په اوږدو کې د خپلو غوښتنلیکونو او محصولاتو ډیزاین او عملیاتو مسؤل دی ترڅو د پیرودونکي غوښتنلیکونو او محصولاتو باندې د دې زیانونو اغیز کم کړي. د پیرودونکي مسؤلیت نورو خلاص او/یا ملکیت ټیکنالوژیو ته هم غزیږي چې د پیرودونکي غوښتنلیکونو کې د کارولو لپاره د NXP محصولاتو لخوا ملاتړ کیږي. NXP د کوم زیان لپاره هیڅ مسؤلیت نه مني. پیرودونکي باید په منظمه توګه د NXP څخه امنیتي تازه معلومات وګوري او په سمه توګه تعقیب کړي. پیرودونکي باید د امنیتي ځانګړتیاو سره محصولات غوره کړي چې د ټاکل شوي غوښتنلیک مقررات، مقررات او معیارونه تر ټولو ښه پوره کوي او د خپلو محصولاتو په اړه د ډیزاین وروستۍ پریکړې کوي او یوازې د خپلو محصولاتو په اړه د ټولو قانوني، تنظیمي، او امنیت پورې اړوند اړتیاوو سره د مطابقت مسولیت لري. د هر ډول معلوماتو یا مالتړ چې کیدای شي د NXP لخوا چمتو شي.
NXP د محصول د خوندیتوب پیښې غبرګون ټیم (PSIRT) لري (په PSIRT@nxp.com کې د لاسرسي وړ) چې د NXP محصولاتو امنیتي زیانونو ته د څیړنې ، راپور ورکولو او حل حل اداره کوي.
NXP BV - NXP BV عملیاتي شرکت نه دی او دا محصولات نه توزیع کوي یا پلوري.
سوداګریزې نښې
خبرتیا: ټول راجع شوي برانډونه، د محصول نومونه، د خدماتو نومونه، او سوداګریزې نښې د دوی د اړوندو مالکینو ملکیت دی.
NXP - د کلمې نښه او لوګو د NXP BV سوداګریزې نښې دي
AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed فعال, NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, μVision, Versatile — په متحده ایالاتو او/یا کې د آرم لمیټډ (یا د هغې فرعي شرکتونو یا وابسته) سوداګریزې نښې او/یا راجستر شوي سوداګریزې نښې دي. بل ځای. اړونده ټیکنالوژي ممکن د هر یا ټولو پیټینټونو ، کاپي حقونو ، ډیزاینونو او سوداګرۍ رازونو لخوا خوندي شي. ټول حقونه خوندي دي.
- i.MX - د NXP BV سوداګریز نښه ده
- J- لینک — د SEGGER Microcontroller GmbH سوداګریز نښه ده.
مایکروسافټ، Azure، او ThreadX - د مایکروسافټ شرکتونو سوداګریزې نښې دي.
مهرباني وکړئ په یاد ولرئ چې د دې سند او محصولاتو په اړه مهم خبرتیاوې چې دلته تشریح شوي، د 'قانوني معلوماتو' برخه کې شامل شوي دي.
© 2024 NXP BV
د لا زیاتو معلوماتو لپاره، مهرباني وکړئ لیدنه وکړئ: https://www.nxp.com
- د خپریدو نیټه: 19 اپریل 2024
- د سند پیژندونکی: AN14263
FAQ
پوښتنه: د دې محصول اصلي موخه څه ده؟
A: اصلي هدف د ساده LVGL GUI سره د AI&ML لید الګوریتم ماډل په کارولو سره د مخ پیژندنې فعالیت فعالول دي.ampپه SLN-TLHMI-IOT بورډ کې.
پوښتنه: پراختیا کونکي څنګه کولی شي د دې غوښتنلیک یادداشت څخه ګټه پورته کړي؟
A: پرمخ وړونکي کولی شي زده کړي چې څنګه د چمتو شوي ایکس په کارولو سره ګام په ګام چوکاټ کې د مخ پیژندنې پلي کولampد وسایلو مدیرانو، HAL وسایلو، او د پیښې میکانیزمونو په اړه پوه شئ.
اسناد / سرچینې
![]() |
NXP AN14263 په چوکاټ کې LVGL GUI د مخ پیژندنه پلي کوي [pdf] د کارونکي لارښود AN14263 په چوکاټ کې د LVGL GUI مخ پیژندنه پلي کړئ، AN14263، په چوکاټ کې د LVGL GUI مخ پیژندنه پلي کړئ، په چوکاټ کې LVGL GUI د مخ پیژندنه، په چوکاټ کې د مخ پیژندنه، په چوکاټ کې د مخ پیژندنه، |