اطلاعیه

Collapse
No announcement yet.

کتابخانه Flash-FS برای LPC

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

    کتابخانه Flash-FS برای LPC

    سلام
    خسته نباشید خدمت اساتید محترم
    در این تاپیک درباره ی توابع و دستورات کتابخانه ی استاندارد flash fs صحبت بشه!
    از شما دوستان محترم خواهش میکنم که اگر پروژه ای , مقاله ای دارید اینجا بگذارید تا بتونیم از گفته هایتان بهره ببریم
    بعد از اتمام اموزش این تاپیک را به یک مقاله ی اموزشی تبدیل میکنم

    [glow=red,2,300]اضافه کنم این کتابخانه برای کنترل حافظه های جانبی مثل SDRAM,Nand flash, و اصل این تاپیک برای کنترل MMC است.[/glow]
    [glow=red,2,300]برنامه هاي آموزشي تست شده براي NXP LPC1768 با توابع CMSIS[/glow]
    http://www.eca.ir/forum2/index.php?topic=76623.0

    #2
    پاسخ : کتابخانه Flash-FS برای LPC

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

    در این تاپیک قصد داریم کتابخانه Flash-FS که بخشی از کتابخانه های keil میباشد را راه اندازی کنیم.
    البته با LPC1768.
    همون طور که میدونید Flash-fs بخشی از کتابخانه RL-ARMه KEIL هست.
    پس برای استفاده از این مجموعه اول باید rl-arm را نصب داشته باشید.
    این مجموعه از نسخه keil 4.2 به بالا تر هنگام نصب کیل نصب میشود.
    دوستانی که از ورژن های پایین تر استفاده میکنند باید rl-arm رو از سایت کیل دانلود و نصب کنید.
    این مجموعه نیاز به لایسنس هم داره.برای کرک از همون کرکی که خود کیل رو کرک کردید میتونید استفاده کنید.فقط قسمت پایین رو بزارید روی real-time OS.
    خود کیل برای این کتابخانه و برای lpc1768 یک مثال قرار داده که بر اساس همون پیش میریم.
    این مثال در این مسیر وجود داره : C:\Keil\ARM\Boards\Keil\MCB1700\RL\FlashFS\SD_File
    برای کار با این کتابخانه باید فایل های زیر در پروژه شما وجود داشته باشه:
    File_config.c: برای تنظیمات مربوط به کارت حافظه و سایر مواردی که بعدا توضیح داده میشوند.
    Fs_cm3.lib: کتابخانه استاندارد برای کار با حافظه های فلش nand و nor و کارت های حافظه از جمله mmc.
    Retaraet.c: یه جورایی واسه تغییر اسم توابع هست.
    Spi_lpc17xx.c: این هم که دیگه مشخصه.برای استفاده از spi جهت راه اندازی mmc.
    فایل Fs_cm3.lib رو میتونید از این مسیر C:\Keil\ARM\RV31\LIB پیدا کنید.

    برای شروع این شاخه رو در پروژه جدید ایجاد کنید تا با هم پیش بریم.

    تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

    دیدگاه


      #3
      پاسخ : کتابخانه Flash-FS برای LPC

      از فولدر driver میتونید چیپ و رابط (mci , spi ...) انتخاب کنید .


      من درایور 1788 رو میخاستم نداش همون 17XX رو واسه 1788 تغییر دادم کار میکنه فقط فرمت نمیشه
      حالا دوستان اگه چیزی میدونن راهنایی کنن این فرمت ما هم درست بشه.
      از جمله ی رفتگان این راه دراز
      باز آمده ای کو که به ما گوید راز
      هان بر سر این دو راهه از روی نیاز
      چیزی نگذاری که نمی آیی باز

      دیدگاه


        #4
        پاسخ : کتابخانه Flash-FS برای LPC

        قسمت دوم.
        تنظیمات مربوط به File_config.c:
        این فایل مربوط به انتخاب نوع کارت حافظه و درایور آن میباشد.

        همان طور که در تصویر بالا مشاهده میکنید در تنضیمات این فایل و در قسمت file system میتوان تعداد فایل های باز در هر لحظه را مشخص کرد.حداکثر 16.
        لازم به ذکر است که در flash-fs برای هر فایل باز میزان 592 بایت حافظه heap (پشته) نیاز است.
        که برای تعیین مقدار این حافظه باید فایل startup_LPC17xx.s را باز کرده و از قسمت configuration Wizard مقدار heap size را تغییر دهید.
        از اون جایی که قصد استفاده از SD/MMC رو داریم پس در تصویر بالا تیک قسمت Memory Card Drive 0 رو میزنیم.

        مواردی که در این قسمت دیده میشن:
        Bus Mode:بذارید روی spi.
        File System Cache: در مواردی که قصد دارید تعداد بایت زیادی رو از کارت حافظه بخوند یا در اون بنویسید.اون وقت هست که حافظه cache میتونه در افزایش سرعت بهتون کمک کنه.
        Relocate Cache Buffer: تا اونجایی که من فهمیدم با این گزینه میتونید حافظه cache رو به خود مموری منتقل کنید.به جای استفاده از رم خود میکرو.
        FAT Journal:محافظت از فایل ها در طول قطع برق و سیستم را در یک حالت ثابت نگه می دارد. این گزینه فایل هایی که در طول قطع برق نوشته میشوند را محافظت نمی کند.
        Default Drive [M0:]: در صورت انتخاب این گزینه در تابع finit نیازی به نوشتن Drive مورد نظر نیست و به صورت دیفالت همین Memory Card Drive 0 رو انتخاب میکنه.


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

        دیدگاه


          #5
          پاسخ : کتابخانه Flash-FS برای LPC

          باتشکر از اقای mehdi
          در فایل retarget یک include به نام serial.h وجود داره که مشکل نبود دایرکتوری میگیره؟ باید اون را هم به پروژه اضافه کنیم :question:
          [glow=red,2,300]برنامه هاي آموزشي تست شده براي NXP LPC1768 با توابع CMSIS[/glow]
          http://www.eca.ir/forum2/index.php?topic=76623.0

          دیدگاه


            #6
            پاسخ : کتابخانه Flash-FS برای LPC

            نوشته اصلی توسط Reza Sede
            باتشکر از اقای mehdi
            در فایل retarget یک include به نام serial.h وجود داره که مشکل نبود دایرکتوری میگیره؟ باید اون را هم به پروژه اضافه کنیم :question:
            سلام.
            از این فایل برای مانیتورینگ از طریق پورت سریال استفاده میشه.
            من خودم از lcd استفاده میکنم.و کاری بهش ندارم.
            اینکلودش رو پاک کن.
            تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

            دیدگاه


              #7
              پاسخ : کتابخانه Flash-FS برای LPC

              با سلام

              :applause: :nice: :applause: :nice: :applause:
              من به شخصه واقعا ممنون خواهم شد
              خواهشمندم لطفا ادامه بدید و نیمه کاره رها نشه

              دیدگاه


                #8
                پاسخ : کتابخانه Flash-FS برای LPC

                نوشته اصلی توسط ~ mehdi ~
                سلام.
                از این فایل برای مانیتورینگ از طریق پورت سریال استفاده میشه.
                من خودم از lcd استفاده میکنم.و کاری بهش ندارم.
                اینکلودش رو پاک کن.
                مانیتورینگ از طریق سریال مثل اون فیلم برد اموزشی 1768 است؟ با کامپیوتر اطلاعات روی مموری متصل به 1768 را بازمیکرد میخواند و مینوشت! درسته؟
                [glow=red,2,300]برنامه هاي آموزشي تست شده براي NXP LPC1768 با توابع CMSIS[/glow]
                http://www.eca.ir/forum2/index.php?topic=76623.0

                دیدگاه


                  #9
                  پاسخ : کتابخانه Flash-FS برای LPC

                  مانیتورینگ از طریق سریال مثل اون فیلم برد اموزشی 1768 است؟ با کامپیوتر اطلاعات روی مموری متصل به 1768 را بازمیکرد میخواند و مینوشت! درسته؟
                  ما که فیلمی ندیدیم :biggrin:
                  ولی بله همین طوره.


                  سخت افزار:
                  اگه فایل Spi_lpc17xx.c رو باز کنید نحوه اتصال کارت sd رو به میکرو میبینید:
                  کد:
                  /* P0.16 SSEL (used as GPIO)  */
                  /* P0.15 SCK0         */
                  /* P0.17 MISO0, P0.18 MOSI0  */
                  این pinout کارت حافظه microSD:
                  http://dc680.4shared.com/img/SI_IDIp...ICRO.jpg?async
                  این هم واسه SD:
                  http://dc680.4shared.com/img/rrAVgPs...line.jpg?async
                  اگه دقت کرده باشید سوکت های کارت های SD دو تا پایه دارن که وقتی کارت داخلش قرار میگیره به هم متصل میشن.
                  این جا به این دو تا پایه کار داریم.
                  طوری که باید یکی از پایه ها رو زمین و دیگری رو به پایه p4.29 متصل کنید. در حقیقت این پایه واسه Card Detect هست.
                  که میتونید این پایه رو توی هدر Spi_lpc17xx.c در صورت نیاز تغییر دهید.
                  خوب حالا که این کار ها رو انجام دادید این مثال رو تو main بنویسید و تست کنید ببینید کار میکنه یا نه.
                  کد:
                  #include <LPC17xx.h> 
                  #include <RTL.h>        
                  #include <stdio.h>          
                  #include <string.h>
                  
                  
                  int main(void){
                  	FILE *file1;
                  	finit(NULL); 
                  	
                  	file1 = fopen ("M:\\New folder\\ECA.txt","w");
                  	fwrite("www.eca.ir",1,10,file1);
                  	fclose (file1);
                  	
                  	while(1);
                  }
                  در این مثال با ایجاد یک فایل txt به نام ECA در فولدری به نام New folder متن www.eca.ir رو داخلش مینویسیم.
                  توابع در ادامه توضیح داده خواهند شد.
                  موفق باشید.
                  تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                  دیدگاه


                    #10
                    پاسخ : کتابخانه Flash-FS برای LPC

                    سلام
                    برای من که جواب نداد! :cry:
                    خودتون جواب گرفتید؟
                    [glow=red,2,300]برنامه هاي آموزشي تست شده براي NXP LPC1768 با توابع CMSIS[/glow]
                    http://www.eca.ir/forum2/index.php?topic=76623.0

                    دیدگاه


                      #11
                      پاسخ : کتابخانه Flash-FS برای LPC

                      نوشته اصلی توسط Reza Sede
                      سلام
                      برای من که جواب نداد! :cry:
                      کل پروژه رو پ کنید.
                      سخت افزار رو درست بستید؟ پایه p4.29 رو هم طور که گفتم اتصال دادید.؟
                      تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                      دیدگاه


                        #12
                        پاسخ : کتابخانه Flash-FS برای LPC

                        نوشته اصلی توسط ~ mehdi ~
                        کل پروژه رو پ کنید.
                        سخت افزار رو درست بستید؟ پایه p4.29 رو هم طور که گفتم اتصال دادید.؟
                        این پروژه:
                        http://uploadboy.com/60fxn56amt4y.html
                        و پایه ی P4.29 را بعد از چند ثانیه پس از روشن شدن میکرو به GND وصل میکنم! چون بقیه پایه ها روی هدر لحیم شده و این دو پایه نمیتونند به هدر لحیم بشوند! شما چکار کردید؟ :rolleyes:
                        [glow=red,2,300]برنامه هاي آموزشي تست شده براي NXP LPC1768 با توابع CMSIS[/glow]
                        http://www.eca.ir/forum2/index.php?topic=76623.0

                        دیدگاه


                          #13
                          پاسخ : کتابخانه Flash-FS برای LPC

                          نوشته اصلی توسط Reza Sede
                          این پروژه:
                          http://uploadboy.com/60fxn56amt4y.html
                          و پایه ی P4.29 را بعد از چند ثانیه پس از روشن شدن میکرو به GND وصل میکنم! چون بقیه پایه ها روی هدر لحیم شده و این دو پایه نمیتونند به هدر لحیم بشوند! شما چکار کردید؟ :rolleyes:
                          یه نکته ای رو یادم رفت بگم که چون این برنامه خیلی سادست و هیچ کنترلی فعلا روش نداریم،شما فعلا پایه p4.29 رو کلا به زمین وصلش کن نیازی به کاری که تاحالا میکر دی نیست.
                          در ضمن گفتم که heap size برای هر فایل باز 592 بایت هست.
                          اما در پروژه شما این مقدار صفر بود.
                          تصحیح کن درست میشه.
                          تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                          دیدگاه


                            #14
                            پاسخ : کتابخانه Flash-FS برای LPC

                            نوشته اصلی توسط ~ mehdi ~
                            یه نکته ای رو یادم رفت بگم که چون این برنامه خیلی سادست و هیچ کنترلی فعلا روش نداریم،شما فعلا پایه p4.29 رو کلا به زمین وصلش کن نیازی به کاری که تاحالا میکر دی نیست.
                            در ضمن گفتم که heap size برای هر فایل باز 592 بایت هست.
                            اما در پروژه شما این مقدار صفر بود.
                            تصحیح کن درست میشه.
                            سلام
                            ممنون سایز heap را 0x0000 0592 کردم! درست نشد! :cry:
                            باید با فرمت خاصی مموری را فرمت کنم؟ :surprised:
                            [glow=red,2,300]برنامه هاي آموزشي تست شده براي NXP LPC1768 با توابع CMSIS[/glow]
                            http://www.eca.ir/forum2/index.php?topic=76623.0

                            دیدگاه


                              #15
                              پاسخ : کتابخانه Flash-FS برای LPC

                              نوشته اصلی توسط Reza Sede
                              سلام
                              ممنون سایز heap را 0x0000 0592 کردم! درست نشد! :cry:
                              باید با فرمت خاصی مموری را فرمت کنم؟ :surprised:
                              پروژه ای که شما قرار دادید روی برد من داره کار میکنه.البته با یه تغییر کوچولو.
                              جهت اطمینان این پروژه تصحیح شده شما:
                              http://www.4shared.com/rar/XWBKREV3/Fat_Driver.html
                              فقط حواست به تنظیمات pll و آدرس شروع برنامه(0x2000) باشه چون تغییرشون دادم.
                              مموری رو هم فعلا با fat فرمت کن.
                              تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                              دیدگاه

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