اطلاعیه

Collapse
No announcement yet.

مشکل در atmel Studio

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

    مشکل در atmel Studio

    برنامه ای در این نرم افزار نوشتم نیاز به یک فایل هدر داشت که اضافه کردم ، اما ارور میده که این فایل موجود نیست

    کد:
    #include <avr/io.h>
    #include <TFT/SSD1289.h>
    .
    .
    .
    ارور:
    کد:
    Error	1	TFT/SSD1289.h: No such file or directory
    دانشجو موذن جامعه است، اگر خواب بماند نماز امت قضا میشود.

    #2
    پاسخ : مشکل در atmel Studio

    فایل هایی که کنار برنامه هست و می خوهید include کنید را باید با دستور "" include وارد کنید نه <> include.

    دیدگاه


      #3
      پاسخ : مشکل در atmel Studio

      با سلام

      یه سوال داشتم
      راستش یه کدی از اینترنت گرفتم که تو avr studio نوشته شده و منم اولین بارمه که با این نرم افزار کار میکنم ،مشکلم اینه که وقتی رانش میکنم بهم ارور interrupt.h: No such file or directory رو میده ، فایل هدرشم هست فقط نمیدونم باهاش چکار کنم

      دیدگاه


        #4
        پاسخ : مشکل در atmel Studio

        سلام به همه!
        محضر اساتید Atmel Studio سوالی داشتم:
        تا کنون با این Error مواجهه داشتید؟
        مربوط به Atmel Studio6.2
        موقعی هم که روی Error ها دابل کلیک میکنم به جای خاص اشاره نمیکنه!
        ◙◙◙◙◙ میخوام به دوستان یه کتاب معرفی کنم! وقت کردید، بخونید - اسمش هست قرآن، سال نشر 10، نویسنده: خدا . ◙◙◙◙◙

        دیدگاه


          #5
          پاسخ : مشکل در atmel Studio

          نوشته اصلی توسط ubub نمایش پست ها
          سلام به همه!
          محضر اساتید Atmel Studio سوالی داشتم:
          تا کنون با این Error مواجهه داشتید؟
          مربوط به Atmel Studio6.2
          موقعی هم که روی Error ها دابل کلیک میکنم به جای خاص اشاره نمیکنه!
          اینجوری که مشخصه برنامه شما داره مقادیر بزرگتر از 65535 رو تولید میکنه و برنامه نمیتونه مشخصا اونا رو ذخیره کنه.اگر متغیر 16 بیتی خاصی دارید حتما قبل از دادن مقدار بالاتر از 16 بیت اون رو cast کنید به صورت زیر:
          (uint16_t)
          Aristar Group - Always And Forever

          دیدگاه


            #6
            پاسخ : مشکل در atmel Studio

            نوشته اصلی توسط Aristar نمایش پست ها
            اینجوری که مشخصه برنامه شما داره مقادیر بزرگتر از 65535 رو تولید میکنه و برنامه نمیتونه مشخصا اونا رو ذخیره کنه.اگر متغیر 16 بیتی خاصی دارید حتما قبل از دادن مقدار بالاتر از 16 بیت اون رو cast کنید به صورت زیر:
            (uint16_t)
            مهندس جان، ممنون از توجه ات!
            ولی به متغییر ربط نداره!
            فرض کن بخواهیم یه متغییر 4بایتی رو، توی یه متغییر 2بایتی بریزیم،
            توی این حالت هیچ کامپایلری خطا نمیده، معمولا هشدار هم نمیدهند، فقط دو بایت کم ارزش تر رو کپی میکنند و 2 بایت پر ارزش از دست میره!
            من خودم بارها این کار رو کردم!
            ... .
            سروکله ای که باهاش زدم، تقریبا مطمئن شدم به بالا رفتن حجم کد مربوط میشه!
            یعنی تا وقتی که اندازه کد زیر 85332 بایت است هیچ مشکلی وجود نداره!
            دقیقا وقتی که یه بایت دیگه به این مقدار افزوده میشه، این Error رو میده!
            وجالب اینه که تعداد Error هایی هم که میده، دقیقا به اندازه تعداد بایتهاییه که حجم کد از 85332 بیشتر شده!!!
            ...
            مثلا فرض کنید حجم کد، زیر 85332 است و برنامه کامپایل شده و بدون مشکل اجرا میشه، ولی وقتی که من یک بخشِ بدون خطا از برنامه رو کپی و یه جای مناسب پیست میکنم (افزایش بدون خطای کد) همین Error رو میده!!
            و اینها در حالیه که چیپ انتخاب شده ATXMEGA128A1U است که دارای 136 بایت حافظه فلش میباشد!
            و قطعا ربطی به جعلی بودن چیپ و کمتر بودن اندازه واقعی حافظه و سخت افزار نداره، چون برنامه در مرحله کامپایل و درحالی که چیپ 128A1 بهش معرفی شده خطا میده!
            .... .
            حدس میزنم این مشکل به پهنای یکسری متغییر داخلی، توی کد کامپایلر و یا اسمبلر مربوط میشه، که به احتمال زیاد قابل تنظیم هم باید باشند، ولی من هرچی گشتم همچین چیزی ندیدم!
            ... .
            الان هم هنوز مشکلم حل نشده، و از اون روز دارم روی بهینه کردن کد و کم حجم کردنش کار میکنم، تا بتونم 4 خط اضافه کنم!
            شاید مجبور بشم براش یه تاپیک جدا بزنم، فکر میکنم اینجا دوستان و اساتید بازدیدی ازش نکردند!
            مشخصا نمیدون جناب طراح این موضوع رو دیدن یا نه؟!
            ◙◙◙◙◙ میخوام به دوستان یه کتاب معرفی کنم! وقت کردید، بخونید - اسمش هست قرآن، سال نشر 10، نویسنده: خدا . ◙◙◙◙◙

            دیدگاه


              #7
              پاسخ : مشکل در atmel Studio

              سلام
              دوست عزیز کتابخانه دانلود و تو برنامه هم اضافه کنید
              تو قسمت سمت راست Solution Explorer>>Libraries (or) include دقیقا یادم نیست اضافه کنید
              با کشیدن و رها کردن Drag and Drop
              جدیدترین ویرایش توسط amin_a_y; ۱۰:۴۸ ۱۳۹۷/۰۲/۰۹.
              اميدوارم خدا پنجره باز اتاقتون باشه!

              دیدگاه


                #8
                پاسخ : مشکل در atmel Studio

                نوشته اصلی توسط amin_a_y نمایش پست ها
                سلام
                دوست عزیز کتابخانه دانلود و تو برنامه هم اضافه کنید
                تو قسمت سمت راست Solution Explorer>>Libraries (or) include دقیقا یادم نیست اضافه کنید
                با کشیدن و رها کردن Drag and Drop
                سلام،
                مهندس جان، شما که انقدر گلی، کاش یه کم بیشتر وقت گذاشته بودی!!
                مثلا فرموده بودید با این ارور مواجه شدید یا نه؟
                و اینکه آیا تائید میفرمائید که مربوط به بالا بودن حجم کد هست یا نه؟
                و اینکه این کتابخونه کارش چی هست؟
                و سر آخر اینکه دقیقا کدوم کتابخانه ؟؟؟؟؟؟
                ◙◙◙◙◙ میخوام به دوستان یه کتاب معرفی کنم! وقت کردید، بخونید - اسمش هست قرآن، سال نشر 10، نویسنده: خدا . ◙◙◙◙◙

                دیدگاه


                  #9
                  پاسخ : مشکل در atmel Studio

                  سلام من قبلا با اتمل استدیو برای ایکس مگا کار کرده بودم کلی اذیتم کرد 4 تا برنامه بزرگ براش نوشتم بزرگترین مشکلش اینه که مرجع فارسی براش خیلی کمه
                  جسارتا شما این ارور رو توی گوگل به زبان انگلیسی سرج کردید توی فروم خارجی فرکس و خود انجمن اتمل (که الان تلفیق شده با MICROCHIP) اطلاعات خوبی هست
                  من کلا با اینا تونستم نزدیک 6000 خط برنامه با انواع سخت افزار ها بنویسم و حتی توی سایت های ایرانی نتونستم یدونه جواب خوب پیدا کنم
                  [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                  دیدگاه


                    #10
                    پاسخ : مشکل در atmel Studio

                    نوشته اصلی توسط حامد رحیمی نمایش پست ها
                    سلام من قبلا با اتمل استدیو برای ایکس مگا کار کرده بودم کلی اذیتم کرد 4 تا برنامه بزرگ براش نوشتم بزرگترین مشکلش اینه که مرجع فارسی براش خیلی کمه
                    جسارتا شما این ارور رو توی گوگل به زبان انگلیسی سرج کردید توی فروم خارجی فرکس و خود انجمن اتمل (که الان تلفیق شده با MICROCHIP) اطلاعات خوبی هست
                    من کلا با اینا تونستم نزدیک 6000 خط برنامه با انواع سخت افزار ها بنویسم و حتی توی سایت های ایرانی نتونستم یدونه جواب خوب پیدا کنم
                    سلام،
                    جناب مهندس گوگل هم کردم،
                    چیزی بدرد بخوری نیافتم،
                    فقط همون اولین نتیجه ای که میاره یه نفر دقیقا همین موضوع رو مطرح کرده ولی بعد بحثش به ناکجا آباد رفته و روی رفع این مشکل بحث نشده!
                    شاید هم برداشت من ناقص بوده!
                    بالاخره اگه چیزی پیدا کردی یا قبلا با پشتیبانی خود اتمل استدیو مکاتبه کردی، به فکر ماهم باش!
                    ... .
                    برنامه الان نزدیک 10000 خط شده! با کلی فانکشن!
                    ◙◙◙◙◙ میخوام به دوستان یه کتاب معرفی کنم! وقت کردید، بخونید - اسمش هست قرآن، سال نشر 10، نویسنده: خدا . ◙◙◙◙◙

                    دیدگاه


                      #11
                      پاسخ : مشکل در atmel Studio

                      نوشته اصلی توسط ubub نمایش پست ها
                      مهندس جان، ممنون از توجه ات!
                      ولی به متغییر ربط نداره!
                      فرض کن بخواهیم یه متغییر 4بایتی رو، توی یه متغییر 2بایتی بریزیم،
                      توی این حالت هیچ کامپایلری خطا نمیده، معمولا هشدار هم نمیدهند، فقط دو بایت کم ارزش تر رو کپی میکنند و 2 بایت پر ارزش از دست میره!
                      من خودم بارها این کار رو کردم!
                      ... .
                      سروکله ای که باهاش زدم، تقریبا مطمئن شدم به بالا رفتن حجم کد مربوط میشه!
                      یعنی تا وقتی که اندازه کد زیر 85332 بایت است هیچ مشکلی وجود نداره!
                      دقیقا وقتی که یه بایت دیگه به این مقدار افزوده میشه، این Error رو میده!
                      وجالب اینه که تعداد Error هایی هم که میده، دقیقا به اندازه تعداد بایتهاییه که حجم کد از 85332 بیشتر شده!!!
                      ...
                      مثلا فرض کنید حجم کد، زیر 85332 است و برنامه کامپایل شده و بدون مشکل اجرا میشه، ولی وقتی که من یک بخشِ بدون خطا از برنامه رو کپی و یه جای مناسب پیست میکنم (افزایش بدون خطای کد) همین Error رو میده!!
                      و اینها در حالیه که چیپ انتخاب شده ATXMEGA128A1U است که دارای 136 بایت حافظه فلش میباشد!
                      و قطعا ربطی به جعلی بودن چیپ و کمتر بودن اندازه واقعی حافظه و سخت افزار نداره، چون برنامه در مرحله کامپایل و درحالی که چیپ 128A1 بهش معرفی شده خطا میده!
                      .... .
                      حدس میزنم این مشکل به پهنای یکسری متغییر داخلی، توی کد کامپایلر و یا اسمبلر مربوط میشه، که به احتمال زیاد قابل تنظیم هم باید باشند، ولی من هرچی گشتم همچین چیزی ندیدم!
                      ... .
                      الان هم هنوز مشکلم حل نشده، و از اون روز دارم روی بهینه کردن کد و کم حجم کردنش کار میکنم، تا بتونم 4 خط اضافه کنم!
                      شاید مجبور بشم براش یه تاپیک جدا بزنم، فکر میکنم اینجا دوستان و اساتید بازدیدی ازش نکردند!
                      مشخصا نمیدون جناب طراح این موضوع رو دیدن یا نه؟!
                      دوست عزیز بنده هم میدونم در تبدیل نوع بزرگ به کوچک چی میشه.منظور من برای این بود شاید در برنامه شما یک جایی از آرایه ای استفاده کردین یا شیفت میکنید که باعث میشه از رنج اون خارج بشه.چون برنامه سر آخر مقادیر رو تبدیل میکنه این ارور در اسمبلی خودش رو نشون میده که مشخصا روی کد سی نمیتونین بدونین از کجاست.
                      این مشکل رو من زمانی داشتم که یا یک متغیر رو درست شیفت نمیدادم و از رنجش خارج میشد یا از آرایه بزرگ استفاده میکردم.اگر آرایه بزرگی از اعداد دارید اونها رو روی حافظه فلش قرار بدین.یک نکته هم که من یک بار از دوستان شنیدم برای میکروهای بالاتر از 64 کیلوبایت در صورتی که دیتا بخواد روی فلش ذخیره بشه به جای PROGMEM از یه چیزی تو مایه های PROGMEM_FAR استفاده بشه(دقیقش رو خودتون جستجو کنید)
                      در کل چون این ارور از اسمبلی صادر میشه باید به کل کد دسترسی داشت که بفهمیم از کجا میاد و با یه تصویر ساده نمیشه چیزی گفت.هر چیزی هم که گفته بشه حدس و گمانه
                      Aristar Group - Always And Forever

                      دیدگاه


                        #12
                        پاسخ : مشکل در atmel Studio

                        نوشته اصلی توسط Aristar نمایش پست ها
                        دوست عزیز بنده هم میدونم در تبدیل نوع بزرگ به کوچک چی میشه.منظور من برای این بود شاید در برنامه شما یک جایی از آرایه ای استفاده کردین یا شیفت میکنید که باعث میشه از رنج اون خارج بشه.چون برنامه سر آخر مقادیر رو تبدیل میکنه این ارور در اسمبلی خودش رو نشون میده که مشخصا روی کد سی نمیتونین بدونین از کجاست.
                        این مشکل رو من زمانی داشتم که یا یک متغیر رو درست شیفت نمیدادم و از رنجش خارج میشد یا از آرایه بزرگ استفاده میکردم.اگر آرایه بزرگی از اعداد دارید اونها رو روی حافظه فلش قرار بدین.یک نکته هم که من یک بار از دوستان شنیدم برای میکروهای بالاتر از 64 کیلوبایت در صورتی که دیتا بخواد روی فلش ذخیره بشه به جای PROGMEM از یه چیزی تو مایه های PROGMEM_FAR استفاده بشه(دقیقش رو خودتون جستجو کنید)
                        در کل چون این ارور از اسمبلی صادر میشه باید به کل کد دسترسی داشت که بفهمیم از کجا میاد و با یه تصویر ساده نمیشه چیزی گفت.هر چیزی هم که گفته بشه حدس و گمانه

                        مهندس مسئله رو انقدر پیچیدش نکن!
                        شما که با Atmel Studio کد نوشتی، حتما دیدی که خیلی قوی و سرآمده!
                        و از طرفی توی سریهای Xmega حافظه بالای 256 کیلو بایت هم بسیاره!
                        سریهای هسته ARM رو هم که بگذریم!
                        ... .
                        پس حتما این مسئله مربوط میشه به یک سری تنظیمات در رابطه با Optimization کامپایلر!
                        یعنی به احتمال قوی با یه تغییر کوچولو توی تنظیمات کامپایلر این مشکل حل میشه!
                        که متأسفانه بنده اطلاعی در این رابطه ندارم!!
                        ... .
                        به هر حال خیلی ممنون از همراهیتون!
                        راستی اگه قبلا با این اتمل ی ها مکاتبه کردی، ممنون میشم اگه این موضوع رو سوال کنی!
                        من هم مکالمه ام ضعیفه و هم فیلتر برام داستانه!!
                        ◙◙◙◙◙ میخوام به دوستان یه کتاب معرفی کنم! وقت کردید، بخونید - اسمش هست قرآن، سال نشر 10، نویسنده: خدا . ◙◙◙◙◙

                        دیدگاه


                          #13
                          پاسخ : مشکل در atmel Studio

                          سلام مجدد به همه!
                          طبق معمول، خودم حلش کردم!!
                          مشکل از پستچی بود!!!! ببخشید اشتباه شد!
                          ... .
                          گفتم نتایج رو بذارم، شاید بعععدها به درد کسی بخوره:
                          جواب توی یک جمله:
                          « باید تنظیمات مربوط به پیکربندی Build رو، روی حالت Release بذاری !! »
                          ... .
                          من با توجه به اینکه میدونستم Release حجم کد کمتری نسبت به Debug تولید میکنه، از چند روز قبل به عنوان یه راه حل موقت با ایجاد همین تغییر کار کردم،تا امروز گفتم برم توی بحرش!!
                          تمام حالتهای Optimization Level رو، توی هر دوتا پیکربندی تست کردم و نتایج رو یاداشت کردم!
                          نتایج رو برای استفاده و تحلیل سایر دوستان قرار میدم:
                          پیکربندی Release:

                          پیکربندی Debug:

                          نتیجه ای که من گرفتم اینه
                          که:
                          در برخی از حالتها علارغم اینکه حجم کدهای تولید شده در حالت Debug (یعنی مجموع کدهای کاربر و کدهای اضافه شده توسط کامپایلر جهت عیب یابی) کمتر از میزان حافظه حداکثر (در اینجا 128 کیلو بایت) است، باز کامپایلر به علت محدودیتهای آدرس دهی قادر به کامپایل کردن کد یا تولید کد اسمبلی در حالت Debug نیست!
                          این که این محدودیت آدرس دهی، مربوط به کد کامپایلر در مد Debug میشود یا مربوط به توانایی سخت افزار معرفی شده در این مد، من نمیدونم؟؟؟؟
                          به هر حال چیزی که مشخص هست اینه که با تغییر Build Configuration به Release کد میتونه بدون هیچ مشکلی تا میزان حداکثر حافظه چیپ انتخاب شده، توسعه پیدا کنه!
                          بدون تغییر هیچ گزینه دیگر و یا بدون نیاز به تغییر سطوح Optimization !!
                          ... .
                          شاید اینجا کسی از اساتید باتجربه بفرمایند که موقعی که کامپایلر توی مد Debug ، ارور داده! بنده حجم کد رو از کجا آوردم که بتونم مقایسه و نتیجه گیری کنم؟! نظر اون استاد رو به این پست جلب میکنم:
                          برنامه ای در این نرم افزار نوشتم نیاز به یک فایل هدر داشت که اضافه کردم ، اما ارور میده که این فایل موجود نیست #include <avr/io.h> #include <TFT/SSD1289.h> . . . ارور: Error 1 TFT/SSD1289.h: No such file or directory

                          یعنی اینکه من دقیقا تا پیش از اضافه کردن یک خط دیگه، کدم کامپایل شده و حجمش رو میدونم (توی همین مد Debug)، و با اضافه شدن یه دستور ساده، تقریبا مشخص هست که چه میزان به کد افزوده میشه!!
                          و این درحالی است که 84332 تقریبا نصف 136 کیلو هست!
                          ... .
                          و برای دوستانی که جای تنظیمات رو نمیدونند:
                          سر برگ: Build
                          گزینه: Configuration Manager
                          قسمت: Active solution configuration: رو، روی حالت Release تنظیم کنید و تمام!
                          ... .
                          راه حل 100 درصد جواب داد، ولی اینکه آیا برداشت بنده هم از این موضوع 100 درصد درست باشه،
                          نیاز به بررسی بیشتر و نظر سایر اساتید داره!!

                          ◙◙◙◙◙ میخوام به دوستان یه کتاب معرفی کنم! وقت کردید، بخونید - اسمش هست قرآن، سال نشر 10، نویسنده: خدا . ◙◙◙◙◙

                          دیدگاه

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