به نام خدا

سلام خدمت هموطنان عزیزی که به دنبال یادگیری مطالب جدید هستند!

امروز بعد از 4 روز کار میخوام نتیجه اونو در اختیارتون قرار بدم!

راستش چند وقتی میشه که برد نانوپی خریدم اول روش لینوکس نصب کردم بعد گفتم که خوب چه فایده؟ تصمیم گرفتم که مثل دانشجوها که توی دانشگاه معماری پردازنده های اینتل رو میخونن منم شروع کنم معماری پردازنده آرم رو بخونم البته هیچ منبع فارسی که بخواد درمورد معماری پردازنده آرم توضیح کاربردی داده باشه نمیگم نیست ولی کمه :)

ولی سایت سیسوگ این مطلب ارزشمند رو برای کسانی که رزبری پای دارن ارایه کرده! دستش درد نکنه.

ولی متاسفانه هیچ سایت ایرانی و خارجی چنین مطلبی رو برای نانوپی ارایه نکرده و به سختی چیزی گیر میاد!

دست به کار شدم و سعی کردم یه راهی برای بوت کردن کدی که نوشتم پیدا کنم ولی به اینکه سه روز باهاش کار کردم به نتیجه نرسیدم و بعد از یک وقفه ی چند روزی دوباره دیروز برگشتم ولی اینبار به لطف خدا راهی رو پیدا کردم که جواب میده و اومدم اونو به سرعت با شما عزیزان به اشتراک بگذارم!

خوب بریم سراغ اصل مطلب:

ما از u-boot استفاده میکنیم!

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

Ubuntu_xenial_default_desktop.7z

ولی شما میتوندی هر نسخه ای دیگه هم استفاده کنید

خوب الان مثل قبل اینو با برنامه Win32DiskImager.exe روی کارت SD خودتون بریزید

حالا اگه به نانوپی بزنید و اونو به یک مبدل سریال به USB متصل کنید یوبوت کارهایی رو که داره انجام میده رو نشون میده و یک جا میگه اگه میخواید متوقف کنید یک کلیدی بزنید اصل کار ما اونجاست البته شما زودتر یه کلیدی فشار بدید که یه وقت رد نشه!

خوب این تا اینجا

دقت داشته باشید که نسخه های یوبوت باهم فرق میکنه و فکر کنم این لینکی که دادم نسخه آخر یوبوت رو روش ریختن

الان این فایل رو توی صفحه اول کارت SD بریزید تا اجراش کنیم (توجه کنید که ممکنه کارت SD توی ویندوز قابل خوندن نباشه و باید توسط لینوکس یا یک برنامه جانبی ویندوز این فایل رو توی کارت SD بریزید)(دقت کنید که اگه خواستید کارت SD رو از توی ویندوز فرمت کنید من حتما حتما برنامه AOMEI رو پیشنهاد میکنم به هرحال نصب کنید یه روزی به کارتون میاد!)

حالا کارت SD رو به برد متصل کنید

سیم های UART روهم متصل کنید(عکس زیر برای NanoPI M1 کمکتون میکنه)

حالا با استفاده از یک برنامه ترمینال یا برنامه PutTy به پورت سریال متصل بشید و وقتی گفت برای توقف کلیدی رو بزنید شما سریعا اسپیس (فاصله) رو فشار بدید (البته توصیه میکنم که از قبل تند تند بزنید که رد نشه:)) حالا بسته به نسخه ای که استفاده میکنید و فایلی که روی کارت SD رایت کردیدباید کارهای زیر رو انجام بدید!


الف)

اگه فرمت کارت SD شما کاملا ext4 شده و ویندوز اصلا قادر نیست حتی اونو نشون بده و فرمتش کنه و شما فایل دانلودی رو با لینوکس توی اون ریختید توی ترمینال برای یوبوت کد زیر رو واردکنید

ext4load mmc 0 0x41000000 notmain.bin; go 0x41000000

اگه خواستید درون پوشه رو ببینید میتونید بزنید:

ext4ls mmc 0

یا اگه میخواید درون پوشه ی خاصی مثلا پوشه boot رو ببینید میتونید بزنید:

ext4ls mmc 0 /boot


ب)

اگه کارت SD شما توسط ویندوز قابل خوندنه حتی اگه بخشی از کارت SD باشه! (مثلا اگه کارت حافظه شما 8 گیگ هست این 50 مگ رو نشون بده) و شما فایلتون رو توسط ویندوز توی همون مقدار از کارت SD ریختید چون فرمت اونجا fat بوده از کد زیر استفاده کنید:

fatload mmc 0 0x41000000 notmain.bin; go 0x41000000

اگه خواستید درون پوشه رو ببینید میتونید بزنید:

fatls mmc 0

یا اگه میخواید درون پوشه ی خاصی مثلا پوشه boot رو ببینید میتونید یزنید

fatls mmc 0 /boot


خوب امیدوارم که LED آبی روی برد شما هم چشمک بزنه! چون این کد برای همینکاره!


قسمت دوم: برنامه نویسی

راستش من اول خودم به کمک سایت سیسوگ یه برنامه برای بردم نوشتم ولی جواب دیروز فهمیدم که برنامه ام جواب نمیده و از سورسی که در اینجا یه آدم خیر گذاشته استفاده کردم و کار کرد!

اگه میخواید با ویندوز کامپایل کنید این پست سایت سیسوگ کمکتون میکنه.

ادامه ... 

حالا که کامپایلر رو نصب کردید -> حالا برای اینکه اون سورس کد رو که دانلود کردیم کامپایل کنیم! برید توی Makefile مثلاپروزه ی Blink01 و چون برای لینوکس هست شما خودتون تغییرش بدید و دستی وارد کنید!

مثلا من اینجوری replace کردم (دانلود کنید) __ شما فقط از خطوط 26 به پایین رو توی CMD وارد کنید و دقت کنید که اون خط هایی که اولش قرمز نوشته رو وارد نکنید (فقط خطوط 27و30و33و36و37و38و39 رو وارد کنید)

برای راحتی کار این خطوطی که گفتم رو توی یک فایل txt بریزید (بینشون Enter بزنید)بعد فرمت فایل رو به .cmd تغییر بدید و وقتی روش کلیک کنید خودکار انجام میشه:)

خوب امیدوارم مفید بوده باشه!

موفق باشید....!

یا علی مدد....!