استخراج كود من اردوينو واعادة كتابته على لوحة اردوينو اخرى | Extract code ( hex file ) from an arduino and rewrite it again to anther board

فى هذا المقال سنقوم بالاحتفاظ بالكود الموجود
على لوحة الاردوينو بعدة خطوات سهله وبسيطة ومن ثم نقوم باعادة حرقه مرة اخرة على لوحة
جديد ..


اولا : بيتم الامر
باستخدام
win AVR و هو برنامج مجانى للتحكم فى الAVR ويمكنك الحصول عليه من هذا الرابط

ثانيا : بعد تنصيب
البرنامج
نقوم
بفتح
 command windowوذلك عن طريق windows key+R ثم كتابة cmd 


 

Start >> Command prompt او


ثالثا : ل فتح برنامج win AVR من خلال نافذة سطر الاوامر
اول شىء يظهر هو المسار العام  default pathويكون فى
شكل

\C:\Users\Eng Ahmed Sobhy>cd

للخروج من الملف نقوم بكتابة الامر cd\ حيث نقوم بالرجوع الى المسار المراد
الرجوع اليه
سيصبح المسار الحالى هو C:\>

ولمعرفة الملفات الموجودة فى المسار الحالى بنكتب dir

ولو كان عدد الملفات كبير بنستخدم امر  dir/p


دلوقتى سنفتح win avr الذى تم تنصيبه على الـ C باستخدام
امر
cd winavr-20100110 و نفتح ملف bin بنفس الامر او يمكننا فتح ملف bin من مرة واحدة

عن طريق الامر cd winavr-20100110/bin

رابعا: استخدام امر  avrdude

نقوم بفتح ملف  avrdude.exe
يمكننا كتابة avrdud.exe ثم enter فيفتح تلقائيا او يمكننا كتابة avrdude فقط ثم
بالضغط على
tab ننتقل
للملف المقابل فى الكلمة
 (.conf .exe)

الان قمنا بفتح avrdude ولدينا عدد من الاوامر

-p لتعريف جهاز الavr
-b لتحديد ال baudrate
-B لتحديد bitclock
-C لتحديد ملف الضبط
-c لتحديد نوع المبرمجة فى حالتنا نحن نستخدم  arduino ))
-D عدم السماح بالمسح الاوتوماتيكى لفلاش الذاكرة
-i التأخير فى ساعة ال  isp
-P رقم الport  الموصول بالاردوينو  يمكن معرفته من خلال device manager ))
-F اعدادت متقدمة فى الضبط
-e مسح البيانات من على الشريحة
-Oعمل معايرة للمذبذب oscillator
-U مجموعة من الاوامر تكتب فى ترتيب خاص لتحديد الملف المنسوخ من و الى الجهاز
-n عدم كتابة اى شىء على الشريحة
-v عد المطابقة
-u الغاء وضع الامان  Safe mode
-t اعدادات متقدمة فى الضبط

و هناك بقية اخرى ولكنها اعدادات متقدمة .. تلك الاوامر ستظهر لك عندم تفتح  avrdude

اهم امرين هما 

 حرق ملف ال hex على الارديونو 

استخراج ملف ال hex من على الاردوينو

 أولا لحرق الملف سنكتب امر و ليكن blink من ال  arduino examples


و احنا بندوس على verify حندوس على shift سيعطينا المسار الخاص بال hex file

فى المثال الملف موجود على  D:\Blink.cpp.hex
و الاردوينو موصل ب  com6
لحرق الملف حنكتب الامر التالى 
avrdude -c arduino -P com6 -p atmega328p –Uflash:w:d:\Blink.cpp.hex:i

سيظهر مؤشر خطى سيكتمل فى ثانية او ثانيتين .. ثم يعطينا رسالة بنجاح
العملية
 

و الled  ستضئ و تطفىء كما فى مثال
ال
blink

ثانيا استخراج ملف ال hex من على الاردوينو

سنتأكد من رقم ال port

وسنختار اسم الملف و ليكن  sketch

و سنختار المسار الى حيحفظ فيه الملف وليكن  d:\

وسنكتب الامر التالى

avrdude -c arduino -P com6 -p atmega328p –Uflash:r:d:\sketch.hex:i

سيظهر مؤشر خطى سيكتمل فى ثانية او ثانيتين .. ثم يعطينا رسالة بنجاح
العملية
 

و سيصبح لدينا ملف جديد بالاسم الذى اخترناه و هو ملف ال hex و يمكننا
حرقه على اردوينو اخر

ملحوظة بين الامرين اختلاف بسيط فىUflash و هما
حرف ال
r و ال  w

r= read w=write 

المصادر :

هذى المقالة كتبها محمد شاهين وقمت بالاستعانة بها لضرورتها فى المقال القادم

https://www.facebook.com/neo.novel

http://forum.arduino.cc/index.php?topic=123805.0

https://www.youtube.com/watch?v=LJ6MKTyo6Tg

Leave a Reply

Your email address will not be published. Required fields are marked *