اطلاعیه

Collapse
No announcement yet.

خوندن برنامه از میکرو ( بسکام )

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    خوندن برنامه از میکرو ( بسکام )

    سلام
    چطور میشه توی bascom ، برنامه ای رو که توی میکرو پروگرام شده رو خوند؟؟

    فرض کنید 10 تا atmega 32 دارین که همگی با برنامه های مختلفی پروگرام شدن و امکان تست یکی یکیشون نیست،،
    چطور میشه برنامه هاشون رو باز کرد؟؟

    با تشکر
    تخیل مهمتر از دانش است
    علم محدود است اما تخیل دنیا را دربر میآ‌گیرد
    آلبرت انیشتین

    #2
    پاسخ : خوندن برنامه از میکرو ( بسکام )

    شما میتونید با پروگرامر ها فایل هگز ر دریافت کنید و د میکروی دیگر پروگرام کنید.(البته اگر میکرو قفل نباشد)
    اما همون طور که می دونید بعد از کومپایل کردن برنامه توسط نرم افزار ،اون برنامه تبدیل به زبان ماشین میشه.
    حالا فرقی نداره با چه زبانی نوشته شده باشه اون برنامه سی یا بسکام در هر صورت اون برنامه تبدیل به زبان ماشین شده (صفر و یک).
    حالا فکرشو بکن میخای بر عکس یعنی برنامه رو برگردونی ، حالا به نظرت چجوری باید بفهمه که با کدوم برنامه نوشته شد که دستورات رو به همون زبون بر گردونه.
    شاید بگی که خوب ما بهش میگیم تو به زبان بسکام برشگردون ،بله تو تئوری درسته ولی تو عمل به کار نمیآد.
    شما میتونید اطلاعات خودتون رو در زبان برنامه نویسی و بخصوص در ضمینه رجیستر ها بالا ببرید چون فقط ما میتونیم هنگام برگردوندن برنامه که وقتی از میکرو برنامه رو میخونیم اون دیتاهایی که تو میکرو هست (که شامل یه سری از اعداد دیجیتالی هست)و در خونه های رجیستر ثبت شده اند رو بتونی دوباره بنویسی.
    منم همینکار رو میخاستم بکنم و به همچین نتیجه ای رسیدم .حالا دوستان اگه غیر ازین چیزهایی که گفتم هست ،درستشون رو بگین تا ما هم یاد بگیرم.
    به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
    (پيش به سوي هدف)

    دیدگاه


      #3
      پاسخ : خوندن برنامه از میکرو ( بسکام )

      من کلیه گفته های جناب hosseinam1370 را تصدیق میکنم و چیزهایی اضافه میکنم:

      اول اینکه خیلی ببخشید اینکار مثل دزدی می مونه و مجاز نیست.

      برای اینکار شما محتویات حافظه فلش میکرو که هر خانه آن 2 بایتی است را به طور کامل بدست آورید. که البته فایل hex. بگونه ای رمز شده است ولی میشه رمز اون رو شکست و براحتی میشه تو کامپیوتر برنامه ای نوشت که این کار را کند .
      بعد از بدست آوردن محتویات حافظه فلش که به ترتیب آدرس حافظه فلش ، باید مرتب شده باشد ، باید از اول شروع به ترجمه کدهای ماشین به معادل اسمبلی اونها کنیم ( بوسیله doc0856 اتمل (یک pdf تو سایت اتمله که میتونید دانلود کنید و درباره ISA میکرو گفته شده)) بعد از اون باید خودتون را جای پردازنده قرار بدید و کد ها را به نوعی پردازش کنید و با بدست آوردن الگوریتم میتونید به هر زبانی که خواستید ترجمه کنید.
      ولی درکل برای برنامه های بزرگ تقریبا غیر ممکنه و به صرفه تره خودتون بشینید برنامه اش رو بنویسید(و مطمئن باشید اگر کسی بتونه اینکار را کنه مطمئنا برنامه نویسی براش خیلی راحت تره تا اینکه از زبان ماشین یک برنامه رو برگردونه).
      راه اندازي ماژول nrf24l01p براي codevision (ارتباط بيسيم بين دو ميکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
      کوچ کردن از کدويژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
      نحوه نوشتن اصولي يک لايبرري و درايور نرم افزاري( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
      http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول هاي مختلف توسط اعضاي انجمن
      انشالله به زودي تاپيک ها به روز رساني خواهد شد،

      دیدگاه


        #4
        پاسخ : خوندن برنامه از میکرو ( بسکام )

        ضمن تشکر از اساتید خوبم
        عرض شود اینکه دزدی نیست!!!
        من 3 تا atmega 32 دارم که قبلا" روی یکیشون برنامه دزدگیر ریخته بودم و حالا نمیتونستم اونو پیدا کنم تا بقیه رو پروگرام کنم و .....

        اما حالا با گفته های آقا حسین فک کنم دقیقا" فهمیدم که 0 و 1 رو نمیشه به این راحتیا به زبون قابل فهم ما درآورد.

        بگذریم ...

        چنتا سوال دیگه :

        اگه کامپایلر بسکام با پروگرام کردن یه میکرو هنگ کنه مشکل از چیه ؟؟ اصلا" چطور میشه سالم بودن یه میکرو رو تست کرد؟؟

        اگه تنظیمات پروگرامر و کامپیوتر صحیح باشه در چه صورتهایی امکان پروگرام نشدن میکرو وجود داره؟؟

        با سپاس
        تخیل مهمتر از دانش است
        علم محدود است اما تخیل دنیا را دربر میآ‌گیرد
        آلبرت انیشتین

        دیدگاه


          #5
          پاسخ : خوندن برنامه از میکرو ( بسکام )

          در ضمن اینم محض اطلاعات عمومیت بگم که اگه میکرو قفل باشه و کسی بخاد برنامشو بخونه ،در صورت عادی بسیار سخت و در حد غیر ممکن میباشد،ولی کشور دوست و همسایه چین میتونه با صرف هزینه چندصد میلیارد یا هزار (تو همین حدود)میگیره و سطح میکرو رو میتراشه و به داخل سخت افزار میکرو نفوذ میکنه و میتونه برنامه رو بخونه که در نوع خودش بسیار جالبه،واسه همینه که اول کپی اون محصول با مارک (made in china ) میاد و بعد اون محصول اصل :mrgreen:.که داره رو بازار جهان حکومت میکنه،مثل ایران ما، فکر کن اگه چین حذف بشه ،من که فک میکنم بحران اقتصاد جهانی به وجود میآد چون واقعا چین داره تو تمومی محصولات خودشو نشون میده.
          بگزریم حالا برای سوال اول:همونطور که در پست دیگتون گفتم بسکام با یو اس بی پروگرامر زیاد حال نمیکنه ،و من هم کار نکردم و نمیدونم زیاد اگه به پاسخ رسیدی به اشتراک بزار دوست من.
          2سوال:ببینید سالم بودن میکرو بستگی داره <1"اگه پروگرام نشه خوب نشون میده که میکروت یچی شده که باز بستگی داره باز 1: که آیا بر روی کلاک خارجی یا روی کریستال خارجی تنظیم کنی و بعد بخوای بدون کریستال یا کلاک خارجی اونو پروگرام کنی ،که خوب پروگرام نمیشه و حتما باید کلاک یا کریستال باشه و مشکلت حل میشه و میکرو سالمه.2:خوب شاید یه پین سوخته باشه ،خوب شما باید یه برنامه بنویسید که همه ی پین های پورت ها رو ست کنید و ببینید آیا led ها روشن میشه یا نه که میتونید بفهمید کدام پین یا پورت سوخته.(در نظر داشته باشین که در مگا هایی که jtag دارن (32 یا 16 و ...)باید این فیوز بیت را غیر فعال کنید تا بتونید از اون پایه ها به عنوان ورودی خروجی استفاده کنید ،وگرنه ست نمیشن)
          در هر صورت اینجور که دوستان تجربه کردن اگه میکرو سوخته باشه گرم خواهد شد ،که کم پیش میآد که بسوزه ،معمولا یا قفل میشه یا تنظیمات فیوز بیت ها رو بد انجام میدن و باعث پروگرام نشدن میکرو میشه.که شما اگه با یکم هوشتونو بکار بگیرید و آزمایشات رو مثل 2 نمونه ای که گفتم انجام بدین ،میتونید از سلامتی یا خرابیش رو پی ببرین.
          سوال 3:
          جوابش با سوال 2 فرقی ندارد.
          ولی اگه فیوز بیت ها رو بد ست کنید مثلا روی یه کریستال خارجی ست کردین برای 2 یاره پروگرام کردنش باید دقت کنید که کریستالش رو بزارین ،اگه پروگرامر نداره کریستال روو
          و 2 سعی کنید که در اتمگاهایی که پایه ریست در پورت قرار دارد ،اون پورت رو یا اون پایه رو خروجی ست نکنید(شکل دیتاشیت اتمگا8 رو ببین) چون پروگرامرهایی که از ارتباط spi برای پروگرامر کردن استفاده میکنن نیاز به پایه ریست دارن و رو پایه ریست نباید ولتاژ مثبتی(داخلی) باشد ،و اگه اون پایه خروجی بشه ولتاژ مثبتی رو اون سوار میشه و دیگه پایه ریستی نخواهی داشت.و میکروت دیگه پروگرام نمیشه البته با این ارتباط.
          من خودم با کریستال خارجی همین کار رو کردم ،اتمگا 8 من پرید .و باید با های ولتاژ برگردونمش.
          همین بود اطلاعاتم اگه جایی بد گفتم تصحیحش کنید دوستان :nerd:
          ببخشید کلتونو خوردم :wow:
          به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
          (پيش به سوي هدف)

          دیدگاه

          لطفا صبر کنید...
          X