ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 13
  1. #1
    2010/11/03
    47
    18

    Question ایجاد eeprom در حافظه فلش stm32

    دوستان من احتیاج به استفاده از فلش به عنوان eeprom دارم و مستندات رو خوندم ولی درست دستگیرم نشده که چطور اینکار رو انجام بدم تازه کارم در آرم و با کتابخانه spl و ویرایشگر EMBitz کار میکنم. نمونه مستندات در لینک های پایین هست.
    در لينک زير مقاله اي مبني بر شرح چگونگي استفاده از حافظه Flash به عنوان EEPROM مجازي

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    نمونه مثال کاربردي که در مقاله بالا شرح داده شد را مي توانيد از لينک زير دانلود کنيد :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    اگر کسی از دوستان و اساتید میدونن و یکم میتونن تشریح کنن برای اینکار مرحله به مرحله چه کاری لازم هست ممنون میشم.
    من لازم دارم یک ارایه فرض کنیم 600 بایتی 200*3 به صورت eeprom در فلش ذخیره کنم. بعضی جاها گنگ هست یکی اینکه برای کل این 600 بایت باید ادرس تعریف بشه؟؟ راه بهتری نداره مثل AVR بشه ساده تر استفاده کرد؟؟ و دیگه اینکه این میاد اول پاک میکنه بعد مقدار مینویسه داخل حافظه؟؟؟؟ خوب ما که لازم داریم پاک نشه...!!!
    میکرو stm32f0 در دسترس دارم و stm32f103 اما در اخر لازم دارم که در stm32f030 پیاده سازی کنم.
    اساتید اگه یکم روانتر و ریزتر لطف کنن این مطلب رو توضیح بدن ممنون میشم. در اخر اگر به نتیجه برسه میشه یه مقاله که عموم میتونن استفاده کنن ممنون
    ویرایش توسط vahid agha : 2016/12/02 در ساعت 23:50
  2. #2
    2008/12/26
    384
    114

    پاسخ : ایجاد eeprom در حافظه فلش stm32

    سلام
    (برای سلامتی و تعجیل در ظهور امام زمان(عج) صلوات بفرستید)

    بفرمایید راه اندازی فلش میکروهای stm32f0xx به عنوان eeprom با IAR , KEIL , TRUE STUDIO

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  3. #3
    2010/11/03
    47
    18

    پاسخ : ایجاد eeprom در حافظه فلش stm32

    نقل قول نوشته اصلی توسط mahdi8866

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام
    (برای سلامتی و تعجیل در ظهور امام زمان(عج) صلوات بفرستید)

    بفرمایید راه اندازی فلش میکروهای stm32f0xx به عنوان eeprom با IAR , KEIL , TRUE STUDIO

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

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

    باز هم ممنون از شما
  4. #4
    2016/08/30
    3
    2

    پاسخ : ایجاد eeprom در حافظه فلش stm32

    با سلام حدمت شما

    اگر پاسخ سوالتون رو دریافت نکردید من اطلاعات کمی راجب این موضوع دارم در اختیارتون بذارم چون پست مال 20 روز پیش. من خودم چنین مشکلی داشتم شما باید بدنبال eeprom emulation باشید من کتابخونه اش رو دارم. اما بنظر من در نهایت بهتره یک حافظه eeprom تهیه کنید که با i2c هم کار میکنند.
    من در خدمتتون هستم
  5. #5
    2010/11/03
    47
    18

    پاسخ : ایجاد eeprom در حافظه فلش stm32

    نقل قول نوشته اصلی توسط ma123mamad

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    با سلام حدمت شما

    اگر پاسخ سوالتون رو دریافت نکردید من اطلاعات کمی راجب این موضوع دارم در اختیارتون بذارم چون پست مال 20 روز پیش. من خودم چنین مشکلی داشتم شما باید بدنبال eeprom emulation باشید من کتابخونه اش رو دارم. اما بنظر من در نهایت بهتره یک حافظه eeprom تهیه کنید که با i2c هم کار میکنند.
    من در خدمتتون هستم
    سلام خدمت شما
    یه جورایی فایلی که دوستمون معرفی کردن هم همین emulation هست فقط من در pdf های خود st که ارائه کرده تابع های بیشتری برای ارتباط با فلش با روش eeprom ارائه کرده. اما خود example رو ندیدم...
    والا خیلی مطالعه کردم ولی هنوز کلی از قسمت ها برای من گنگ هست. اگر کار کردین و واقف هستین ممنون میشم کمک کنید
    کار طوری هست که نیازی به eeprom خارجی نیست اگر این امکان از طریق فلش فراهم بشه. هرچند که درکل یادگیری و کار کردن این مسئله هم خیلی مد نظر هست.
    ویرایش توسط vahid agha : 2016/11/21 در ساعت 22:52
  6. #6
    2014/01/25
    شهرکرد
    247
    267

    پاسخ : ایجاد eeprom در حافظه فلش stm32

    سلام برای نوشتن قفل حافظه رو باز میکنی ، صفحه حافظه مورد نظر رو پاک میکنی و دوباره فلش رو قفل میکنی، تا page رو پاک نکنی اجازه نوشتن نمیده.
    برای خوندن هم ادرسی که متغییر ذخیره شده رو میخونی رو یه متغییر رو RAM میکرو انتقال میدی . چیز پیچیده ای نداره.
  7. #7
    2010/11/03
    47
    18

    پاسخ : ایجاد eeprom در حافظه فلش stm32

    نقل قول نوشته اصلی توسط mohammadne

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام برای نوشتن قفل حافظه رو باز میکنی ، صفحه حافظه مورد نظر رو پاک میکنی و دوباره فلش رو قفل میکنی، تا page رو پاک نکنی اجازه نوشتن نمیده.
    برای خوندن هم ادرسی که متغییر ذخیره شده رو میخونی رو یه متغییر رو RAM میکرو انتقال میدی . چیز پیچیده ای نداره.
    خیلی ممنون از پاسختون...
    بله اینا رو میدونم تقریبا... جدا از مسائل کدنویسی یکی از موارد مبهم هم همینه که فرمودین....
    برای نوشتن قفل حافظه رو باز میکنی ، صفحه حافظه مورد نظر رو پاک میکنی و دوباره فلش رو قفل میکنی، تا page رو پاک نکنی اجازه نوشتن نمیده.
    ببینین فرض کنیم که ما میکرومون 16 صفحه یک کیلو بایتی داره که ما میخوایم رویه دو صفحه اون اطلاعات ذخیره کنیم مانند eeprom... وقتی میگیم مانند eeprom یعنی اون اطلاعات قراره تغییر داده بشه ثابت نیست.... اما اینجوری که گفته میشه برای نوشتن باید کل صفحه رو پاک کرد...
    خوب اینجوری که اطلاعات دیگه از بین میره؟؟؟؟!!!!!!

  8. #8
    2014/01/25
    شهرکرد
    247
    267

    پاسخ : ایجاد eeprom در حافظه فلش stm32

    نقل قول نوشته اصلی توسط vahid agha

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    خیلی ممنون از پاسختون...
    بله اینا رو میدونم تقریبا... جدا از مسائل کدنویسی یکی از موارد مبهم هم همینه که فرمودین....
    برای نوشتن قفل حافظه رو باز میکنی ، صفحه حافظه مورد نظر رو پاک میکنی و دوباره فلش رو قفل میکنی، تا page رو پاک نکنی اجازه نوشتن نمیده.
    ببینین فرض کنیم که ما میکرومون 16 صفحه یک کیلو بایتی داره که ما میخوایم رویه دو صفحه اون اطلاعات ذخیره کنیم مانند eeprom... وقتی میگیم مانند eeprom یعنی اون اطلاعات قراره تغییر داده بشه ثابت نیست.... اما اینجوری که گفته میشه برای نوشتن باید کل صفحه رو پاک کرد...
    خوب اینجوری که اطلاعات دیگه از بین میره؟؟؟؟!!!!!!
    دیتاشیت هم خوندم گفته بود باید صفحه کلا پاک بشه، شما دو راه دارین ، یکی اینکه دیتا رو در RAM نگه دارین به اندازه سایز page شد نوشتن انجام بدین یا اینکه محتویات page رو در یک ارایه موقت ذخیره کنین ، تغییرات رو اعمال کنین و دوباره بنویسین
  9. #9
    2010/11/03
    47
    18

    پاسخ : ایجاد eeprom در حافظه فلش stm32

    نقل قول نوشته اصلی توسط mohammadne

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    دیتاشیت هم خوندم گفته بود باید صفحه کلا پاک بشه، شما دو راه دارین ، یکی اینکه دیتا رو در RAM نگه دارین به اندازه سایز page شد نوشتن انجام بدین یا اینکه محتویات page رو در یک ارایه موقت ذخیره کنین ، تغییرات رو اعمال کنین و دوباره بنویسین
    ممنون از شما
    مشکل منم دقیقا همین هست مطالعه هم کردم ولی همین معظل پاک کردن رو داشتم...
    اره به این روش میشه به ذهن خودم هم رسید (( البته نمیشه دیتا رو در رم نگه داشت تا به اندازه سایز صفحه برسه چون هر لحظه ممکنه تغذیه قطع بشه.... فقط میشه خوند و دوباره نوشت یعنی همون راه دوم )) اما یه مشکل داره.... اینجا قصد این رو داریم که eeprom رو شبیه سازی کنیم....
    معمولا محدودیت نوشتن و پاک کردن فلش 0.1 محدودیت نوشتن و پاک کردن eeprom هست فرض کنید eeprom ما 100000 بار محدودیت داره و فلش ما با این اساس 10000 بار محدودیت داره...
    باز دوباره فرض... یک صفحه فلش 1 کیلو بایت و داده های ما 4 بایت باشه که به یک باره نوشته نمیشه و به مرور نوشته میشه و تغییر میکنه یعنی 4 بایت 4 بایت بسته به عملکرد... خوب اینجوری در هر صفحه تقریبا 250 متغیر داریم ... پس به این ترتیب تا زمانی که متغیرهای ما به اندازه صفحه پر بشن ما 250 بار صفحه رو پاک کردیم و 250 بار نوشتیم یعنی 500 بار ... این تا به اینجا ... جدا از این به ازای هر بار اپدیت شدن هر متغیر کل 250 متغیر ما یک بار پاک و یک بار نوشته میشه. خوب با توجه به محدودیت پایین تر فلش نسبت به ای 2 پرام با این وضع تقریبا اصلا قابل توجیه نیست استفاده از فلش به جای eeprom ؟؟؟؟!!!! با فرض داده 4 بایتی و صفحه فلش یک کیلو بایتی و فرض محدودیت 0.1 برابری فلش نسبت به eeprom در آخر محدودیت فلش میشه (0.1/500) یعنی 0.0002 حتی اگر پاک کردن رو در نظر نگیریم (0.1/250) یعنی 0.0004 ؟؟؟؟!!!!
  10. #10
    2014/01/25
    شهرکرد
    247
    267

    پاسخ : ایجاد eeprom در حافظه فلش stm32

    نقل قول نوشته اصلی توسط vahid agha

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    ممنون از شما
    مشکل منم دقیقا همین هست مطالعه هم کردم ولی همین معظل پاک کردن رو داشتم...
    اره به این روش میشه به ذهن خودم هم رسید (( البته نمیشه دیتا رو در رم نگه داشت تا به اندازه سایز صفحه برسه چون هر لحظه ممکنه تغذیه قطع بشه.... فقط میشه خوند و دوباره نوشت یعنی همون راه دوم )) اما یه مشکل داره.... اینجا قصد این رو داریم که eeprom رو شبیه سازی کنیم....
    معمولا محدودیت نوشتن و پاک کردن فلش 0.1 محدودیت نوشتن و پاک کردن eeprom هست فرض کنید eeprom ما 100000 بار محدودیت داره و فلش ما با این اساس 10000 بار محدودیت داره...
    باز دوباره فرض... یک صفحه فلش 1 کیلو بایت و داده های ما 4 بایت باشه که به یک باره نوشته نمیشه و به مرور نوشته میشه و تغییر میکنه یعنی 4 بایت 4 بایت بسته به عملکرد... خوب اینجوری در هر صفحه تقریبا 250 متغیر داریم ... پس به این ترتیب تا زمانی که متغیرهای ما به اندازه صفحه پر بشن ما 250 بار صفحه رو پاک کردیم و 250 بار نوشتیم یعنی 500 بار ... این تا به اینجا ... جدا از این به ازای هر بار اپدیت شدن هر متغیر کل 250 متغیر ما یک بار پاک و یک بار نوشته میشه. خوب با توجه به محدودیت پایین تر فلش نسبت به ای 2 پرام با این وضع تقریبا اصلا قابل توجیه نیست استفاده از فلش به جای eeprom ؟؟؟؟!!!! با فرض داده 4 بایتی و صفحه فلش یک کیلو بایتی و فرض محدودیت 0.1 برابری فلش نسبت به eeprom در آخر محدودیت فلش میشه (0.1/500) یعنی 0.0002 حتی اگر پاک کردن رو در نظر نگیریم (0.1/250) یعنی 0.0004 ؟؟؟؟!!!!
    اره اگه هر چند ثانیه میخای به خاطر یه متغییر 4 بایتی یه صفحه رو پاک کنی و دوباره روش بنویسی که پدر میکرو در میاد، شما دو راه داری : یکی اینکه از ایپرام خارجی استفاده کنی، حافظه فلش خارجی هم نوشتن روش هم به صورت صفحه هست یعنی باید کل صفحه رو پاک کنی تا بتونی دوباره چیزی روی حافظه بنویسی
    راه دوم استفاده از باتری بکاپ سکه ای هست، شما باتری بکاپ میکرو رو برای نگهداری رم میکرو تنظیم میکنی و قسمت RTC هم خاموش میکنی، حالا تا هر چند میلیارد باری که خاستی متغییر ها رو روی حافظه SRAM میکرو تغییر میدی و اگه از حد یک صفحه بیشتر شدن در یه حافظه فلش خارجی مینویسی .
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 13

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

  1. پاسخ: 2
    آخرين نوشته: 2016/10/28, 14:47
  2. پاسخ: 10
    آخرين نوشته: 2016/10/25, 22:51
  3. پاسخ: 2
    آخرين نوشته: 2016/08/30, 22:00
  4. پاک شدن حافظه EEprom
    توسط baby_1 در انجمن میکروکنترلرهای AVR
    پاسخ: 9
    آخرين نوشته: 2016/04/02, 00:08
  5. حافظه eeprom
    توسط javaad283 در انجمن میکروکنترلرهای AVR
    پاسخ: 7
    آخرين نوشته: 2015/09/01, 22:34

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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