NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 2301 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 4 از 4

موضوع: مفهوم یک خط کد در برنامه dfu

  1. #1
    کاربر فعال ppittl آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    اکبری
    نوشته ها
    138
    تشکر
    44
    تشکر شده 72 بار در 46 پست

    Red face مفهوم یک خط کد در برنامه dfu

    سلام در برنامه DFU که مربوط به برنامه ریزی میکرو STM از طریق USB هست
    اول برنامه شرایط رو چک میکنه که وارد برنامه بوت لودر بشه یا نه ؟
    و اگر قرار بر این شد که وارد برنامه ریزی میکرو نشه، میره که به برنامه ای که ازقبل روی میکرو هست پرش کنه،قبل از پرش به برنامه میکرو چک می کنه که برنامه هست یا نه
    با این خط کد
    کد:
        if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)
        { /* Jump to user application */
    حالا سوال منه اینه که با این کد بالا چطوری میفهمه برنامه هست یا نه؟
    منظورم معنی کد بالاست ، رابطه نتیجه این کد با وجود داشتن برنامه چی هست
    ممنون

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    کاربر فعال
    تاریخ عضویت
    Mar 2010
    نوشته ها
    236
    تشکر
    101
    تشکر شده 246 بار در 163 پست

    پیش فرض

    اون شرط داره ادرس شروع رم رو چک میکنه .
    وقتی شما برنامه تون رو پروگرم میکنید vector table از ادرس شروع فلش ( در اینجا ادرس 0x8000000 ) شروع میشه
    32 بیت اول اون خونه ادرس شروع حافظه Sram هست که در اینجا میشه ادرس شروع Stack pointer
    [code]
    __Vectors DCD __initial_sp ; Top of Stack
    DCD Reset_Handler ; Reset Handler
    DCD NMI_Handler ; NMI Handler
    [code/]

    اگر ادرس Stack pointer وجود داشت پس کد پروگرم شده و با این کد
    JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);
    ادرس reset_handler رو اجرا میکنه

  4. کاربران : 3 تشکر کرده اند از شما mrm برای ارسال این پست سودمند:


  5. #3
    کاربر فعال ppittl آواتار ها
    تاریخ عضویت
    Sep 2009
    نام
    اکبری
    نوشته ها
    138
    تشکر
    44
    تشکر شده 72 بار در 46 پست

    پیش فرض

    ایول همین هست
    میخونه با لاجیک

  6. #4
    کاربر علاقه مند
    تاریخ عضویت
    Dec 2009
    نام
    qom
    نوشته ها
    20
    تشکر
    8
    تشکر شده 36 بار در 8 پست

    پیش فرض

    سلام
    من میخوام با رابط USB و DFU و تنظیمات CubeMX برنامم رو بروز رسانی کنم دوستان میشه راهنماییم کنید؟
    برنامه سمت کامپیوترش رو باید از چی استفاده کنم؟
    متشکر

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •