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

موضوع: راه اندازی ناند فلش و چطوری میشه ناند فلش رو پروگرام کرد؟

  1. #1
    کاربر فعال
    تاریخ عضویت
    May 2010
    نوشته ها
    119
    تشکر
    361
    تشکر شده 85 بار در 46 پست

    New راه اندازی ناند فلش و چطوری میشه ناند فلش رو پروگرام کرد؟

    سلام به همه
    اول بگم چرا اینو میپرسم وبه خاطر چی ناند فلش رو میخوام پروگرام کنم( البته همین ناند فلشی که داخل فروشگاه هست K9F2G08U0B )
    من با stm32f103zct6 اومدم gui رو راه اندازی کردم همه چی درسته حالا میخوام خودم یسری منو ها وغیره رو با gui بسازم و کد نویسی کنم تا اینجا همه چی خوبه متاسفانه حافظه فلش این میکرو 256 کیلوبایته ومن هم میخوام یسری منوهای گسترده که قالبشون عکس هست رو داخل میکرو بریزم اما مشکل فضای حافظه دارم
    حالا میخوام این حافظه میکرو رو ارتقا بدم و نمیدونم بهترین راه کدومه ومیدونم که باید از نور فلش یا ناند فلش و اس پی ای فلش استفاده کرد اگه اشتباه نکرده باشم اگه راه بهتری میدونید بگید در ضمن از mmc و هم کلاسیهاش نمیخام استفاده کنم که سرعتشون پایینه
    حالا من نمیدونم که این ناند فلش رو چطوری پروگرم میکنن ایا تنها خود ناند فلش رو پروگرم میکنن یا باید ناند فلش رو به میکرو وصل کرد وبا پروگرام کردن میکرو خودش اتوماتیک از میکرو به ناند فلش ریخته میشه (فایل hex یا bin رو میکم) ؟
    هر کی اطلاعاتی در مورد پروگرام کردن ناند فلش داره بگه که خدا کارشو راه بندازه
    و این هم بگم که به غیر از gui بشه مثلا یه برنامه بدون سیستم عامل رو هم رو ی ناند فلش ریخت
    و در مورد نور فلش هم یه توضیحی بدید و spi فلش فروشگاه به شماره at45d161 هم ایا پروگرامش چجوریه؟
    ویکم هم در مورد ادرس دهی در کیل برای شروع خوندن از ناند فلش رو هم بگید ممنون میشم
    با تشکر از همه دوستان
    اگه هر کسی اطلاعاتی داره بذاره که این تاپیک یه منبع خوبی برای استفاده از حافظه های خارجی باشه
    ویرایش توسط mahdi8866 : 18-01-2013 در ساعت 16:48

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

  3. #2
    کاربر دائمی
    تاریخ عضویت
    Jun 2009
    نام
    روح الله خرم بخت
    نوشته ها
    403
    تشکر
    456
    تشکر شده 591 بار در 214 پست

    پیش فرض

    شما چه نوع gui رو راه اندازی کردی ؟ خودتون اون رو نوشتید یا از uc-gui یا یا emwin استفاده کردید ؟

  4. #3
    کاربر فعال
    تاریخ عضویت
    May 2010
    نوشته ها
    119
    تشکر
    361
    تشکر شده 85 بار در 46 پست

    پیش فرض

    نه همون uc/gui یا emwin
    منظور من فقط اینا نیست مثلا بتونم یه برنامه کوچیک رو تو ناند فلش بریزی واز ناند فلش اجرا کنی
    یا مثلا بیای عکس رو البته با فرمت bmp رو به c تبدیل کنی و بریزی تو ناند فلش و هر موقع خواستی بیای بخونیش اما من اصلا اطلاعاتی ندارم که چطوری میشه که همین عکسها که به کد c تبدیل شدن رو تو ناند فلش ریخت

  5. #4
    کاربر دائمی
    تاریخ عضویت
    Jun 2009
    نام
    روح الله خرم بخت
    نوشته ها
    403
    تشکر
    456
    تشکر شده 591 بار در 214 پست

    پیش فرض

    کیل یه مجوعه کتاب خونه داره به نام rlarm و بخشی از این کتبخونه rlflash نام داره که میشه با اون اون کاری که شما میخوای رو انجام داد . شما اگه ucgui رو راه اندازی کردید اونو توی سایت قرار بدید تا ما هم استفاده کنیم . البته اگه مایل بودید .

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


  7. #5
    کاربر فعال
    تاریخ عضویت
    May 2010
    نوشته ها
    119
    تشکر
    361
    تشکر شده 85 بار در 46 پست

    پیش فرض

    ممنون ولی من میگم چطور میتونم یک فایل رو بریزم داخل ناند فلش بعدش بیام با دستور read بخونیم منظور
    من write با خود میکرو نیست ببینید من میخوام مثلا 20 تا عکس به اندازه 320 در 240 پیکسل رو با برنامه کانوکتور خود emwin به کد c تبدیل کنم پس با این حساب میشه 20 تا کد c که مثلا هر کد ظرفیتش میشه 100 کیلو بایت خب پس 20 تاش میشه 2 مگابایت که تو حافظه خود میکرو جا نمیشه حالا میخوام این 20 تا کد c رو بریزم تو ناند فلش یا نور فلش یا spi فلش بعد تو برنامه خود میکرو بیام 20 تا منو بسازم و هر یک از اون 20 تا کد c که در اصل عکسها هستند رو نمایش بدم (یا از ناند فلش بخونم)
    حالا کسی میتونه راهنمایی کنه
    و یه چیز دیگه چه راهی هست که کل کد برنامه رو ریخت تو یه حافظه خارجی مثلا نور فلش بعد به میکرو فهموند که از حافظه خود میکرو استفاده نکنه و از اون نور فلش استفاده کنه بجای حافظه خود میکرو؟
    بالاخره یه راهی بذارید که فرض کنید حافظه میکرو 512 کیلو بایته من یه برنامه نوشتم که 1100 کیلو بایته و فرض کنید که میکرویی با این حافظه نیست حالا من چیکار کنم که با یه حافظه خارجی بتونم 1100کیلو بایت یا بیشتر از کد بنویسم واجراش کنم؟
    من ucgui رو از سایتی که تو پست اول تاپیک نمونه برنامه هایی برای خانواده stm32 که اقای abdollahi گذاشته بودن گرفتم
    فکر کنم سایتش این بود
    http://www.amobbs.com/forum.php?mod=...ad&tid=4517523
    ویرایش توسط mahdi8866 : 18-01-2013 در ساعت 22:16

  8. #6
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    سلام
    معمولا میکروکنترلر های که میشه بهشون nand flash متصل کرد ، دارای پایه های مخصوص این کار هستند ( مثلا پایه های nandcs و nandoe و ... در میکروکنترلر at91sam7sxxx ) که میشه با مقدار دهی رجستر های اونا عملیات خوندن یا نوشتن نند فلش رو انجام داد . این پایه ها مستقیما به پایه های nand flash متصل میشن .

    ایسی نند فلش معرفی شده دارای یه سری پایه هست :
    I/o0 ~ i/o7 : پایه های داده ، دستور یا آدرس که نقش اونا رو سه پایه ی بعدی مشخص میکنه .
    Cle : با یک شدن این پایه ، پایه های بالا به عنوان ورودی های دستور پیکربندی میشن .
    Ale : با یک شدن این پایه ، پایه های بالا به عنوان ورودی ادرس پیکربندی میشن .
    Re و we : با مقدار دهی این دو پایه میشه داده رو از نند فلش خوند یا بر روی اون ذخیره کرد .
    و...


    توی دیتاشیت قطعه نحوه ی عمل کرد اون به صورت کامل توصیح داده شده ، اما در کل نحوه ی عمل کرد نند فلش به این صورت هست که :
    ابتدا پایه ی cle یک میشه و شما مطابق جدول یک توی دیتاشیت دستور مورد نظر خودتون ( خوندن ، نوشتن ، کپی کردن و... ) رو برای اون ارسال میکنید .
    در مرحله ی بعدی پایه ی ale یک میشه و شما آدرسی رو که قصد دارید در اون بنویسید یا از اون بخونید رو به قطعه توسط خطوط داده ارسال می کنید و نهایت با انجام دادن کار های که توی دیتاشیت گفته شده داده ی شما رو قطعه قرار میگیره یا از اون خونده میشه






    و معمولا از طرف شرکت سازنده برای ارتباط حافظه با این میکروکنترلر و برنامه ریزی اونا نرم افزار های ارائه میشه ( مثل sam-ba برای میکروکنترلر های arm اتمل ) که این نرم افزار میتونه با استفاده از پورت های کامپیوتر به میکروکنترلر متصل بشه و برنامه ی کاربر رو از طریق میکروکنترلر به حافظه منتقل کنه .
    من با سری st کار نکردم اما چنین نرم افزار باید برای اون وجود داشته باشه .

  9. کاربران : 12 تشکر کرده اند از شما 1nafar برای ارسال این پست سودمند:


  10. #7
    کاربر فعال
    تاریخ عضویت
    May 2010
    نوشته ها
    119
    تشکر
    361
    تشکر شده 85 بار در 46 پست

    پیش فرض

    سلام بسیار ممنونم ازتون جناب 1nafar
    عالی بود البته به مسائل بالایی یخورده اشنا بودم میکرویی که گفتم کاملا حافظه خارجی رو از قبیل sdram,sram, nor flash , nand flash , lcd interface 8080 ,6080 رو پشتیبانی و پایه های ارتباط دهی که بالا گفتید رو البته دیتا باس 16 بیتی و ادرس 23 تایی وپایه های کنترلی خوندن ونوشتن رو داره
    پس با این حساب باید این طوری باشه که طبق گفته شما حافظه نور فلش یا ناند فلش باید بواسطه میکرو پروگرام بشه یعنی پورت از حالا usb یا rs232 به میکرو (محل بوت لودر) وصل بشه مثل پروگرام کردن عادی میکرو فقط فرقش اینه که باید ناند فلش با همون پایه های گفته شده به میکرو وصل باشه تا میکرو واسطه بین کامپیوتر یا (samba) و ناند فلش بشه وبرنامه به داخل ناند فلش ریخته بشه اگه اشتباه نگفته باشم؟

    4 تا سئوال دارم
    1- samba تداخلی بین حافظه میکرو و ناند فلش ایجاد نمیکنه؟ یعنی مشخص میشه کرد که ایا مثلا هگز رو حافظه میکرو بریزه یا ناند فلش؟
    2- اگه برنامه رو ناند فلش ریخته بشه مثل حالت عادی یعنی مثل برنامه ریخته شده در حافظه خود میکرو کار میکنه؟( حالت نرمال رو میگم )و سرعت اجرای دستورات هم در ناند فلش با سرعت اجرای دستور در حافظه خود میکرو یکیه؟
    3- اینکه ایا ناندفلش ها اینطوری هستند که مثلا هم مثل قضیه بالا میشه پروگرامشون کردو از میکرو خوندشون و هم میشه با خود میکرو هم نوشت داخلشون و هم خوند؟ درسته ؟

    4- اینکه میشه مثلا یه برنامه راه انداز السیدی رو نوشتیم و کد هگزش رو که قراره بریزیم رو حافظه خود میکرو
    رو بیایم بریزیم رو ناند فلش وکد از ناند فلش اجرابشه (در اصل اگه ظرفیت ناند فلش باشه 4 مگا بایت بشه یه کد هگز با ظرفیت مثلا 2 مگا بایت که یه برنامه سنگین هست رو بریزیم رو ناند فلش واجرا بشه)؟انگار فرض کنیم که میکرومون یه حافظه 4 مگابایتی داره ایا شدنیه دیگه؟
    ومیکرو st برنامه flash loader داره که همون مثل samba اتمل میمونه که باهاش میشه میکرو رو پروگرام کرد
    ببخشید طولانی شد

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


  12. #8
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    سلام
    مهندس برای راه اندازی ناند فلش بهترین راه استفاده از قابلیت fsmc تو میکرو هستش که سرعت مناسبی رو هم فراهم میکنه.
    اگه از کتابخونه cmsis استفاده میکنید حتما این مثال هارو نگاه کنید.
    عکسو ببینید
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: FSMC_1.JPG
مشاهده: 131
حجم: 40.2 کیلو بایت  
    _____________________________________
    _____________________________________

  13. کاربران : 6 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  14. #9
    کاربر فعال
    تاریخ عضویت
    May 2010
    نوشته ها
    119
    تشکر
    361
    تشکر شده 85 بار در 46 پست

    پیش فرض

    سلام خیلی ممنون
    ببخشید این مثال ها رو از کجا دانلود کردید ایا مثالهای خود st درسایت st.com هستش؟
    و برای پروگرام ناند فلش قضیه بالا رو که گفتم درسته؟

  15. #10
    کاربر فعال
    تاریخ عضویت
    May 2010
    نوشته ها
    119
    تشکر
    361
    تشکر شده 85 بار در 46 پست

    پیش فرض

    سلام من مثال ها رو پیدا کردم وبررسی کردم اما منظور من این نیست من میگم یه حافظه باشه که کد هگزی قرار تو حافظه میکرو ریخته بشه رو بریزیم تو حافظه خارجی واز حافظه خارجی اجرا بشه چون حجم کد هگز یا برنامه بالاست و تو حافظه میکرو جا نمیشه ایا راهی هست؟
    هیچ فروشگاهی هم میکرو یی مثل stm32f417 که حداقل حافظه اش 1مگا بایت و حداکثرش 2 مگابایته رو برای فروش نمیارن
    من میگم ایا میشه با ناند فلش تو فروشگاه ویا نور فلش کاری که اون بالا گفتم رو انجام داد؟ مشکل من کمبود فضای حافظه است
    البته شدنش که میدونم میشه اگه شما تو گوشیهارو نگاه کنید یه cpu یا میکرو دارن و کنارش یک ناند فلش هست که اگه دقت کنید تو گوشیها یه حافظه خود گوشی داریم که معمولا بین 32 مگ تا 256 مگ هست این حافظه همون ناند فلش هست و موقعی که گوشیتونو برای فلش زدن پیش تعمیر کار میبری با یه باکس که در اصل همون پروگرامر خودمون میشه میاد 1 تا 3 فایل رو بستگی به حال گوشی داره فلش میزنه اون 3تا فایل اولیش فایل main یا mcu هستش که بسته به نوع گوشی از 1 مگ تا 100 مگ حجمش هست و دومین فایل ppm یا pm یا ls یا فارسیشو بگم برای نوع زبان و غیره هستش که حجم این فایل هم چند مگا بیت هستش و سومین فایل که تو بعضی گوشیها شاملش میشن واختیاری هستش فایل patch وابزار الات مثل رنگ منوها نو ع تم و غیره هستش که بیشتر در گوشیهای سونی اریکسون هستش و فایل های دیگه ای هم هست مثل pm کد های انتن دهی وغیره حالا این 2 فایل اولیه رو با هم انتخاب کرده و تو گوشی میریزن ویا فلش میزنن پس خود میکرو یا cpu موبایل چنین حافظه داخلی رو ندارن و کدهای گفته شده با حجم مثلا 60 مگابایت در گوشی n70 در ناند فلش ریخته واجرا میشه چون برای مثال میکرو n70 یه نوع مدل از میکرو های omap هستش وچنین فضایی رو نداره البته من خودم چند سال تعمیر کار موبایل هم سخت افزار و هم نرم افزار بودم وبرای مثال باکس jaf که گوشی های نوکیا رو فلش میزنه رو باز کردم چون کار نمیکرد ومشکلش هم از کریستالش بود میدونید اون موقع ارزونی این باکس رو من خریدم 350 هزار تومن وموقعی که بازش کردم تا درستش کنم توش فقط چه میکرویی بود؟ فقط یک atmega128 بود که الان تو این اوضاع ارز 10 تومنه خلاصه اینکه اینطوریه دیگه وکاریش هم نمیشه کرد
    پس با این حساب شدنیه فقط کسی اگه اطلعاتی داره بگه اجرش با خدا
    ویرایش توسط mahdi8866 : 19-01-2013 در ساعت 14:45

  16. #11
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    سلام
    مهندس این مثال هارو از سایت ST دان کردم.
    تو این صفحه و داخل تب design support عبارت "STM32F10x standard peripheral library" پیدا کنید.
    البته لینک دانلود رو هم قرار میدم.
    http://www.st.com/internet/com/SOFTW...periph_lib.zip
    _____________________________________
    _____________________________________

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


  18. #12
    کاربر فعال
    تاریخ عضویت
    May 2010
    نوشته ها
    119
    تشکر
    361
    تشکر شده 85 بار در 46 پست

    پیش فرض

    سلام ممنون از ادرس سایت جناب sadmonew
    البته من قبلا دان لود کرده بودم ودیدم فقط میخواستم بدونم بغیر از این مثالها که با کد نویسی میشه خوند ونوشت میشه یه فایل با پروگرام کردن داخل ناند فلش ریخت
    من تو یکی از تاپیک های بخش atmel یا at91samx دیدم که از ناند فلشها گفته بودید
    اینطور گفته بودید

    خوب با يكي از مثال هاي خود كيل توضيح ميدم.
    1- اول از همه پروژه اي كه تو مسير زير مشخص كردم رو باز كنيد.
    C:\Keil4.22a\ARM\Boards\Atmel\AT91SAM9260-EK\Blinky
    2- تو منوي كشويي "Select Target" گزينه "SAM9260 Ext SDRAM" رو انتخاب كنيد.
    3- پروژه رو كامپايل كنيد.
    4- فايل هگز يا Bin رو با استفاده از SAM-BA رو حافظه ناند بردتون پرورگرم كنيد.
    5- برد رو ريست كنيد و تست كنيد بايد LED هاي رو برتون شروع به چشمك زدن كنن.

    شماره 4 هدف من هست که یه برنامه ای رو بریزم رو حافظه ناند و اجرابشه حالا اگه این مثال برای stm32 باشه چطوری و با چی باید بریزم رو ناند فلش؟
    مشکل من فقط همینه

  19. #13
    کاربر فعال
    تاریخ عضویت
    May 2010
    نوشته ها
    119
    تشکر
    361
    تشکر شده 85 بار در 46 پست

    پیش فرض

    منظور دقیق من اینه که بجای حافظه فلش خود میکرو , حافظه ناند فلش یا نور فلش بوت (boot) بشه و من کد hex رو بریزم تو ناند واز ناند برنامه اجرا بشه
    دیگه از این واضحتر نمیتونم بگم

  20. #14
    کاربر فعال
    تاریخ عضویت
    May 2010
    نوشته ها
    119
    تشکر
    361
    تشکر شده 85 بار در 46 پست

    پیش فرض

    سلام کسی با ناند فلش ها و نور فلش ها کار نکرده

  21. #15
    مدیر باز نشسته behnam6500 آواتار ها
    تاریخ عضویت
    Jan 2009
    نوشته ها
    801
    تشکر
    311
    تشکر شده 899 بار در 390 پست

    پیش فرض

    دوستان اگه شماتیکی برای کار با این نند فلش K9F2G08U0B برای avr و lpc1768 دارید اینجا بزارید....

    ممنونم

  22. #16
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2012
    نوشته ها
    29
    تشکر
    4
    تشکر شده 2 بار در 2 پست

    پیش فرض

    برای پروسسورها روش در سایت ویکی ایران میکرو گفته شده که چطوری یه فایل بوتلودر یا سیستم عامل رو روی حافظه nand flash berizid
    می تونید کدهای مربوط به عکس رو داخل یه میکرو sd ذخیره کنید واز اون بخونید یا میتونید از یک سیستم عامل rtos استفاده کنید واون رو روی nand flash بریزد

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

  1. ره اندازی smt160 با پورت موازی
    توسط M.ABDOLLAHI در انجمن AVR
    پاسخ: 3
    آخرين نوشته: 27-04-2009, 21:34

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

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