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

موضوع: تعبیه قابلیت آپدیت برنامه میکرو توسط کاربر عادی

  1. #1
    کاربر فعال sjafarim آواتار ها
    تاریخ عضویت
    Jan 2008
    نام
    جعفری
    نوشته ها
    225
    تشکر
    93
    تشکر شده 297 بار در 141 پست

    پیش فرض تعبیه قابلیت آپدیت برنامه میکرو توسط کاربر عادی

    سلام دوستان
    منظور من چیزی مثل firmware در موبایل های قدیمی تر هست که کاربر مثلا آپدیتو دانلود میکرد و براحتی با usb فرمویر رو تغییر میداد.
    حالا به فرض ما یه دستگاه ساخته شده ARM داریم که میخوایم سالی یه بار آپدیت کنیم کد میکرومون رو، اگر کلا بردارو جمع کنیم بیاریم شرکت با j-link راحت آپدیت میکنیم ولی اگر نخوایم این کارو کنیم راحش چیه؟
    اگر مثلا رو خود برد دستگاه یه مدار کامل j-link با خروجی usb تعبیه کنیم هم میشه، ولی نمیشه به کاربر گفت خوب حالا برو j-flash رو دانلود کن و...
    مگر اینکه j-flash رو خودمون با یه برنامه ساده دیگه که خودمون بسازیم شبیه سازی کنیم و کاربر ازون برای تغذیه j-link استفاده کنه؟!

    تو یه سایت ایرانی هم دیدم که یه محصولی به اسم پروگرامر نرم افزاری داشت که دقیقا همین کارو میکرد، اتصالش با rs-232 بود ولی اینکه اصلا arm رو پشتیبانی میکنه چیزی نگفته:
    http://www.lcddesigner.com/index.php?m=sprogrammer&id=1

    ساده ترین راه چیه؟

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

  3. #2
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    سلام

    ساده ترین روش استفاده از انواع نرم افزارهای بوت لودر هست. مثلا میشه از بوت لودری استفاده کرد که فایل هگز میکرو رو از روی mmc یا فلش بخونه. بدون نیاز به سیستم عامل. فقط با فشار دادن یک دکمه.

    حالا بحثی که پیش میاد اینه که میکروی شما اگه بخواد فایل آپدیت هگز رو از روی mmc بخونه مشکلی نیست. ولی اگه بخواد از روی فلش بخونه باید از نوع هاست باشه. یعنی بتونه بدون نیاز به سیتم عامل نقش میزبان رو برای فلش بازی کنه.

    کلا کار سختی نیست مهندس.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

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


  5. #3
    کاربر فعال sjafarim آواتار ها
    تاریخ عضویت
    Jan 2008
    نام
    جعفری
    نوشته ها
    225
    تشکر
    93
    تشکر شده 297 بار در 141 پست

    پیش فرض

    نقل قول نوشته اصلی توسط morteza_rk نمایش پست ها
    سلام

    ساده ترین روش استفاده از انواع نرم افزارهای بوت لودر هست. مثلا میشه از بوت لودری استفاده کرد که فایل هگز میکرو رو از روی mmc یا فلش بخونه. بدون نیاز به سیستم عامل. فقط با فشار دادن یک دکمه.

    حالا بحثی که پیش میاد اینه که میکروی شما اگه بخواد فایل آپدیت هگز رو از روی mmc بخونه مشکلی نیست. ولی اگه بخواد از روی فلش بخونه باید از نوع هاست باشه. یعنی بتونه بدون نیاز به سیتم عامل نقش میزبان رو برای فلش بازی کنه.

    کلا کار سختی نیست مهندس.
    سلاممم داش مرتضی گل
    آقا یه سر بیا پیش ما یه گپی بزنیم، ترکیدیم از تنهایی اینجا...
    ممنون از راهنماییت،در مورد بخش هایی که قرمز کردم:
    1- نرم افزار بوت لودر دقیقا چیه؟بیشتر توضیح میدی؟ این نرم افزار کجا باید قرار داشته باشه؟تو mmc؟اگه تو mmc هست قراره میکرو اجراش کنه؟
    2- به فرض آپدیت هگز رو ریختیم رو یه حافظه، حالا از هر نوعی، آیا میکرو قراره این برنامرو یه بار از رو mmc بخونه بعد بریزه رو فلش خودش و ازون به بعد از رو فلش اجرا کنه یا اینکه همیشه از رو mmc اجرا کنه؟ اینجوری که سرعت احرای برنامه به فنا میره!
    3- مگه هر میکرویی در قبال یه حافظه به عنوان هاست به حساب نمیاد؟منظورتون آدرس پذیریه مستقیمه؟(مثل emc در lpc ها یا fsmc در stm ها؟)

  6. #4
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    سلاممم داش مرتضی گل
    آقا یه سر بیا پیش ما یه گپی بزنیم، ترکیدیم از تنهایی اینجا...
    ما ارادت داریم دادا.

    1- نرم افزار بوت لودر دقیقا چیه؟بیشتر توضیح میدی؟ این نرم افزار کجا باید قرار داشته باشه؟تو mmc؟اگه تو mmc هست قراره میکرو اجراش کنه؟
    نرم افزار بوت لودر توی همین سایت راجع بهش بحث شده ، توسط دوست خوبمون جناب شایان ملودی.

    این نرم افزار برای کامیپوتر یا سیستم عامل های دیگه نوشته میشه. مثلا من یه تلوزیون lg هوشمند دارم. خب این قابلیت رو داره که هر دفعه از طریق اینترنت یا فلش بتونم نرم افزارش رو آپدیت کنم. حالا به اون نرم افزاری که روی تلوزیون من نصبه میگن نرم افزار بوت لودر. بطور کلی میشه گفت کار نرم افزار بوت لودر اینه که بدون نیاز به پروگرمر برنامه رو میریزه روی میکروکنترلر.

    حالا ممکنه این نرم افزار مثلا برای ویندوز نوشته شده باشه ، در اینجا شما کافیه پورت com میکروتونو وصل کنید به پورت com کامپیوتر (یا پورت های usb) و با استفاده از نرم افزار کد هگز رو بفرستید داخل میکرو. همین.

    مثلا برنامه ای که باهاش ماژول های sim900a رو آپدیت می کنن درواقع یه نرم افزار بوت لودر هست که میاد میکروکنترلر arm داخل ماژول رو بدون نیاز به پروگرمر و فقط از طریق ارتباط سریال برنامه ریزی می کنه.

    2- به فرض آپدیت هگز رو ریختیم رو یه حافظه، حالا از هر نوعی، آیا میکرو قراره این برنامرو یه بار از رو mmc بخونه بعد بریزه رو فلش خودش و ازون به بعد از رو فلش اجرا کنه یا اینکه همیشه از رو mmc اجرا کنه؟ اینجوری که سرعت احرای برنامه به فنا میره!
    این کار فقط یک بار انجام میشه ، و حافظه mmc یا فلش نقش واسطه رو در انتقال فایل هگز از کامیپوتر (یا مبدا) به میکروکنترلر دارن. بعداز اون میکرو از روی حافظه ی خودش میاد بالا (یعنی میکروکنترلر برنامه رو از روی mmc یا فلش میریزه توی حافظه ی خودش یا به عبارتی خودشو پروگرم می کنه) و دیگه هم نیازی به اون mmc یا فلش نیست.

    3- مگه هر میکرویی در قبال یه حافظه به عنوان هاست به حساب نمیاد؟منظورتون آدرس پذیریه مستقیمه؟(مثل emc در lpc ها یا fsmc در stm ها؟)
    هاست بودن برای دستگاه های جانبی usb متفاوت از این هست مهندس. منظور ما در اینجا اینه که میکروکنترلر باید این قابلیت رو داشته باشه تا بتونه به حافظه ی فلش دسترسی پیدا کنه و محتویات اونو بخونه ، برای این کار میکرو باید دقیقا نقش یک پورت usb رو بازی کنه ، چون حافظه ی فلش بطور مستقیم در دسترس نیست. بلکه با یک آی.سی واسط در دسترس هست ، که این آی.سی واسط برای تبادل اطلاعات باید به پورت usb وصل بشه که میکرو قراره نقششو بازی کنه.

    حالا هر میکروئی نمی تونه نقش پورت usb رو بازی کنه. میکروهائی که این قابلیت رو داشته باشن اصطلاحا دارای قابلیت "هاست بودن" هستن.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  7. کاربران : 2 تشکر کرده اند از شما morteza_rk برای ارسال این پست سودمند:


  8. #5
    کاربر فعال sjafarim آواتار ها
    تاریخ عضویت
    Jan 2008
    نام
    جعفری
    نوشته ها
    225
    تشکر
    93
    تشکر شده 297 بار در 141 پست

    پیش فرض

    داش مرتضی ممنون اطلاعات خیلیی مفیدی دادی عزیز.
    من برم ببینم برای stm32 بوت لودر ویندوز بیس چی گیر میارم آماده،البته اگه بتونم برنامه بوت لودر رو تو میکرو داشته باشم فکر کنم بهتر باشه چون دستگاهم الان به عنوان usb device وصل هست به کامپیوتر ولی قابلیت usb host هم داره که اگه بخوام ازش استفاده کنم با دیوایس بودن و اتصال به کامپیوتر تناقض داره، اینجوری میتونم از همون مود دیوایس برنامرو بریزم تو حافظه micro sd دستگاه بعد با بوت لودر بیارمش تو فلش خود میکرو.

  9. #6
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    چون دستگاهم الان به عنوان usb device وصل هست به کامپیوتر ولی قابلیت usb host هم داره که اگه بخوام ازش استفاده کنم با دیوایس بودن و اتصال به کامپیوتر تناقض داره، اینجوری میتونم از همون مود دیوایس برنامرو بریزم تو حافظه micro sd دستگاه بعد با بوت لودر بیارمش تو فلش خود میکرو.
    تناقض نداره مهندس. قسمت هاست که به پورت کامپیوتر وصل نمیشه! بلکه وسایل جانبی نظیر فلش ، ماوس ، کیبرد و ... بهش وصل میشن.

    حتما برای سری stm32 برنامه ی بوت لودر تحت ویندوز داریم. توجه کنید که هر برنامه ی بوت لودری یک فایل هگز مخصوص به خودشو داره که توی حافظه ی بوت لودر میکروکنترلر پرورگرم میشه.

    یا مثلا فرض کنید برنامه ای که می خواد فایل هگز رو از روی MMC بخونه و توی حافظه ی میکرو کپی کنه. اینجا یه تیکه کد این کارو انجام میده که این تیکه کد باید توی حافظه بوت لودر میکروتون پروگرم بشه. اینجوری در موقع استارت آپ یا مواقعی که شما تعیین می کنید ، کد داخل حافظه ی بوت لودر اجرا میشه و میره توی MMC می گرده دنبال فایل هگز و وقتی پیداش کرد اونو کپی می کنه توی حافظه ی میکرو (که اینجا حافظه ی میکرو از نوع Flash هست).
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  10. تشکرها از این نوشته :


  11. #7
    کاربر فعال sjafarim آواتار ها
    تاریخ عضویت
    Jan 2008
    نام
    جعفری
    نوشته ها
    225
    تشکر
    93
    تشکر شده 297 بار در 141 پست

    پیش فرض

    نقل قول نوشته اصلی توسط morteza_rk نمایش پست ها
    تناقض نداره مهندس. قسمت هاست که به پورت کامپیوتر وصل نمیشه! بلکه وسایل جانبی نظیر فلش ، ماوس ، کیبرد و ... بهش وصل میشن.
    خوب همینه دیگه تناقضش
    دستگاه من باید به یه host وصل بشه چون خودش دیوایسه، کامپیوتر هم که همیشه هاسته، حالا دستگاه بیچاره نمیشه هی بیاد چک کنه بیینه به host وصل شده یا device تا مود کاری خودشو تغییر بده،اصلا نمیشه فک کنم.
    اونش مشکلی نیست، بوت لودرو پیدا کنم تو همون مود دیوایش کدو بهش میرسونم.

  12. #8
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    دستگاه من باید به یه host وصل بشه چون خودش دیوایسه، کامپیوتر هم که همیشه هاسته، حالا دستگاه بیچاره نمیشه هی بیاد چک کنه بیینه به host وصل شده یا device تا مود کاری خودشو تغییر بده،اصلا نمیشه فک کنم.
    مهندس من فکر نمی کنم مشکلی باشه! منظورتون اینه که پورت usb میکروی شما هم برای هاست و هم برای دیوایس مشترکه؟ یعنی یه دونه پورت usb داره؟

    ضمن اینکه اگه دستگاه شما به پورت usb وصله دیگه به بوت لودر از روی mmc یا فلش نیاز ندارید که!

    کافیه که یه برنامه ی بوت لودر تحت ویندوز پیدا کنید. تمام! اینجوری همراه دستگاهتون یه برنامه ی کوچیک هم میدید به مشتری که این برنامه روی ویندوز نصب میشه و کارش انتقال فایل هگز آپدیت از توی کامپیوتر (مثلا درایور d) به میکروکنترلر هست ، بدون نیاز به پروگرمر. انتقال از طریق پورت usb انجام میشه دیگه.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  13. #9
    کاربر فعال sjafarim آواتار ها
    تاریخ عضویت
    Jan 2008
    نام
    جعفری
    نوشته ها
    225
    تشکر
    93
    تشکر شده 297 بار در 141 پست

    پیش فرض

    آره مهندس جان یه دونه پورت usb داره که یا تو مود device کار میکنه یا host و الان با توجه به کار دستگاه usb device hid هست.
    برنامه بوت لودر ویندوزی با استاندارد hid میتونه ارتباط برقرار کنه؟ چه اتصالی میخواد معمولا؟
    چون احتمالا نتونه رو hid منتقل کنه من میگم خودم با برنامه خود دستگاه فایل hex رو بریزم تو micro sd دستگاه بعد بوت لودری که تو میکروه بیاد اونو لود کنه تو فلش میکرو.

  14. #10
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    الان با توجه به کار دستگاه usb device hid هست.
    برنامه بوت لودر ویندوزی با استاندارد hid میتونه ارتباط برقرار کنه؟ چه اتصالی میخواد معمولا؟
    بله مهندس. میشه. چون برنامه ای که شما توی بوت لودر میکرو میریزی اصلا HID نیست! و این برنامه هست که قراره فایل هگز رو از کامپیوتر (مثلا همون درایو D) انتقال بده به حافظه Flash میکرو. بنابراین هیچ مشکلی پیش نمیاد دادا.

    شما فقط یه برنامه ی بوت لودر با پورت USB‌برای میکروکنترلرت پیدا کن. همین. البته ممکنه برنامه ی بوت لودر با پورت USB‌ دقیقا برای میکروکنترلر شما نباشه ولی مال یه نسخه از سری stm32 باشه. که اینم مشکلی نیست. فقط یکم دستکاری می خواد برنامش.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

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


موضوعات مشابه

  1. تنظیم بایت ریت برای ارتباط سریال lpc2378
    توسط aleyasin در انجمن LPC series (NXP)
    پاسخ: 15
    آخرين نوشته: 09-08-2013, 15:13
  2. خوندن 1بیت از 1بایت در بیسکام
    توسط hamid6568 در انجمن AVR
    پاسخ: 5
    آخرين نوشته: 03-02-2011, 21:08
  3. ظرفیت دیسک بلوری به 128 گیگابایت افزایش یافت
    توسط arsalan681 در انجمن اخبار کامپیوتر و IT و مسابقات رباتیک
    پاسخ: 0
    آخرين نوشته: 07-04-2010, 12:33

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

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