کار با تراشه V3S – قسمت سوم – ساخت ایمیج

blog
۱۴۰۲-۰۳-۲۲
4 دقیقه

در قسمت قبلی از سری آموزش کار با تراشه V3s به بررسی بیلد سیستم یوکتو پرداختیم و ویژگی هاش رو بررسی کردیم، همچنین روند ساخته شدن ایمیج توسط یوکتو رو بررسی کردیم، حالا توی این قسمت میخوایم نحوه ساخت ایمیج لینوکسی به کمک یوکتو، برای برد SINUX V3 رو بررسی کنیم. با سیسوگ همراه باشید.

شاید برای شما مفید باشد: آموزش الکترونیک از 0 تا 100

ساخت ایمیج لینوکسی در یوکتو

برای ساخت ایمیج از این ریپازیتوری کمک میگیریم. (ما توی این آموزش با Ubuntu 18.04 پیش میریم.)

مرحله اول نصب یکسری پکیج هست که با این دستور انجام میشه.

بعد از اون یک فولدر با نام yocto در پوشه home خودمون میسازیم، اگر این پوشه رو در جایی دیگه بسازید باید در دستوراتی که در ادامه وارد میکنیم رو هم اصلاح کنید، پس اگه تازه کار هستید مسیر رو تغییر ندید.

همونطور که در دستورات هم مشخصه ما از نسخه dunfell یوکتو استفاده کردیم و layer های مورد نیاز رو با کمک دستورات گیت دانلود کردیم.

با کمک این دستور پوشه ای رو برای ذخیره کانفیگ های ایمیجمون مشخص میکنیم.

حالا فایل bblayers.confرو در مسیر ~/yocto/build/sinux_v3/conf/ به این صورت تغییر میدیم.

بعد از اون لازمه که یکسری متغیر رو در فایل local.conf که کنار فایل قبلی هست تغییر بدیم.

متغیر اول که مشخص کننده بردی هست که میخوایم ایمیج براش بسازیم. سه متغیر بعدی اما فایل هایی هستند که ممکنه با برد های دیگه مشترک باشند، پس اگه یه موقع با کمک آموزش دیگه ای برای برد دیگه ای از یوکتو استفاده کردید بهتره که این آدرس ها رو در اون هم قرار بدید تا فایل هایی که مشترک هستند دوباره دانلود نشند و … .

حالا با کمک این دستور شروع به کامپایل ایمیج میکنیم.

بعد از کامپایل ، ایمیج ما در این آدرس قابل دسترسی هست.

برای اینکه ایمیج رو روی کارت حافظه بریزیم روی اون راست کلیک میکنیم و گزینه Open with disk image writer رو میزنیم. (فایل console-image-sinux_v3.sunxi-sdimg رو باید انتخاب کنید.)

embedded_write_sd

دقت کنید که sdcard را از قبل به سیستم وصل کرده باشید(یه موقع هاردتون رو فرمت نکنیدا !! )،حالا sd رو انتخاب کرده و Start Restoring…. را میزنیم.

ریستور SD کارت

در پنجره باز شده restore را زده و در پنجره بعدی هم رمزمون را وارد می‌کنیم.
بعد از اینکه رایت کردن تمام شد eject را می‌زنیم و sd را خارج می‌کنیم.

زدن eject برای خارج کردن SD

حالا کافیه که sd را به برد وصل کرده و منتظر بوت شدن باشیم.

برای مشاهده مراحل بوت شدن باید با استفاده از یک رابط usb به سریال پایه‌های ‌UAR0 RX و  ‌UAR0 TX برد sinux v3 رو به سیستم وصل کنید.

دو ال ای دی رو برد هست که یکی متصل بودن تغذیه رو نشون میده و اون یکی هم اگر سیستم عامل در حال نوشتن و خواندن از حافظه sd باشه چشمک میزنه.

نام کاربری root هست و رمز عبورم نداره.

این هم از صفحه lcd هنگام بوت شدن (نمایشگری که در حال حاضر متصل می‌باشد، دارای رزولوشن 800*480 هست.)

زمان بوت شدن Yocto

مرحله بعدی وصل کردن شبکه برد هست، در حالت عادی شبکه فعال می‌باشد و روی حالت dhcp است، یعنی باید به مودم به طور مثال وصل بشه و از اون آیپی بگیره، در صورتی که به مودم وصلش کردید با این دستور میتونید آیپی برد رو چک کنید.

اما برای اینکه بتونید مستقیم به سیستمتون وصلش کنید باید یه آیپی ثابت بهش بدید که برای اینکار خط 17 فایل interfaces رو با ادیتور vi تغییر میدیم.

بعد از اینکار این دستور رو باید بزنید تا تنظیمات شبکه بروز شود.

در حال حاظر آیپی برد 192.168.5.78 هست و لازمه آیپی سیستمی که میخواید باهاش به برد وصل بشید هم توی همین رنج قرار بدیم، مثلا 192.168.5.75 بزاریم.

 

حالا میخوایم یک پکیج به ایمیجمون اضافه کنیم، برای اینکار باید سراغ فایل console-image.bb در مسیر poky/meta-sinux/recipes-images/images بریم . داخل متغیر IMAGE_INSTALL میتونید پکیج های دلخواهتون رو اضافه کنید،‌ به طور مثال بعد از اضافه کردن پکیج htop این متغیر به این صورت در میاد.

حالا لازمه که دوباره این دستور رو بزنیم تا ایمیجمون کامپایل بشه و بعد دوباره روی کارت حافظه بریزیم.

 

در این بخش میتونید به همه قسمت‌های سری آموزش کار با تراشه V3S دسترسی پیدا کنید:

شاید برای شما مفید باشد: آموزش امبدد لینوکس از 0 تا 100

دانلود رایگان شماتیک و PCB برد توسعه SINUX V3

فایل‌های طراحی را می‌توانید به‌صورت رایگان از گیت هاب من دریافت کنید!

buy allwiner v3s board sinux v3

اطلاعات
32
0
لینک و اشتراک
profile

Mahdi.h  

متخصص الکترونیک

علاقه مند به سیستم های امبدد | http://mahdi2001h.ir

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
حمیدرضا گفت :
۱۴۰۳-۰۲-۲۰ ۰۹:۴۹

سلام وقت به خیر;
وقتی دستور bitbake رو می زنم در خیلی طول میکشه و تا حلا ۲ ساعت هستش که داره انجام میده.اینقده طول میشکه؟ یا مشکلی هست

profile
محمد گفت :
۱۴۰۲-۱۱-۲۹ ۲۱:۲۱

سلام
من ایمیج رو درست کردم و ال سی دی هم وصل کردم اما همچین چیزی نشون نمی ده. فقط ی صفحه سیاه که دو تا نوشته نشون داده.

profile
Mahdi.h   گفت :
۱۴۰۲-۱۲-۱۷ ۱۰:۲۶

خب تا اینجا درسته دیگه 🙂

profile
بهزاد عبدی گفت :
۱۴۰۲-۱۰-۰۹ ۰۳:۲۱

سلام دوباره خدمت شما.
این پروژه گرافیکی لینوکسی خیلی جالبه.
قبلا با f1c100s و بیلد روت تست کردم سرعت بالا اومدنش خوب بود..
نمیدونم آیا یوکتو هم با همون سرعت بوت میشه یا نه.
میشه در موردش توضیح بدید. تشکر میکنم.

profile
Mahdi.h   گفت :
۱۴۰۲-۱۰-۰۹ ۱۰:۱۱

سلام
یوکتو و بیلدروت هر دو قابلیت شخصی سازی ایمیج دارند
اینکه شما چه قابلیت هایی رو توی ایمیج فعال کنید باعث افزایش یا کاهش زمان بوت میشه
نه بیلد سیستم

profile
بهزاد عبدی گفت :
۱۴۰۲-۱۰-۰۹ ۱۱:۴۱

سلام آقای مهدی.
خیلی ممنون از جوابتون .
بله ویدیو پیدا کردم تو ۲ ثانیه بوت میشد.
ولی baremetal با lvgl خیلی فوق العاده میشه.
فقط اگر میشید sdk رو هم پیدا کنم میتونستم شروع کنم .برای f1c100s اس دی کا بود.
این یکی v3s رو میتونید منبعی پیدا کنید ..
خیلی لطف میکنید.
تشکر.

profile
Mahdi.h   گفت :
۱۴۰۲-۱۰-۰۹ ۱۲:۳۵

همین لینکی که فرستادم baremetal برای تراشه های مختلف هست که f1c100 , v3s و خیلی تراشه های دیگه رو داخلش داره
اینم لینک گیت هابش
https://github.com/xboot/xboot

profile
سعید گفت :
۱۴۰۲-۰۷-۱۱ ۰۹:۵۸

بعد از اجرا این دستور bitbake console-image این ارور را می دهد:
ERROR: Unable to start bitbake server (None)
ERROR: Server log for this session (/home/saeed/yocto/build/sinux_v3/bitbake-cookerdaemon.log):
— Starting bitbake server pid 12807 at 2023-10-03 09:49:54.824721 —
ERROR: The following layer directories do not exist:
ERROR: /home/saeed/yocto/poky/meta
ERROR: /home/saeed/yocto/poky/meta-poky
ERROR: /home/saeed/yocto/poky/meta-openembedded/meta-oe
ERROR: /home/saeed/yocto/poky/meta-openembedded/meta-networking
ERROR: /home/saeed/yocto/poky/meta-openembedded/meta-python
ERROR: /home/saeed/yocto/poky/meta-qt5
ERROR: /home/saeed/yocto/poky/meta-sinux
ERROR: Please check BBLAYERS in /home/saeed/yocto/build/sinux_v3/conf/bblayers.conf
کسی با این مشکل روبرو شده است؟

profile
Mahdi.h   گفت :
۱۴۰۲-۰۷-۱۱ ۲۰:۳۹

اگر انتهای ارور رو بررسی کنید ، نوشته آدرس دهی هایی که در فایل bblayers.conf کردید اشتباه هست و این فولدر ها رو پیدا نمیکنه
باید آدرس دهیتون رو چک کنید و اگر بر اساس آموزش نرفتید و مسیر ها رو تغییر دادید ، در این فایل هم آدرس دهی ها رو اصلاح کنید.

profile
Aliasghar گفت :
۱۴۰۲-۰۶-۲۷ ۲۲:۲۸

سلام و وقت بخیر
تشکر فراوان از اموزش بسیار عالیتون
یک مشکل در دایرکتوری گیت git://github.com/megous/linux.git وجود داره که جابه جا شده این لینک و لینک جدید هم در Recipe قرار نداره برای همین مشکل fetch در مرحله اخر bitbake ایجاد میشه امکانش هست راهنمایی کنید که چطور این لینک رو تغییر بدیم در فایل ها
ممنون.

profile
Mahdi.h   گفت :
۱۴۰۲-۰۷-۰۸ ۱۸:۰۶

سلام
اصلاح شد
تست کنید اگر مشکلی بود بگید

profile
سعید گفت :
۱۴۰۲-۰۶-۲۶ ۱۹:۰۴

سلام
وقتی ابزارها را می خواهم نصب کنم این خطا را می دهد:
Note, selecting ‘git’ instead of ‘git-core’
E: Unable to locate package texinfogcc-multilib
E: Unable to locate package xtermlibmpc-dev
زمانی که می خواهم این دستور را می زنم source oe-init-build-env ~/yocto/build/sinux_v3
این خطا را می دهد:
Error: TEMPLATECONF value points to nonexistent directory ‘meta-canexp/conf’
متاسفانه در داخل نت هم نتوانستم مشکلات را پیدا کنم.

profile
Mahdi.h   گفت :
۱۴۰۲-۰۶-۲۷ ۱۲:۳۰

سلام
از چه توزیع لینوکس و چه نسخه ای استفاده میکنید ؟

profile
سعید گفت :
۱۴۰۲-۰۶-۲۹ ۱۹:۵۵

اوبونتو Ubuntu 20.04.3 LTS

profile
مجید گفت :
۱۴۰۲-۰۶-۱۹ ۱۲:۳۴

سلام خسته نباشید
یه تغییر باید در recipe کرنل که قرار دادید بدید .
لینک git://github.com/megous/linux.git برای کلن کردن لینوکس با branch orange-pi-5.8 حذف شده و در لینک دیگه ای قرار داره
متاسفانه دوستان یکی از خطاهایی که تو bitbake میگیرن do_fetch کردن این کرنل هست .
ممنون از آموزشتون

profile
Mahdi.h   گفت :
۱۴۰۲-۰۷-۰۸ ۱۸:۰۷

سلام
اصلاح شد
تست کنید اگر مشکلی بود بگید

profile
رامین گفت :
۱۴۰۲-۰۶-۲۸ ۱۰:۱۴

با سلام لطف میکنین آدرس جدید رو بذارین

profile
Mahdi.h   گفت :
۱۴۰۲-۰۷-۰۸ ۱۸:۰۸

سلام
اصلاح شد
تست کنید اگر مشکلی بود بگید

profile
Mahdi.h   گفت :
۱۴۰۲-۰۶-۱۹ ۱۳:۰۹

سلام
ممنون از شما
مثل اینکه هفته پیش این اتفاق افتاده
اولین فرصت اصلاحش میکنم

profile
رامین گفت :
۱۴۰۲-۰۶-۳۰ ۱۰:۵۸

با سلام و خسته نباشید

امکان اصلاح یا ارسال لینک جدید رو دارین؟

profile
علی اصغر گفت :
۱۴۰۲-۰۶-۲۷ ۲۱:۵۰

سلام وقت بخیر ممنون از اموزش عالیتون
این مشکلی مجید جان گفته بودن رو چطور میشه حل کرد تو Recipe کرنل و جایگزین کرد با لینک سالم؟

profile
بهزاد گفت :
۱۴۰۲-۰۴-۲۴ ۱۱:۱۲

سلام – لازمه عرض کنم
bitbake console-image
کلی خطا میده و مراحل کلا قطع میشه
scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc’; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[3]: *** [scripts/Makefile.host:106: scripts/dtc/dtc] Error 1
make[3]: *** Waiting for unfinished jobs….
و کلی خطای دیگه… آیا خودتون این رو تست کرده بودین..
تشکر.

profile
Mahdi.h   گفت :
۱۴۰۲-۰۴-۲۴ ۱۵:۳۸

بله تست کردم و مشکلی نداره
این ارور به نظر دلیلش نسخه اشتباه gcc هست
توی انجمن سیسوگ مراحلی که طی کردید رو به همراه نسخه لینوکس و .. توی یک موضوع بنویسید تا مراحل رو با هم چک کنیم

profile
بهزاد گفت :
۱۴۰۲-۰۴-۲۳ ۲۲:۴۳

سلام و عرض خسته نباشید.
git://git.openembedded.org/meta-openembedded
این لینک کارنکرد من حالا از سایت خودش یه لینک جایگزین رو \دا کردم
ولی برای ساخت ایمج دستور بیت بیک خطا داد میگه بیت بیک وجود نداره..
درحالیکه جزی از ‍بوکی هست و باید قاعدتا باشه..
حالا اگر میشه یه راهنمایی بفرمایید. مرسی

profile
Mahdi.h   گفت :
۱۴۰۲-۰۴-۲۴ ۱۵:۳۴

سلام
به جاش از این لینک میتونید استفاده کنید
git clone https://github.com/openembedded/meta-openembedded --depth 1 -b dunfell
برای اینکه دستور bitbake کار بده هم حتما قبلش باید این دستور زده بشه
source oe-init-build-env ~/yocto/build/sinux_v3

profile
سعید گفت :
۱۴۰۲-۰۳-۲۴ ۰۸:۲۰

سلام،
از چه ابزاری خواندن داده سریال از برد به کامپیوتر را انجام می دهید. من از این دستور استفاده می کنم:
sudo putty /dev/ttyUSB0 -serial -sercfg 115200,8,n,1,N

profile
Mahdi.h   گفت :
۱۴۰۲-۰۳-۲۴ ۰۹:۳۷

سلام
به شخصه از gtkterm استفاده میکنم

profile
A.T گفت :
۱۴۰۲-۰۳-۲۳ ۲۰:۰۰

سلام
خدا قوت
بسیار عالی

profile
Mahdi.h   گفت :
۱۴۰۲-۰۳-۲۴ ۰۹:۳۸

ممنون از شما

profile
هادی براتی گفت :
۱۴۰۲-۰۳-۲۳ ۱۹:۱۱

عالی👍🏻

profile
Mahdi.h   گفت :
۱۴۰۲-۰۳-۲۴ ۰۹:۳۸

ممنون از شما 🙂

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله