اطلاعیه

Collapse
No announcement yet.

کتابخانه ای برای ارتباط xmega با کارت حافظه برای کدویژن

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

    کتابخانه ای برای ارتباط xmega با کارت حافظه برای کدویژن

    با سلام
    همانطور که اغلب دوستان اطلاع دارند نمی توان از کتابخانه هایی که برای میکرو های avr نوشته شده برای ارتباط با کارت حافظه توسط ایکسمگا استفاده کرد. زیرا تعداد و نام رجیسترهای واحد سخت افزاری spi در این دو خانواده بسیار متفاوت می باشد.
    از دوستانی که با میکرو های xmega و کارت حافظه کار کردند خواهشمندم تجربیات خودشون را در اینجا قرار بدن تا همه استفاده کنند.

    البته من به شخصه دنبال یک کتابخانه برای کد ویژن هستم و دارم با هدر برد atxmega128a3u کار می کنم.
    در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

    1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
    2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
    3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

    #2
    پاسخ : کتابخانه ای برای ارتباط xmega با کارت حافظه برای کدویژن

    نوشته اصلی توسط siyavash2k
    با سلام
    همانطور که اغلب دوستان اطلاع دارند نمی توان از کتابخانه هایی که برای میکرو های avr نوشته شده برای ارتباط با کارت حافظه توسط ایکسمگا استفاده کرد. زیرا تعداد و نام رجیسترهای واحد سخت افزاری spi در این دو خانواده بسیار متفاوت می باشد.
    از دوستانی که با میکرو های xmega و کارت حافظه کار کردند خواهشمندم تجربیات خودشون را در اینجا قرار بدن تا همه استفاده کنند.

    البته من به شخصه دنبال یک کتابخانه برای کد ویژن هستم و دارم با هدر برد atxmega128a3u کار می کنم.
    جواب سوال شما رو در بخش AVR که در این خصوص مطرح کرده بودید داده شده

    http://www.eca.ir/forum2/index.php?topic=55074.msg541670#msg541670

    لطفا به بخش فوق مراجعه کنید

    به همین سادگی :nice:
    تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
    به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

    دیدگاه


      #3
      پاسخ : کتابخانه ای برای ارتباط xmega با کارت حافظه برای کدویژن

      بله و البته این سئوال و جواب در بخش xmega صحیحتر به نظر میرسد.
      در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

      1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
      2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
      3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

      دیدگاه


        #4
        پاسخ : کتابخانه ای برای ارتباط xmega با کارت حافظه برای کدویژن

        نوشته اصلی توسط siyavash2k
        بله و البته این سئوال و جواب در بخش xmega صحیحتر به نظر میرسد.
        برادر اگر اینطوره چرا اونجا مطرح کردید و وقتی جواب نگرفتین شاکی شدید !!!!!!!!!!!!!! ؟؟؟؟؟؟؟؟؟؟؟؟؟

        به همین سادگی :nice:
        تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
        به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

        دیدگاه


          #5
          پاسخ : کتابخانه ای برای ارتباط xmega با کارت حافظه برای کدویژن

          نوشته اصلی توسط siyavash2k

          کسی نبود جواب ما را بده؟
          من می خوام مموری را به xmega وصل کنم. کجا تنظیمات پایه ها را انجام بدم؟
          نیاید بگید برو تو فایل کانفیگ و ....
          رجیسترهای xmega با mega فرق دارن. همینطور تعداد واحد های spi
          با سلام

          همونطوری که طی پیغام خصوصی عرض کردم تنها رفرنسی که میتونم در مورد Xmega و توابع فت معرفی کنم
          کار استاد خوبم اقای کینژاد هست فقط ایشون این پروژه رو با IAR کار کردن
          از اونجا که فبلا فرمودید حرفه ای هستید و خودتون میتونید نباید انتقال پروژه به کدویژن کار چندان سختی باشه

          در این پروژه با تغییر کتابخانه FATFS که توسط آقای Chan در سایت elm-chan.org قرار داده شده، امکان ارتباط با mmc/SDC/SDHC از طریق برد آموزشی فراهم گردیده است. با اتصال یک LCD کاراکتری 4 در 20 به برد و هر نوع mmc یا SDC به سوکت تعبیه شده در برد و بعد از Reset، در ابتدا نوع حافظه شناسایی شده و روی LCD نمایش داده می شود. در مرحله بعد یک فایل txt ایجاد می شود و اطلاعاتی روی آن نوشته می شود. در نهایت هم اطلاعات خوانده شده از mmc روی LCD نمایش داده می شود. در این پروژه از نسخه جدید کتابخانه LCD کاراکتری استفاده شده است. این پروژه در سایت avrfreaks.net هم قرار داده شده است.
          خود پروژه رو میتونید از سایت شخصی اقای کینژاد دنبال کنید

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

          برای درک بیشتر پروژه باید بگم فایل های
          XMEGA_mmc_v2.c و
          XMEGA_mmc_v2.h و
          توابع و دیفاین های مربوت به مموری
          XMEGA_spi_v1.c و
          XMEGA_spi_v1.h و
          توابع و دیفاین های مربوت به SPI میکرو
          XMEGA_timer_v2.c و
          XMEGA_timer_v2.h
          توابع و دیفاین های مربوت به تایمر میکرو
          و از همه مهمتر
          XMEGA_cpu_v2.h
          که کلیه دیفاینهای مربوط به انتخاب پینهای استفاده شده و کانفیق خود CPU هست

          به همین سادگی :nice:
          تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
          به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

          دیدگاه


            #6
            پاسخ : کتابخانه ای برای ارتباط xmega با کارت حافظ&#

            نوشته اصلی توسط siyavash2k
            با سلام دوباره
            اون پروژه را صبح دانلود کردم. ولی نتونستم از اون کتابخونه ها توی کد ویژن استفاده کنم. خطا میگیره موقع کامپایل. همونطور هم که قبلا گفتم من خیلی به گرامر C مسلط نیستم. بنابراین نمیتونم اون کتابخونه را برای کدویژن تغییر بدم.
            راستی بگم که چه خطایی هنگام کامپایل میگیره :
            موقع کامپایل میره توی فایل avr_compiler.h و خطای Compiler not supported. را میده. حالا این یعنی چی؟ کسی نمی داند.
            نمی دونم شاید نوع packed شناسایی نمیکنه.
            #define SHORTENUM __attribute__ ((packed))

            #else
            #error Compiler not supported.
            #endif
            چیزی که شما باهاش مشکل دارید زبان سی نیست
            بلکه روش کانفیق و احتمالا نا اشنا بودن با رجیسترها و خود میکروی XMEGA هست
            این پروژه برای کسی که اطلاعات کافی در این زمینه نداره و عجله داره واقعا مشکل و سخته پس توصیه میکنم عجله نکنید و صبر پیشه کنید
            در ضمن این مورد که فرمودید با سی اشنا نیستید و زبان پاسکال رو اگر اشتباه نکرده باشم کار میکنید در زبان های برنامه نویسی بین میکرو و PC فرق چندانی نیست ولی کسایی که قبلا با PC و ویژوال برنامه نویسی کردن کار خیلی سختی هست که برای میکرو برنامه بنویسن حتی اگی زبان مشترکی بلد باشن

            [/quote]
            نوشته اصلی توسط siyavash2k
            فایل های مذکور را که نام بردید را دیدم و برای کانفیگ مناسب پایه ها در فایل xmega_cpu_v2 تغییرات را اعمال کردم ولی همون خطای کامپایلر ساپورت نمی کنه را از فایل avr_compiler میگیره
            شما باید علاوه بر تغییراتی که در پینها و جابجایی ورودی و خروجیها میدادید
            در روش برنامه نویسی بین IAR و کدویژن هم دقت کنید البته تغییرات جزئی با هم دارن

            این هفته فرصت ندارم ولی احتمالا اگر هفته اینده فرصتی باشه یه رفرنس با کدویژن بهتون میدم
            و تغییرات مورد نیاز رو در همون رفرنسی که برای AVR دادم اعمال میکنم و در اختیار دوستان قرار میدم

            در سوال قبلی شما اینطور که فرمودید مشکل با تغییر رجیسترها از AVR به XMEGA داشتید لذا بنده این پروژه رو معرفی کردم

            به همین سادگی :nice:
            تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
            به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

            دیدگاه


              #7
              پاسخ : کتابخانه ای برای ارتباط xmega با کارت حافظه برای کدویژن

              اگه زحمتشو بکشین من به نوبه خودم سپاسگذارم
              در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

              1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
              2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
              3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

              دیدگاه


                #8
                پاسخ : کتابخانه ای برای ارتباط xmega با کارت حافظه برای کدویژن

                با سلام مجدد
                بالاخره بعد از 12 ساعت تلاش بی وقفه و خستگی ناپذیر تونستم با میکرو sd و ایکسمگا ارتباط برقرار کنم.
                حالا چرا قبلا جواب نمی داد را خدا می داند و بس.
                بسیار خوشحالم و الان هم برای اون دسته از افرادی که بعدا میان تجربیاتم را قرار میدم.
                اول از همه تنظیمات کدویژن :
                spi low speed را حتما تیک بزنید اگه فرکانس کاریتون بالاتر از 8 مگاهرتز هست.
                به جز پایه های ارتباطی پین های کارت دتتکت و رایت پروتکت را جدی بگیرید و حتما بعد از معرفی پین مربوطه در میکرو را به زمین متصل کنید.

                یک چیز جالب را هم توی کدویژن نسخه 3.08 دیدم و اون اینکه میشه اصلا این دو پایه را حذف کرد ولی تو کدویژن 2.05.3 که فعلا در اختیار دارم(به دلیل وجود کرک مجبور به استفاده هستم) و باهاش کار می کنم مجبوریم این دو پایه را حتی در صورت عدم استفاده معرفی و زمین کنیم.

                فعلا کافیه
                در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

                1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
                2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
                3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

                دیدگاه


                  #9
                  پاسخ : کتابخانه ای برای ارتباط xmega با کارت حافظه برای کدویژن

                  نوشته اصلی توسط siyavash2k
                  با سلام مجدد
                  بالاخره بعد از 12 ساعت تلاش بی وقفه و خستگی ناپذیر تونستم با میکرو sd و ایکسمگا ارتباط برقرار کنم.
                  حالا چرا قبلا جواب نمی داد را خدا می داند و بس.
                  بسیار خوشحالم و الان هم برای اون دسته از افرادی که بعدا میان تجربیاتم را قرار میدم.
                  اول از همه تنظیمات کدویژن :
                  spi low speed را حتما تیک بزنید اگه فرکانس کاریتون بالاتر از 8 مگاهرتز هست.
                  به جز پایه های ارتباطی پین های کارت دتتکت و رایت پروتکت را جدی بگیرید و حتما بعد از معرفی پین مربوطه در میکرو را به زمین متصل کنید.

                  یک چیز جالب را هم توی کدویژن نسخه 3.08 دیدم و اون اینکه میشه اصلا این دو پایه را حذف کرد ولی تو کدویژن 2.05.3 که فعلا در اختیار دارم(به دلیل وجود کرک مجبور به استفاده هستم) و باهاش کار می کنم مجبوریم این دو پایه را حتی در صورت عدم استفاده معرفی و زمین کنیم.

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

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

                  به همین سادگی :nice:
                  تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                  به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                  دیدگاه


                    #10
                    پاسخ : کتابخانه ای برای ارتباط xmega با کارت حافظه برای کدویژن

                    چرا از لایبراری کدویژن استفاده نکنم؟
                    استاد؟؟؟
                    حتما یک نمونه کد می زارم ولی الان چند وقته که یکمی درگیرم. چشم تا آخر این هفته حتما میزارم.
                    در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

                    1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
                    2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
                    3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

                    دیدگاه


                      #11
                      پاسخ : کتابخانه ای برای ارتباط xmega با کارت حافظه برای کدویژن

                      نوشته اصلی توسط siyavash2k
                      چرا از لایبراری کدویژن استفاده نکنم؟
                      استاد؟؟؟
                      حتما یک نمونه کد می زارم ولی الان چند وقته که یکمی درگیرم. چشم تا آخر این هفته حتما میزارم.
                      چون اگر قرار بود از ایبری اماده اسنفاده بکنیم همون Bascom یا MicroC بهتر بود
                      چون وقتی منبع رو داری چرا باید خودتو محدودتر کنی
                      چون اگر فردا تصمیم گرفتی کامپایلرتو تغیی بدی مشکلی نباشه
                      جون اگر فردا خواستی میکرو رو تغییر بردی و مثلا از AVR ببری به PIC یا ARM یا هر میکرویی که کدویژن نمیشناسه مشکلی نداشته باشی
                      و چون های دیگه .........

                      اما در مورد استاد خیلی از دوستان رو میشناسم که توی همین انجمن اومدن و مشکلشونو حل کردن و رفتن و دیگه هم نیومدن بگم مشکلشون کجابود و چطور حلش کردن
                      یا اومدن و یه چنتا چیز یاد گرفتن و استاد شدن و حالا دارن غلط های املایی بنده یا دوستان دیگه رو میگیرن

                      خیلی ممنون میشم اگر همیچن کاری بکنی
                      موفق و پیروز باشی

                      به همین سادگی :niec:
                      تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                      به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                      دیدگاه


                        #12
                        پاسخ : کتابخانه ای برای ارتباط xmega با کارت حافظه برای کدویژن

                        سلام
                        میشه بفرمایید حداکثر سرعت خواندن و نوشتن تو انواع این کارت حافظه ها چقدره؟
                        ممنون
                        مشخصات من در لینک زیر
                        http://www.eca.ir/forum2/index.php?topic=1721.msg698645#msg698645

                        www.********

                        دیدگاه


                          #13
                          پاسخ : کتابخانه ای برای ارتباط xmega با کارت حافظه برای کدویژن

                          توضیحات بخش های Benchmark و How Fast SPI Mode Can Work را در لینک زیر ببینید:

                          http://elm-chan.org/docs/mmc/mmc_e.html
                          اوژن: به معنای افکننده و شکست دهنده است
                          دانایی، توانایی است-Knowledge is POWER
                          برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                          وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                          قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                          اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                          ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                          دیدگاه


                            #14
                            پاسخ : کتابخانه ای برای ارتباط xmega با کارت حافظه برای کدویژن

                            با سلام
                            اینم یک نمونه کد برای راه اندازی کارت حافظه MicroSD با کدویژن
                            1-برای نوشتن داخل کارت

                            کد:
                            [left][left]#include <ff.h>
                            
                            /* FAT function result */
                            FRESULT res;
                            /* number of bytes written/read to the file */
                            unsigned int nbytes;
                            /* will hold the information for logical drive 0: */
                            FATFS fat;
                            /* will hold the file information */
                            FIL file;
                            /* will hold file attributes, time stamp information */
                            FILINFO finfo;
                            /* file path */
                            char path[]="0:/file.txt";
                            /* text to be written to the file */
                            char text1[]="I like CodeVisionAVR! ";
                            /* file read buffer */
                            char buffer[256];
                            
                            interrupt [TCC0_OVF_vect] void tcc0_overflow_isr(void)
                            {
                             disk_timerproc();
                            };
                            
                            
                            void main(void)
                            {
                            f_mount(0,&fat);
                            f_open(&file,path,FA_CREATE_ALWAYS | FA_WRITE);
                            f_write(&file,text1,sizeof(text1)-1,&nbytes);
                            f_close(&file);
                            while (1)
                               {
                               }
                            };[/left][/left]
                            2-برای خواندن از کارت
                            کد:
                            [left][left]#include <ff.h>
                            
                            /* FAT function result */
                            FRESULT res;
                            /* number of bytes written/read to the file */
                            unsigned int nbytes;
                            /* will hold the information for logical drive 0: */
                            FATFS fat;
                            /* will hold the file information */
                            FIL file;
                            /* will hold file attributes, time stamp information */
                            FILINFO finfo;
                            /* file path */
                            char path[]="0:/file.txt";
                            /* text to be written to the file */
                            char text1[]="I like CodeVisionAVR! ";
                            /* file read buffer */
                            char buffer[256];
                            
                            interrupt [TCC0_OVF_vect] void tcc0_overflow_isr(void)
                            {
                             disk_timerproc();
                            };
                            
                            
                            void main(void)
                            {
                            f_mount(0,&fat);
                            f_open(&file,path,FA_READ | FA_OPEN_EXISTING);
                            f_read(&file,buffer,sizeof(buffer)-1,&nbytes);
                            f_close(&file);
                            while (1)
                               {
                               }
                            };[/left][/left]


                            تنظیمات مربوطه به پایه های سخت افزاری داخل منوی خود کدویژن فراموش نشه.


                            در کل هیچ فرقی با کتابخانه های دیگه نداره. فقط برای جواب گرفتن باید دقت کرد. به پایه های CD و WP دقت بشه. این پایه ها پس از معرفی در صورت عدم اتصال به کارت یا سوکت حتما به زمین متصل بشه.
                            راستی گزینه low speed spi هم اگه فرکانستون بالا هست فراموش نشه تیک بخوره.

                            ایمان داشته باشید که خواستن توانستن هست.
                            در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

                            1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
                            2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
                            3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

                            دیدگاه


                              #15
                              پاسخ : کتابخانه ای برای ارتباط xmega با کارت حافظه برای کدویژن

                              ببخشید،لطفا کمکم کنید.
                              وقتی کتابخونه ی ff.h رو فراخونی می کنم و از توابع اون استفاده می کنم..این ارورا رو می ده...
                              Error: C:\cvavr1\inc\xmstruct.h(425), included from: xmega32a4.h: invalid combination of type specifiers
                              Error: C:\cvavr1\inc\xmstruct.h(434), included from: xmega32a4.h: invalid combination of type specifiers
                              Error: undefined member 'DIR'
                              Error: undefined member 'DIR'
                              Error: undefined member 'DIR'
                              Error: undefined member 'DIR'
                              Error: undefined member 'DIR'
                              Error: undefined member 'DIR'
                              من از کتابخونه ی sdcard هم که استفاده می کنم .هیچ کاری رو نیمیکنه....هیچ کدوم از روش ها برای اتصال mmc به xmega کار نکرد..نمی دونم مشکل از چیه!!!لطفا کمکم کنید

                              دیدگاه

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