اجرای برنامه C در NanoPI بدون سیستم عامل

اجرای برنامه C در NanoPI بدون سیستم عامل

اجرای برنامه C در NanoPI بدون سیستم عامل
اجرای برنامه C در NanoPI بدون سیستم عامل

اجرای برنامه C در NanoPI مقاله‌ای است که توسط یکی از دوستان سیسوگی (آقای علی فلاح) به عنوان تجربه شروع به کار فرستاده شده که سعی می‌شود بدون دخل و تصرف منتشر شود . با سیسوگ همراه باشید.

 

اگر شما هم مقاله ای دارید که فکر می کنید می‌تواند به دیگران کمک کند ، خوشحال می شویم که با نام خودتان آن را منتشر کنیم

 

به نام خدا

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

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

راستش چند وقتی می‌شود که برد NanoPI خریدم اول روی آن لینوکس نصب کردم بعد گفتم که خوب چه فایده؟ تصمیم گرفتم که مثل دانشجوها که در دانشگاه معماری پردازنده‌های اینتل را می‌خوانند، منم شروع کنم معماری پردازنده ARM را بخوانم. البته هیچ منبع فارسی که بخواهد در مورد معماری پردازنده آرم توضیح کاربردی داده باشد نمیگم نیست ولی کم هست 🙂

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

 

سیم های UART برای برد NanoPI M1

 

حالا با استفاده از یک برنامه ترمینال یا برنامه PutTy به پورت سریال متصل شوید. وقتی گفت برای توقف کلیدی را بزنید، شما سریعاً اسپیس (فاصله) را فشار دهید (البته توصیه می‌کنم که از قبل تند تند بزنید که رد نشود:))

 

uboot NanoPi

حالا بسته به نسخه‌ای که استفاده می‌کنید و فایلی که روی کارت SD رایت کردید باید کارهای زیر را انجام دهید!

 

الف)

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

 

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

 

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

 

ب)

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

 

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

 

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

 

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

 

 

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

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

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

 

ادامه … 

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

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

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

خوب امیدوارم آموزش اجرای برنامه در NanoPI مفید بوده باشد!

یا علی مدد….!

 

 

منبع

حمایت از electronic girl

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

electronic girl
electronic girl

دوستدار الکترونیک

دیدگاه ها

2 دیدگاه

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

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

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

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

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک