دوستان لطفا بفرمایین از چه طریقی میشه برنامه یی که روی یک برد آردوینو آپلود کردیم را دانلودش کنیم. من یه برنامه را روی آردوینو آپلود کردم ولی متاسفانه سورسش را پاک کردم، الان نیاز دارم که به اون کدها دسترسی داشته باشم و تغییراتی را تو برنامه نوشته شده ایجاد کنم. چطوری میتونم کدها را از روی برد دانلود کنم یا چطوری میتونم ویرایششون کنم؟
اطلاعیه
Collapse
No announcement yet.
دانلود کردن برنامه آپلود شده روی بردهای آردوینو
Collapse
X
-
پاسخ : دانلود کردن برنامه آپلود شده روی بردهای آردوینو
سلام دوست عزیز
وقتی شما برنامه ای رو کامپایل میکنی یعنی داری سورس کد (رشته هایی از کاراکتر ها که برای انسان قابل فهم هستند) رو به کد ماشین (تعدادی عدد که برای انسان قابل فهم نیست و یا فهمیدنش خیلی سخت هست و فهمش برای ماشین یا میکرو راحت هست) تبدیل میکنی و هنگامی که شما میکرو یا برد تون رو پروگرام کردی (یعنی برنامتون رو آپلود کردید روی برد) در اصل دارید اون کد ماشین های تولید شده در مرحله ی قبل رو روی بردتون آپلود میکنید.
حالا با خواندن یا دانلود کردن حافظه ی میکرو شما میتونی به کد های ماشین دست پیدا کنی (چون در اصل کدهای ماشین روی برد آپلود میشه نه خود برنامه ای که شما نوشتی).
بعد از خواندن کد های ماشین، نرم افزار هایی هستند که میتونند کد ماشین رو به زبان اسمبلی تبدیل کنند (زبان اسمبلی زبانی هست که فهمش برای انسان یکم راحت هست ولی به راحتی زبان c یا c++ نیست).
البته نرم افزارهایی وجود داره که بتونه کد اسمبلی رو به زبان های سطح بالا تر مثل c تبدیل کنه ولی نکته ای که باید بهش توجه کرد اینه که برنامه ی تبدیل شده اصلا شباهتی به برنامه ی اصلی شما نداره به دو دلیل:
۱. اسم تابع ها و متغییر ها با چیزی که شما در برنامه اصلی استفاده کردی تفاوت داره.
۲. به دلیل بهینه سازی های که کامپایلر هنگام کامپایل کردن انجام میده، خیلی از کد ها تغییر میکنند.
شما اگه بجای دانلود کد و دستورالعمل هایی که در بالا گفته شد، یک ریکاوری نصب کنی و فایل پاک شده رو ریکاوری کنی خیلی راحت تر است.
نمیدونم برنامه ی شما چقدر بزرگ بود ولی برای من به دلیل باگ ادیتور یکی از سورس فایل هام که حدود ۲۵۰۰ خط کد داشت پاک شد به صورتی که قابل ریکاوری هم نبود، بعد از کمی تحقیق دوباره نوشتم، بیشتر از دو روز کار نبرد.
- تشکرها 1
دیدگاه
-
پاسخ : دانلود کردن برنامه آپلود شده روی بردهای آردوینو
نوشته اصلی توسط daryooosh نمایش پست هاسلام دوست عزیز
وقتی شما برنامه ای رو کامپایل میکنی یعنی داری سورس کد (رشته هایی از کاراکتر ها که برای انسان قابل فهم هستند) رو به کد ماشین (تعدادی عدد که برای انسان قابل فهم نیست و یا فهمیدنش خیلی سخت هست و فهمش برای ماشین یا میکرو راحت هست) تبدیل میکنی و هنگامی که شما میکرو یا برد تون رو پروگرام کردی (یعنی برنامتون رو آپلود کردید روی برد) در اصل دارید اون کد ماشین های تولید شده در مرحله ی قبل رو روی بردتون آپلود میکنید.
حالا با خواندن یا دانلود کردن حافظه ی میکرو شما میتونی به کد های ماشین دست پیدا کنی (چون در اصل کدهای ماشین روی برد آپلود میشه نه خود برنامه ای که شما نوشتی).
بعد از خواندن کد های ماشین، نرم افزار هایی هستند که میتونند کد ماشین رو به زبان اسمبلی تبدیل کنند (زبان اسمبلی زبانی هست که فهمش برای انسان یکم راحت هست ولی به راحتی زبان c یا c++ نیست).
البته نرم افزارهایی وجود داره که بتونه کد اسمبلی رو به زبان های سطح بالا تر مثل c تبدیل کنه ولی نکته ای که باید بهش توجه کرد اینه که برنامه ی تبدیل شده اصلا شباهتی به برنامه ی اصلی شما نداره به دو دلیل:
۱. اسم تابع ها و متغییر ها با چیزی که شما در برنامه اصلی استفاده کردی تفاوت داره.
۲. به دلیل بهینه سازی های که کامپایلر هنگام کامپایل کردن انجام میده، خیلی از کد ها تغییر میکنند.
شما اگه بجای دانلود کد و دستورالعمل هایی که در بالا گفته شد، یک ریکاوری نصب کنی و فایل پاک شده رو ریکاوری کنی خیلی راحت تر است.
نمیدونم برنامه ی شما چقدر بزرگ بود ولی برای من به دلیل باگ ادیتور یکی از سورس فایل هام که حدود ۲۵۰۰ خط کد داشت پاک شد به صورتی که قابل ریکاوری هم نبود، بعد از کمی تحقیق دوباره نوشتم، بیشتر از دو روز کار نبرد.
دیدگاه
-
پاسخ : دانلود کردن برنامه آپلود شده روی بردهای آردوینو
نوشته اصلی توسط mehdimirzaie نمایش پست هاولی آیا میشه همون کدهای صفر و یکی که الان روی میکرو هست را دانلود کنم
نوشته اصلی توسط mehdimirzaie نمایش پست ها.اصلا میشه کدهای صفر و یک را مستقیم روی میکرو آپلود کرد ؟
دیدگاه
-
پاسخ : دانلود کردن برنامه آپلود شده روی بردهای آردوینو
نوشته اصلی توسط daryooosh نمایش پست هابله امکانش هست ,ولی ادیتور آردینو این امکان رو نداره. من با بردهای اردینو کار نکردم و اطلاعی از سخت افزارشون ندارم ولی در حالت کلی شما به یک دستگاه پروگرامر و برنامه ی مربوطه نیاز دارید. حالا ممکنه پروگرامر درون برد آردینو جاسازی شده باشه که در این صورت شما تنها نیاز دارید برنامه مناسب رو نصب کنید.
بله میشه (در اصل وقتی شما دارید برنامه ای رو روی بردتون آپلود میکنید دارید همین کار رو انجام میدید)ولی باز ادیتور اردینو این قابلیت رو نداره و بقیه ی ماجرا .....
دیدگاه
-
پاسخ : دانلود کردن برنامه آپلود شده روی بردهای آردوینو
نوشته اصلی توسط mehdimirzaie نمایش پست هایعنی رو آردوینو اصلا راهی تداره که این کار را انجام بدم ؟
شما بردتون رو چطوری پروگرم میکنی؟ بردت مستقیم با کابل یو اس بی به سیستم وصل میشه یا با پروگرامر (دستگاه واسطی بین برد و سیستم) این کار رو انجام میدید؟
- تشکرها 1
دیدگاه
-
پاسخ : دانلود کردن برنامه آپلود شده روی بردهای آردوینو
نوشته اصلی توسط daryooosh نمایش پست هااگه از آردینو منظورت ادیتور (برنامه ای که رو سیستم باز میکنید) اردینو هست، جواب بله هست یعنی راهی نداره.
شما بردتون رو چطوری پروگرم میکنی؟ بردت مستقیم با کابل یو اس بی به سیستم وصل میشه یا با پروگرامر (دستگاه واسطی بین برد و سیستم) این کار رو انجام میدید؟
در مورد ادیتور هم که فرمودین، اصراری ندارم که با اون برنامه این کار را بکنم با هر برنامه یا روسی که بشه کار را انجام داد، مشکلی ندارم
دیدگاه
-
پاسخ : دانلود کردن برنامه آپلود شده روی بردهای آردوینو
نوشته اصلی توسط mehdimirzaie نمایش پست هادوستان لطفا بفرمایین از چه طریقی میشه برنامه یی که روی یک برد آردوینو آپلود کردیم را دانلودش کنیم. من یه برنامه را روی آردوینو آپلود کردم ولی متاسفانه سورسش را پاک کردم، الان نیاز دارم که به اون کدها دسترسی داشته باشم و تغییراتی را تو برنامه نوشته شده ایجاد کنم. چطوری میتونم کدها را از روی برد دانلود کنم یا چطوری میتونم ویرایششون کنم؟
اگر برنامه را خودتان روی آردوینو آپلود کرده اید پس قفل نمیباشد و تنها کافیست آی سی را درآورید و بر روی یک پروگرامر قرار دهید و آنرا بخوانید. بعد فایلی که پروگرامر ایجاد میکند را میتوانید بر روی هر میکروی مشابهی مجددا کپی نمایید. و عملکرد آن با برنامه کنونی هیچ تفاوتی نمیکند. ولی توجه داشته باشید که این فایل دیگر قابل ویرایش نمیباشد.
راهی برای اینکه مجددا فایل را از روی میکرو به سورس آردوینو تبدیل کنید وجود ندارد.
موفق باشید.جدیدترین ویرایش توسط evergreen; ۲۲:۴۳ ۱۴۰۱/۰۹/۲۵.
- تشکرها 1
دیدگاه
-
پاسخ : دانلود کردن برنامه آپلود شده روی بردهای آردوینو
نوشته اصلی توسط mehdimirzaie نمایش پست هااز هر دو روش میتونم وصل کنم.
در مورد ادیتور هم که فرمودین، اصراری ندارم که با اون برنامه این کار را بکنم با هر برنامه یا روسی که بشه کار را انجام داد، مشکلی ندارم
در مورد ادیتور هم پیشنهاد میکنم ادیتور اردینو رو کنار بزارید و از پلتفرم platformIO روی ادیتور VSCode استفاده کنید. این پلتفرم امکانات خیلی خیلی خوبی برای برنامه نویسی سیستم های جاسازی شده میده و سطح شما رو در برنامه نویسی سیستم های جاسازی شده بالا خواهد برد.
- تشکرها 1
دیدگاه
-
پاسخ : دانلود کردن برنامه آپلود شده روی بردهای آردوینو
خواندن محتویات آردوینو که منظور میکروکنترلر روی آن است درصورت قفل نبودن توسط یک پروگرامر ساده قابل انجام است.ولی فقط فایل hex درون آنرا میتوانید بدست آورید وامکان دسترسی به سورس نیست وقابل تبدیل هم نیست.این فایل هگز را اگر روی میکرو کنترلر آردوینو دیگر آپلود کنید همان کار را انجام میدهد.
راه دیگر برای دسترسی به سورس: اگر از نرم افزار آردوینو استفاده کردید وخودتان هم اینکار را روی کامپیوترتان کردید وزمان زیادی هم نگزشته در شاخه temp های ویندوز فایل سورس شما قرار دارد .این سورس بصورت فایلهای مختلف در یک شاخه وبا نامهای تصادفی ونامربوط است.آموزش آن در اینترنت هست.من یکبار تست کردم چون آردوینو کرش کرده بود ومدتی بعد تونستم پیداش کنم.حتی کامنتهای توی سورس هم داشت.دقت کنید پیدا کردین این شاخه temp وفایلهای درون آن قاطی بقیه فایلهای موقتی ویندوز در شاخه و درایو نصب ویندوز کمی سخت است واینکه امکانش هم کم هست.
دیدگاه
دیدگاه