اجرای برنامه C در NanoPI مقالهای است که توسط یکی از دوستان سیسوگی (آقای علی فلاح) به عنوان تجربه شروع به کار فرستاده شده که سعی میشود بدون دخل و تصرف منتشر شود . با سیسوگ همراه باشید.
به نام خدا
سلام خدمت هموطنان عزیزی که به دنبال یادگیری مطالب جدید هستند!
امروز بعد از 4 روز کار میخوام نتیجه آن را در اختیارتان قرار بدهم!
راستش چند وقتی میشود که برد NanoPI خریدم اول روی آن لینوکس نصب کردم بعد گفتم که خوب چه فایده؟ تصمیم گرفتم که مثل دانشجوها که در دانشگاه معماری پردازندههای اینتل را میخوانند، منم شروع کنم معماری پردازنده ARM را بخوانم. البته هیچ منبع فارسی که بخواهد در مورد معماری پردازنده آرم توضیح کاربردی داده باشد نمیگم نیست ولی کم هست 🙂
ولی سیسوگ این مطلب ارزشمند را برای کسانی که رزبری پای دارند ارایه کرده! دستش درد نکند.
شاید برای شما مفید باشد: آموزش رزبری پای از 0 تا 100
ولی متاسفانه هیچ سایت ایرانی و خارجی چنین مطلبی را برای NanoPI ارایه نکرده و به سختی چیزی گیر میاد!
دست به کار شدم و سعی کردم یک راهی برای بوت کردن کدی که نوشتم پیدا کنم، ولی با اینکه سه روز باهاش کار کردم به نتیجه نرسیدم و بعد از یک وقفهی چند روزی دوباره دیروز برگشتم ولی اینبار به لطف خدا راهی را پیدا کردم که جواب میدهد و آمدم آن را به سرعت با شما عزیزان به اشتراک بگذارم!
خوب بریم سراغ اصل مطلب:
ما از u-boot استفاده میکنیم!
و چون شاید لود کردن یوبوت روی کارت SD کمی سخت و وقتگیر باشد شما یکی از سیستم عاملهای لینوکس موجود برای بردتون را پیدا کنید که با یوبوت کار کند. من از این نسخه استفاده کردم.
ولی شما میتوانید هر نسخه دیگری را هم استفاده کنید.
خوب الان مثل قبل این را با برنامه Win32DiskImager.exe روی کارت SD خودتان بریزید.
حالا اگر به نانوپی بزنید و آن را به یک مبدل سریال به USB متصل کنید، یوبوت کارهایی را که انجام میدهد را نشان میدهد. در جایی میگوید اگر میخواهید متوقف کنید یک کلیدی بزنید. اصل کار ما آنجاست! البته شما زودتر کلیدی را فشار دهید که یک وقت رد نشود!
خوب این تا اینجا
دقت داشته باشید که نسخههای یوبوت باهم فرق میکنند و فکر کنم این لینکی که دادم نسخه آخر یوبوت را روش ریختن.
الان این فایل را در صفحه اول کارت SD بریزید تا اجراش کنیم. (توجه کنید که ممکن است کارت SD در ویندوز قابل خواندن نباشد و باید توسط لینوکس یا یک برنامه جانبی ویندوز این فایل را در کارت SD بریزید.) (دقت کنید که اگر خواستید کارت SD رو از در ویندوز فرمت کنید من حتماً حتماً برنامه AOMEI را پیشنهاد میکنم. به هرحال نصب کنید، روزی به کارتان میآید!)
حالا کارت SD را به برد متصل کنید.
سیمهای UART را هم متصل کنید. (عکس زیر برای NanoPI M1 کمکتان میکند.)
حالا با استفاده از یک برنامه ترمینال یا برنامه PutTy به پورت سریال متصل شوید. وقتی گفت برای توقف کلیدی را بزنید، شما سریعاً اسپیس (فاصله) را فشار دهید (البته توصیه میکنم که از قبل تند تند بزنید که رد نشود:))
حالا بسته به نسخهای که استفاده میکنید و فایلی که روی کارت SD رایت کردید باید کارهای زیر را انجام دهید!
الف)
اگر فرمت کارت SD شما کاملاً ext4 شده و ویندوز اصلاً قادر نیست حتی آن را نشان دهد و آن را فرمت کند و شما فایل دانلودی را با لینوکسدر آن ریختید، در ترمینال برای یوبوت کد زیر را وارد کنید:
1 | ext4load mmc 0 0x41000000 notmain.bin; go 0x41000000 |
اگر خواستید درون پوشه را ببینید میتوانید بزنید:
1 | ext4ls mmc 0 |
یا اگر میخواهید درون پوشهی خاصی مثلاً پوشه boot را ببینید میتوانید بزنید:
1 | ext4ls mmc 0 /boot |
ب)
اگر کارت SD شما توسط ویندوز قابل خواندن است، حتی اگه بخشی از کارت SD باشد! (مثلاً اگه کارت حافظه شما 8 گیگ هست این 50 مگ را نشون بدهد) و شما فایلتان را توسط ویندوز در همان مقدار از کارت SD ریختید، چون فرمت آنجا fat بوده از کد زیر استفاده کنید:
1 | fatload mmc 0 0x41000000 notmain.bin; go 0x41000000 |
اگر خواستید درون پوشه را ببینید میتوانید بزنید:
1 | fatls mmc 0 |
یا اگر میخواهید درون پوشهی خاصی مثلاً پوشه boot را ببینید میتوانید بزنید:
1 | fatls mmc 0 /boot |
خوب امیدوارم که LED آبی روی برد شما هم چشمک بزند! چون این کد برای همینکار است!
قسمت دوم: برنامه نویسی
راستش من اول خودم به کمک سایت سیسوگ برنامهای برای برد NanoPI نوشتم. ولی جواب دیروز فهمیدم که برنامهام جواب نمیده و از سورسی که در اینجا یک آدم خیر گذاشته استفاده کردم و کار کرد!
اگر میخواهید با ویندوز کامپایل کنید این پست سیسوگ کمکتان میکند.
ادامه …
حالا که کامپایلر را نصب کردید -> حالا برای اینکه سورس کد را که دانلود کردیم کامپایل کنیم! برید توی Makefile مثلاً پروژهی Blink01 و چون برای لینوکس هست شما خودتون تغییرش بدید و دستی وارد کنید!
مثلاً من اینجوری replace کردم (دانلود کنید) __ شما فقط از خطوط 26 به پایین را توی CMD وارد کنید و دقت کنید که آن خطهایی که اولش قرمز نوشته را وارد نکنید (فقط خطوط 27 و 30 و 33 و 36 و 37 و 38 و 39 را وارد کنید)
برای راحتی کار این خطوطی که گفتم را توی یک فایل txt بریزید (بینشون Enter بزنید) بعد فرمت فایل را به .cmd تغییر دهید و وقتی روش کلیک کنید خودکار انجام میشود:)
خوب امیدوارم آموزش اجرای برنامه در NanoPI مفید بوده باشد!
یا علی مدد….!
سلام
این مطلب هم میتونه به دوستان کمک کنه :
https://www.hackster.io/idreams/introduction-to-nanopi-neo-air-8b5451
بله همینطوره ، اگر مطلبتون رو بتونید به صورت فارسی در اختیار ما قرار بدید ، منتشر خواهیم کرد به اسم خودتون دوست عزیز 🙂