اطلاعیه

Collapse
No announcement yet.

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

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

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

    نوشته اصلی توسط ~ mehdi ~
    پروژه ای که شما قرار دادید روی برد من داره کار میکنه.البته با یه تغییر کوچولو.
    جهت اطمینان این پروژه تصحیح شده شما:
    http://www.4shared.com/rar/XWBKREV3/Fat_Driver.html
    فقط حواست به تنظیمات pll و آدرس شروع برنامه(0x2000) باشه چون تغییرشون دادم.
    مموری رو هم فعلا با fat فرمت کن.
    فرکانس pll روی چنده؟ منم میتونم از این فرکانس استفاده کنم؟
    [glow=red,2,300]برنامه های آموزشی تست شده برای NXP LPC1768 با توابع CMSIS[/glow]
    http://www.eca.ir/forum2/index.php?topic=76623.0

    دیدگاه


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

      نوشته اصلی توسط Reza Sede
      فرکانس pll روی چنده؟ منم میتونم از این فرکانس استفاده کنم؟
      نه.شما همون مقادیری که قبلا میزاشتی بزار.
      چون من کریستالم 8 مگه.
      تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

      دیدگاه


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

        شد شد شد شد شد شد شد :applause: :wow: :wow: :wow: :wow: :wow: :wow: :wow: :wow:
        چه تغییری داخلش دادید؟
        [glow=red,2,300]برنامه های آموزشی تست شده برای NXP LPC1768 با توابع CMSIS[/glow]
        http://www.eca.ir/forum2/index.php?topic=76623.0

        دیدگاه


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

          نوشته اصلی توسط Reza Sede
          شد شد شد شد شد شد شد :applause: :wow: :wow: :wow: :wow: :wow: :wow: :wow: :wow:
          چه تغییری داخلش دادید؟
          کیلت ورژن چنده؟؟
          فایل startup_LPC17xx.s قدیمی بود.
          تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

          دیدگاه


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

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

            دیدگاه


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

              دوستان شما مشکل فرمت کردن رو نداشتین ؟

              واسه من همه چیز درست کار میکنه ولی فرمت نمیشه !
              از جمله ی رفتگان این راه دراز
              باز آمده ای کو که به ما گوید راز
              هان بر سر این دو راهه از روی نیاز
              چیزی نگذاری که نمی آیی باز

              دیدگاه


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

                نوشته اصلی توسط mori64
                دوستان شما مشکل فرمت کردن رو نداشتین ؟

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

                دیدگاه


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

                  نوشته اصلی توسط mori64
                  دوستان شما مشکل فرمت کردن رو نداشتین ؟

                  واسه من همه چیز درست کار میکنه ولی فرمت نمیشه !
                  نه،به راحتی فرمت میشه.
                  تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                  دیدگاه


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

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

                    دیدگاه


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

                      سلام
                      خوب حالا که با مقدمات آشنا شدید بریم سراغ توابع.
                      اولین تابع ، تابع finit.
                      این تابع برای اینیشیال کارت حافظه است که به این صورت به کار میرود.
                      کد:
                      a=finit(NULL);
                      خروجی این تابع در صورت شناسایی و اینیشیال صحیح کارت بایستی صفر باشه.
                      ورودی این تابع میتونه موارد دیگه ای هم باشه که میتونید در این صفحه ببینید http://www.keil.com/support/man/docs...rm_funinit.htm
                      در صورت قرار دادن NULL درایوی اینیشیال میشود که تیک قسمت default drive رو زده باشید.که ما زدیم.
                      تابع funinit هم هست که دقیقا عکس کار تابع بالا رو میکنه.

                      تابع بعدی تابع fopen هست که برای باز کردن یک فایل استفاده میشود.
                      پارامتر های این تابع به این صورت میباشد:
                      کد:
                      FILE* fopen (
                        const char* filename,  /* file to open */
                        const char* mode);    /* type of access */
                      پارامتر filename نام فایل است که قصد باز کردن آن را دارید.یا به طور کلی آدرس و نام.
                      پارامتر mode میتواند یکی از مقادیر زیر باشد:
                      "r" که برای خواندن از فایل استفاده میشود.
                      "w" که برای نوشتن در فایل جدید به کار میرود. در حقیقت یک فایل با نامی که شما داده اید ایجاد میشود و در آن مینویسد.توجه داشته باشید که در صورت وجود فایل با نامی که شما انتخاب کردید،فایل قبلی حذف شده و فایل جدید جایگزین میشود.
                      "a" که کار حالت بالا رو انجام میده با این تفاوت که دیگه فایل قبلی رو حذف نمیکنه و کاراکتر های نوشته شده در فایل به محتویات فایل اضافه میشوند.
                      "b" که میتونه با حالت های بالا ترکیب بشه و تاثیری در عملکرد آنها ندارد فقط از استاندارد ISO پشتیبانی میکنه.
                      "+" میتونه با تمام حالات بالا ترکیب بشه به عنوان دومین یا سومین کاراکتر که در این صورت میتوان عملیات خواندن و نوشتن را همزمان انجام داد.
                      در صورت استفاده از این تابع خروجی آن که همان فایل باز شده است در ساختار FILE قرار میگیره.

                      هر فایلی در صورت باز شدن باید بعد از اتمام کار بسته شود که برای این کار از تابع fclose استفاده میشود.


                      البته تعدادی از توابع در مجله نویز 8 توضیح داده شده اند.
                      تابع زیاد داره که سعی میشه بیشترشون رو توضیح بدیم.
                      موفق باشید.
                      تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                      دیدگاه


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

                        نوشته اصلی توسط Reza Sede
                        منظورتون از فرمت کردن چیه؟ منظور فرمت کردن داخل PC است یا داخل میکرو با توابع؟
                        داخل میکرو با تابع
                        fformat("M:SD / FAT32"
                        خیلی عجیبه جون تو ساخت و حذف فایل هیچ مشکلی ندارم !
                        از جمله ی رفتگان این راه دراز
                        باز آمده ای کو که به ما گوید راز
                        هان بر سر این دو راهه از روی نیاز
                        چیزی نگذاری که نمی آیی باز

                        دیدگاه


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

                          سلام.
                          توابعی که توی مجله نویز 8 توضیح داده شدند رو که برید همونجا بخونید. :biggrin:خوب توضیح داده.
                          فقط برای تابع ffind و ساختار FINFO در مورد پارامتر RL_TIME این نکته رو بگم که خود RL_TIME یک ساختار دیگه هست که به این صورت تعریف شده.
                          کد:
                          typedef struct {
                           U8 hr;                /* Hours  [0..23]         */
                           U8 min;               /* Minutes [0..59]         */
                           U8 sec;               /* Seconds [0..59]         */
                           U8 day;               /* Day   [1..31]         */
                           U8 mon;               /* Month  [1..12]         */
                           U16 year;               /* Year   [1980..2107]       */
                          } RL_TIME;
                          پس مثلا برای خواندن تاریخ ایجاد فایل میشه اینجوری.
                          کد:
                          #include <rtl.h>
                          ...
                          FINFO fileInfo;
                          ...
                           fileInfo.time.year = 2011;
                          ...
                          از تمامی دوستانی که این تاپیک رو دنبال کردند عذرخواهی میکنم.به دلیل مشغله کاری شاید چند روزی نتونم بیام اینجا. :cry:
                          اما چون مراحل اولیه کار با این کتاب خونه رو یاد گرفتید.بقیش کاری نداره.
                          میتونید از RL-ARM User's Guide استفاده کنید.برای مثال:
                          این توابع برای کار به روش سکتوری: http://www.keil.com/support/man/docs...s_func_ioc.htm
                          این توابع http://www.keil.com/support/man/docs...unc_fileio.htm :file I/O
                          این هم چند تا تابع دیگه: http://www.keil.com/support/man/docs...func_maint.htm
                          با هر تابعی مشکل داشتید بپرسید.در حد توانم پاسخگو هستم.
                          موفق باشید.
                          تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                          دیدگاه


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

                            سلام
                            اموزش بعدی را هم خودم استخراجی در اوردم بدردتون میخوره!
                            کار با تابع ffree:
                            این تابع برای اندازه گیری مقدار بایت های خالی مموری تون استفاده میشه!
                            این هم اصول تابع
                            کد:
                            U64 ffree (
                              const char* drive);
                            drive همان درایور است که میخواهید از حجم ان اگاه شوید!
                            خروجی این تابع حجم درایو بر حسب بایت است!
                            حتما باید خروجی را در یک متغیر integer ذخیره کرد!

                            کار با تابع fformat:
                            از این تابع برای فرمت کردن درایو مورد تظر استفاده میشود!
                            اصول کلی تابع:
                            کد:
                            int fformat (
                              const char* drive);
                            drive مموری مورد نظر است!
                            خروجی این تابع در صورت موفقیت فرمت 0 و ناموفقیت غیر 0 خواهد بود!
                            در ضمن میتوانید با زدن \ بعد از مموری مورد نظر نوع فرمت را مشخص سازید که عبارتند از:
                            کد:
                            options	Description
                            default 	 When no format is specified, RL-FlashFS selects the best matching format automatically. However, it is possible to enforce FAT32.
                            FAT32 	 Formats the media for using the FAT32 file system.
                            WIPE	 Clears all data. Overwrites sectors with the default value of 0xFF.
                            LOW	Clears all data. Performs low-level formatting first.
                            LOW_EB	 Clears all data. Performs low-level formatting and erases bad blocks first.
                            اضافه کنم اگر دوستان ایرادی اشتباهی چیزی از این پست دیدند میتونند نظر دهند چون خودم در حال فراگیری این کتابخانه هستم! موفق باشید
                            [glow=red,2,300]برنامه های آموزشی تست شده برای NXP LPC1768 با توابع CMSIS[/glow]
                            http://www.eca.ir/forum2/index.php?topic=76623.0

                            دیدگاه


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

                              سلام.
                              قسمت rtc:
                              قول این قسمت رو قبلا داده بودم.
                              وقتی شما یک فایل جدید رو کارت حافظه ایجاد میکنید تاریخ و ساعت ایجاد فایل هم در کنار اون ذخیره میشه.
                              برای این که ساعت و تاریخ شما درست باشه باید فایل fs_time.c رو از این مسیر C:\Keil\ARM\RL\FlashFS\User به پروژه اضافه کنید و تغیرات لازم رو در اون ایجاد کنید.
                              در این فایل که براتون میزارم تغیرات لازم برای خوندم مقدار rtc داده شده البته با توابع cmsis.
                              http://www.4shared.com/file/xcg5Q3nh/fs_time.html
                              قبل از هر چیز از تابع init استفاده کنید و مقادیر اولیه رو بهش بدید.
                              بقیه کارها با خود flash-fs هست.
                              موفق باشید.
                              تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                              دیدگاه


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

                                نوشته اصلی توسط ~ mehdi ~
                                سلام.
                                قسمت rtc:
                                قول این قسمت رو قبلا داده بودم.
                                وقتی شما یک فایل جدید رو کارت حافظه ایجاد میکنید تاریخ و ساعت ایجاد فایل هم در کنار اون ذخیره میشه.
                                برای این که ساعت و تاریخ شما درست باشه باید فایل fs_time.c رو از این مسیر C:\Keil\ARM\RL\FlashFS\User به پروژه اضافه کنید و تغیرات لازم رو در اون ایجاد کنید.
                                در این فایل که براتون میزارم تغیرات لازم برای خوندم مقدار rtc داده شده البته با توابع cmsis.
                                http://www.4shared.com/file/xcg5Q3nh/fs_time.html
                                قبل از هر چیز از تابع init استفاده کنید و مقادیر اولیه رو بهش بدید.
                                بقیه کارها با خود flash-fs هست.
                                موفق باشید.
                                سلام
                                باید اینجوری استفاده کرد؟
                                کد:
                                fs_init_rtc(2013,3,17,6,31,22)
                                fs_init_rtc(U32 year,U8 month,U8 day,U8 hour,U8 minute,U8 second)
                                راستی میشه در مورد دستور ffind بیشتر توضیح دهید یا یک مثال با توضیح بزنید! خروجی در info قرار میگیره درسته؟ به چه شکلی؟ چطوری؟
                                ممنون
                                [glow=red,2,300]برنامه های آموزشی تست شده برای NXP LPC1768 با توابع CMSIS[/glow]
                                http://www.eca.ir/forum2/index.php?topic=76623.0

                                دیدگاه

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