در قسمت ششم از این آموزش به راهاندازی اولیه فریم بافر پرداختیم. در این قسمت قصد داریم که نحوه کار با سیمیلاتور (Simulator) و فایلهایی که نیاز است برای آن دانلود کنیم و جایی که از آنها باید دانلود کنیم را آموزش دهیم. پس تا پایان این قسمت همراه سیسوگ باشید.
برای شروع، ابتدا وارد سایت LVGL و سپس وارد Docs آن میشویم. در این بخش شما تمام اطلاعات و نمونه کدها و نحوهی عملکرد سیستم و بروزرسانیهای آن را میتوانید مشاهده کنید.
از بخش Introduction میتوانید توضیحات اولیه این سیستم را مطالعه کنید. در بخش نمونه کدها (Examples) در مورد تمام بخشهای سیستم صحبت شده و لینک گیتهاب کدهایشان (بهصورت پایتون و C) قرار داده شده است و در بخش گیتهاب آن اگر شما روی گزینه Simulator بزنید، نمونه کد اجرا میشود. ازآنجاییکه کارکردن بهصورت آنلاین سرعتش کند است، ما بهصورت آفلاین با شبیهساز کار میکنیم.
در بخش Get start شما میتوانید مراحل مطالعه و یادگیری سیستم را مشاهده کنید و از بخش Quick overview میتوانید یک مرور سریع بر کل سیستم گرافیکی LVGL داشته باشید.
ویدئو راهنما راه اندازی نسخه 8 به صورت تصویری
قسمت دیگری در Docs وجود دارد به نام Integration and Drivers اگر شما روی گزینه IDEs کلیک کنید، وارد صفحهای میشوید که شبیهسازها و کامپایلرهایی که شما میتوانید پلتفرم LVGL را روی آن اجرا کنید را قرار داده است. مثلاً Simulator روی کامپیوتر که ما با این حالت کار میکنیم.
سپس اگر روی گزینه Simulator on PC کلیک کنید، وارد صفحهای میشوید که تمامی مراحل را بهصورت متنی آموزش داده است. برای اینکه شما بتوانید LVGL را داخل کامپیوتر شبیهسازی کنید، خود LVGL اومده بین ویندوز، مک و لینوکس، یک تقسیمبندی کرده است و دراینخصوص، بیان کرده است که برای هر کدام از این سیستمعاملها و پلتفرمها از کدام شبیهسازها استفاده کنید.
طبق تجربهای که ما داریم، Eclipse برای کامپیوتر (ویندوز) خیلی خوبه! یکی از دلایلی که Eclipse برای شبیهسازی خوبه این است که محیط برنامهنویسی آن به کامپایلرهای C ما نزدیکتر است و بهطورکلی استاندارهای آن به کامپایلرهای ما شبیهتر است.
البته از شبیهسازهای دیگر هم میتوانید استفاده کنید؛ مثلاً VisualStudio نیز برای ویندوز، مناسب است. اما یک ایراد دارد آن هم اینکه حجمش خیلی بالا است. (حدود ۱۹ گیگ)
VSCode هم خوبه مثل Eclipse هست؛ فقط یک سری تنظیمات و ستکردن آن برای اینکه بتواند با کتابخانههای SDL کار کند، کمی دردسر دارد.
حالا میریم سراغ اینکه چه فایلهایی را باید دانلود کنیم و از کجا باید دانلود کنیم.
برای کارکردن با شبیهساز، ابتدا شما باید فایل mingw را دانلود کنید که یک نوع کامپایلر C و C++ برای کامپیوتر هست.
فایل دیگری که باید دانلود کنید، فایل SDL هست که یک نوع کتابخانه گرافیکی میباشد.
همچنین، خود نرمافزار C++ Eclipse را نیز باید دانلود کنید که میتوانید آن را از سایت soft98 یا سایت خودش بهصورت مستقیم و رایگان، دانلود کنید. حجم آن نیز زیاد بالا نیست و حدود ۲۰۰، ۳۰۰ مگ است.
در پایان همین مطلب، لینکهای دانلود این فایلها را برای شما قرار دادهایم.
بعد از دانلود این موارد، شما نیاز به یک پروژهای که آماده برای شبیهسازی سیستم گرافیکی LVGL بر روی نرمافزار Eclipse دارید.
اکنون دوباره به سایت LVGL میرویم وارد قسمت GitHub میشوید در اینجا تمام فولدرهایی که خود سایت LVGL آپلود کرده را میتوانید ببینید.
شما میتوانید در بخش Github پروژه شبیهسازی LVGL با نرمافزار Eclipse را مطابق تصویر دانلود کنید. برای این کار، پس از انتخاب فولدر روی گزینه Download zip کلیک کرده و آن را دانلود کنید.
⚡توجه
در پروژههای گیتهاب، بعضی فایلها لینک دارند به یک گیتهاب دیگر یا یک فولدر دیگر متصل میشوند.
بنابراین، شما همچنین باید طبق شکل زیر فولدر LVGL را انتخاب کنید و بعد از آن گزینه Download zip را انتخاب کرده و این فایل را هم دانلود کنید. پس در اینجا دوتا دانلود داشتیم.
سپس باید فایل پروژه را از حالت زیپ خارج کرده و Extract کنید.
بعد از آن، شما باید در محیط نرمافزار Eclipse، پروژه را باز کنید. برای این کار شما باید از قسمت بالا سمت چپ گزینه from File system Open projects را انتخاب کرده یا از بخش Import، قسمت General، آدرس پروژه خود را داده و آن را اضافه کنید.
✅نکته
اگر نرمافزار Eclipse، پروژه را شناسایی کرد که یعنی کار درست انجام شده است؛ اما اگر پروژه را شناسایی نکرد، از روش دیگر اضافهکردن پروژه استفاده کنید.
بعد از انجام این مراحل، پروژه باید به سمت چپ اضافه شده باشد. اکنون اگر دقت کنید، فولدر lvgl خالی هست؛ ولی فایلهای دیگر (فایل کانفینگ، فایل main و…) حاوی محتویات مربوطه هستند. دراینخصوص، باید محتوای فایلی که دانلود کرده بودید را کپی و داخل فولدر LVGL قرار دهید.
برای اینکه شبیهسازی خود را انجام دهید، باید به سیستمتان فایل کتابخانهها و mingw را معرفی کنید. به همین جهت، ابتدا فایل mingw و سپس فایل کتابخانهها (فایل SDL2) را Extract کنید. پس از آن، باید فایل mingw از حالت زیپ خارج شده را در درایو C کپی کنید. سپس باید محتویات فایل SDL2 مطابق با مسیرهای زیر در فولدر mingw قرار بدهید.
- Copy mingw32/include/SDL2folder to C:/MinGW/…/x86_64-w64-mingw32/include
- Copy mingw32/lib/content to C:/MinGW/…/x86_64-w64-mingw32/lib
- Copy mingw32/bin/SDL2.dllto {eclipse_workspace}/pc_simulator/Debug/
برای معرفی مسیر mingw به ویندوز باید از بخش Environmoment Variables از قسمت Path داخل بخش System Variables مسیر mingw وارد کنید.
در نهایت، باید فایل SDL2.dll را در فولدر Debug پروژه خود قرار دهید در صورت نبودن پروژه فولدر دیباگ را بسازید و همچنین در قسمت تنظیمات کتابخانه پروژه هم اسم این سه کتابخانه mingw32, SDLmain, SDL اضافه کنید.
- Copy the dllinto the project’s Debug folder
- Right-click on the project -> Project properties -> C/C++ Build -> Settings -> Libraries -> Add … and add mingw32above SDLmain and SDL. (The order is important: mingw32, SDLmain, SDL)
حال اگر همه چیز درست پیش رفته باشد پس از کامپایل، هنگامی که گزینه Play را میزنیم، باید شبیهساز ما باز شود در صورت باز نشدن خروجی شبیهساز از بخش Run Configurtions فایل خروجی تولید شده را دستی انتخاب کنید تا بعد از run اجرا شود.
نکات
- برای اینکه پروژه با سرعت بیشتری کامپایل شود، در قسمت C/C++ Build تیک گزینه Behavior را بزنید. هنگامی که این گزینه را فعال میکنید، پروژه شما بهصورت موازی، کامپایل میشود.
- آموزشها طبق نسخه 8.xx هست.