اطلاعیه

Collapse
No announcement yet.

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

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

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

    سلام
    من می خوام تو کد ویژن avr یک سری بایت رو به ترتیب توی آدرس های مشخصی از حافظه فلش میکرو mega32 ذخیره کنم و مثلا یک مجموعه 20 کیلوبایتی از اطلاعات تو حافظه فلش 32 کیلوبایتی این میکرو ذخیره بشه تا بعدا اون اطلاعات رو بخونم. حالا می خوام بدونم که چه دستوراتی برای خواندن و نوشتن روی یک آدرس مشخص از حافظه فلش میکرو در زبان C باید استفاده کنم.
    راسته یه سوال دیگه: برنامه نوشته شده برای میکرو در کجا ریخته میشه؟ تو حافظه فلش؟ اگر تو فلش ریخته میشه پس من این اطلاعاتی که میخوام ذخیره کنم رو کجا ذخیره کنم؟ در ادامه برنامه اصلی؟
    راستی حافظه eeprom واسه چیه؟ oo:

    #2
    پاسخ : یک سوال برنامه نویسی کدویژن دارم

    عملا همه داده هایی که ممکنه عوض بشن بایستی توی رم نگهداری بشن. ولی با قطع برق محتویات رم هم پاک میشه. بخاطر همین میان از ایپرام استفاده میکنن. کند تر هست ولی با قطع برق اطلاعاتش از بین نمیره. موارد ثابت رو هم (که البته کد هم یکی از اونهاست) داخل فلش قرار میدن. میشه توی این محدوده نوشت. ولی نه به راحتی. بنا براین شما همون "نمیشه" رو در نظر بگیرین بهتره.
    موقع تعریف یک داده مثلا یک آرایه فقط کافیه قید کنین flash تا اون رو توی فلش قرار بده. خوندنش رو هم خود کامپایلر تشخیص میده. اگر هم حجم کدتون زیاد بود و ایضا نمیخوایین دسترسی تصادفی به اطلاعاتتون داشته باشین میتونین از ایپرامهای سریال هم استفاده کنین یا هر مورد دیگه ای مثل آی سی بزرگتر یا mmc یا حتی هارد دیسک.

    دیدگاه


      #3
      پاسخ : یک سوال برنامه نویسی کدویژن دارم

      سلام
      یه متن برنامه برای avr بدستم رسیده که فایلش با پسوند asm هست. به نظر من به زبان اسمبلی برای avr نوشته شده. یه تیکه ازش میذارم لطفا ببینید درسته؟
      .include "tn13def.inc"

      .equ INPUT =2 ;PB2 input

      .def S =R0 ;Storage for the Status Register
      .def inttemp =R1 ;Temporary variable for ISR
      .def ref1 =R2 ;Reference for timing
      من فقط با بسکام یکم آشنام.
      قصدم دریافت فایل هگز از این برنامه هست.
      فکر کردم باید با کدویژن این کار رو بکنم. وقتی این متن رو توی کدویژن باز کردم، هیچ کدوم از کلمات رنگی نشدند و کلید های مربوط به کامپایل خاموش بودند.
      فقط فایل هگز این برنامه رو میخام. لطفا بگید، باید چیکار کنم؟

      دیدگاه


        #4
        پاسخ : یک سوال برنامه نویسی کدویژن دارم

        ممکنه. با کد ویژن نمیتونین هگز این سورس رو بگیرین. چون کد ویژن کامپایلر سی هست. نه اسمبلر. این سورس رو هم با اسمبلر اتمل یعنی avrasm باید assemble کنین.

        دیدگاه


          #5
          پاسخ : یک سوال برنامه نویسی کدویژن دارم

          بنابه فرمایش شما کدویژن رو گذاشتم کنار، نرم افزار AVR studio 4 رو نصب کردم. بعضی کلمات متن برنامه تو این محیط ، رنگی شده ، معلومه باهاش ارتباط بر قرار کرده. ولی چند ساعته باهاش دارم سروکله میزنم، هنوز نتونستم بهش بفهمونم نا برام کامپایلش کنه.
          دیگه داره خستم میکنه.
          یه کامپایلر ساده برای AVR اسمبلی.
          راستی بطور قطع زبان برنامه ای رو که بالا گذاشتم برام نگفتین!

          دیدگاه


            #6
            پاسخ : یک سوال برنامه نویسی کدویژن دارم

            برنامه تون به احتمال زیاد اسمبلی بر اساس میکروی ATtiny13 هستش. ولی سورس کامل احتیاجه تا بشه براتون اسمبل کرد و هگزش رو تولید کرد.

            دیدگاه


              #7
              پاسخ : یک سوال برنامه نویسی کدویژن دارم

              نوشته اصلی توسط رضا آقازاده
              موارد ثابت رو هم (که البته کد هم یکی از اونهاست) داخل فلش قرار میدن. میشه توی این محدوده نوشت. ولی نه به راحتی. بنا براین شما همون "نمیشه" رو در نظر بگیرین بهتره.
              آقا من میخوام بنویسم چیکار باید بکنم

              دیدگاه


                #8
                پاسخ : یک سوال برنامه نویسی کدویژن دارم

                اولا یک سری به شرح دستور SPM در فایل راهنمای دستورالعمل ها بزنین.
                ثانیا حواستون باشه که این دستور فقط از داخل boot section قابلیت اجرا داره. البته نمیدونم این مورد به این صورته که باید حتما از boot loader استفاده بشه یا میشه روال مربوط به نوشتن یک page یا word رو درون این آدرس قرار داد و بعد از application area صداش کرد!

                دیدگاه

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