برگزیده های پرشین تولز

زبان اسمبلی برای AVR

leadertime

Registered User
تاریخ عضویت
22 ژانویه 2006
نوشته‌ها
479
لایک‌ها
78
سلام خوبید؟ می خواستم یه سوال بپرسم. کسی یک اسمبلر خوب برای ای وی آر سراغ داره؟
 

reza.analog

کاربر تازه وارد
تاریخ عضویت
6 مارس 2007
نوشته‌ها
38
لایک‌ها
0
محل سکونت
Tabriz
خوب اگه اشتباه نکنم avr studio امکانات خوبی برای برنامه نوسی اسمبلی داره
ولی بهتره اسمبلی رو فقط در حد آشنائی بخونی و باهاش ور نری
چون معماری RISC یه کم برنامه نویسی با دستورات اسمبلی اش سخت تره
موفق باشی:)
 

leadertime

Registered User
تاریخ عضویت
22 ژانویه 2006
نوشته‌ها
479
لایک‌ها
78
خوب اگه اشتباه نکنم avr studio امکانات خوبی برای برنامه نوسی اسمبلی داره
ولی بهتره اسمبلی رو فقط در حد آشنائی بخونی و باهاش ور نری
چون معماری RISC یه کم برنامه نویسی با دستورات اسمبلی اش سخت تره
موفق باشی:)

من حقیقتش با کدویژن برنامه مینویسم. ولی یه جاهایی نمیدونم دقیقا باید چیکار کنم برای مثال توی مبدل های آنالوگ به دیجیتال میکرو یک جوری رفتار میکنه که من فکر می کنم پارامترهایی که توی کدویژن انتقال میدم مقدار دهیشون اشتباه هستش برای همین هم میخواستم اسمبلی رو یاد بگیرم. بعدش هم خداییش برنامه نویسی به زبان ماشین یه حال دیگه ای داره.
به هر حال من AVR studio رو میبینم ببینم مشکلم رو برطرف میکنه یا نه. از راهنماییتون ممنون.
 

reza.analog

کاربر تازه وارد
تاریخ عضویت
6 مارس 2007
نوشته‌ها
38
لایک‌ها
0
محل سکونت
Tabriz
با سلام
توی مبدل آنالوگ به دیجیتال مقدار واقعی با مقدار دلخواه شما تفاوت فاحشی داره؟؟؟؟
این ممکنه به سخت افزارتون هم مربوط باشه چون خود دیتا شیت هاشم توصیه های زیادی مخصاص برای ADC داره
خوب اسمبلی هم خبوه ولی باز می گم توی معماری RISC سرعت دستورات زیادتره ولی برنامه نویسی اون سخت تر شده
واسه همینه که زیاد روی برنامه نویسی سطح بالا توصیه میشه
ای وی ار استودیو هم از لحاظ شبیه سازی خیلی قویه

موفق باشی:happy:
 

leadertime

Registered User
تاریخ عضویت
22 ژانویه 2006
نوشته‌ها
479
لایک‌ها
78
با سلام
توی مبدل آنالوگ به دیجیتال مقدار واقعی با مقدار دلخواه شما تفاوت فاحشی داره؟؟؟؟
این ممکنه به سخت افزارتون هم مربوط باشه چون خود دیتا شیت هاشم توصیه های زیادی مخصاص برای ADC داره
خوب اسمبلی هم خبوه ولی باز می گم توی معماری RISC سرعت دستورات زیادتره ولی برنامه نویسی اون سخت تر شده
واسه همینه که زیاد روی برنامه نویسی سطح بالا توصیه میشه
ای وی ار استودیو هم از لحاظ شبیه سازی خیلی قویه

موفق باشی:happy:

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

reza.analog

کاربر تازه وارد
تاریخ عضویت
6 مارس 2007
نوشته‌ها
38
لایک‌ها
0
محل سکونت
Tabriz
با سلام دوست عزیز
منظور شما از اینکه فرمت فایل هگز چیه؟

منظورتون اینکه
1- فایل هگز چه نوع فایلیه؟؟؟؟
2- و وقتی برنامه شما کامپایل میشه و اون تولید میشه با اون باید چی کار بکنید

شما برای پروگرم کردن میکرو می تونی از دوفایل obj. یاhex. استفاده بکنی


مشکلتون دقیقا چیه؟؟
موفق باشی:)
 

leadertime

Registered User
تاریخ عضویت
22 ژانویه 2006
نوشته‌ها
479
لایک‌ها
78
با سلام دوست عزیز
منظور شما از اینکه فرمت فایل هگز چیه؟

منظورتون اینکه
1- فایل هگز چه نوع فایلیه؟؟؟؟
2- و وقتی برنامه شما کامپایل میشه و اون تولید میشه با اون باید چی کار بکنید

شما برای پروگرم کردن میکرو می تونی از دوفایل obj. یاhex. استفاده بکنی


مشکلتون دقیقا چیه؟؟
موفق باشی:)

فرمت یعنی اینکه نحوه قرار گرفتن اطلاعات در فایل به چه شکلی هستش و من هم دقیقا همین رو میخوام بدونم که اگر خواستم اطلاعات رو بچینم دقیقا به چه شکلی باید این کار رو انجام بدم. ببینید اکثر فایل ها یک هدر دارند که توی این هدر اطلاعات مربوط به فایل از قبیل طول فایل و ... توش قرار میگیره. نحوه چیدمان و ترتیب اطلاعات هم که همون فرمت هستش. در حقیقت مسئله سر اینه که طول فایل OBJ با HEX فرق میکنه و به همین علت هم من فکر میکنم فرمتشون باید کاملا فرق یکنه برای اینکه فایل obj طولانی تره.
البته من این رو نمیدونستم که میشه از فایل obj برای پروگرم کردن میکرو استفاده کرد. حالا آزمایش میکنم ببینم، اگر بشه که خیلی خوبه چون اسمبلر AVR studio فایل obj رو تولید میکنه.
 

reza.analog

کاربر تازه وارد
تاریخ عضویت
6 مارس 2007
نوشته‌ها
38
لایک‌ها
0
محل سکونت
Tabriz
با سلام
دوست عزیز من فقط با شالوده اسمبلی و کد هگز اون یعنی آپ کد توی خانواده Mc51 آشنائی دارم در مورد اتمیل اطلاعی فعلا ندارم

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

موفق باشی:)
 

tkavosh

Registered User
تاریخ عضویت
24 مارس 2005
نوشته‌ها
736
لایک‌ها
71
محل سکونت
مشهد
اگر فایل های asm و obj را با برنامه notepad یا word باز کنید تا حدودی تفاوت این دو را می بینید
فایل obj حاوی فایل hex هست + توضیحات و فرم بندی موجوددر فایل asm به عبارتی ادغامی از hex و asm
ولی ظاهرا این کار را بطور کامل انجام نمیدهد و در واقع فایل obj حاوی asm نیست بلکه ادرس فایل asm را در خود قرار میدهد و به محل های مختلف ان اشاره میکند به همین دلیلی با پاک کردن فایل asm و باز کردن فایل objتوضیحات و قالب بندی در برنامه avr studio نشان داده نمیشود و فقط چیزی شبیه فایل hex نشان داده میشود

فایل hex فقط شامل دستورات اسمبلی هست( که توسط اسمبلر به کد های متناظر ان تبدیل شده است)
بطور مثال کد 0000 به معنای دستور nop هست و کد 9508 برای reti (در مبنای 16= هگز) و یا کد های دیگری که حاوی دستور و اطلاعات مربوط به ان دستور نیز هستند.
با باز کردن فایل هگز در notepad این کدها را میبینید

برای تبدیل برنامه خود به فایل هگز ابتدا یک پروژه جدید از نوع assembler در avr studio بسازید(متناسب با میکرو مورد استفاده) و سپس در پنجره فایل asm همنام با پروژه ، برنامه خود را ( copy & past ) و یا تایپ کنید و سرانجام با فشردن build ، فایل های hex و obj و ... ساخته میشوند

با یاد گیری زبان asm و استفاده از ان در زبانهای دیگر، به سهولت برنامه نویسی زبان های سطح بالا تر + قدرت ، سرعت و مانور بیشتر زبان اسمبلی ، دست خواهیم یافت

شما در برنامه codvision می توانید دستورات اسمبلی را وارد کنید و برنامه خود را بطور کامل با اسمبلی و یا در کنار C بنویسید و به فایل hex نیز تبدیل کنید و احتیاجی به برنامه avr studio نیز نخواهید داشت
 

leadertime

Registered User
تاریخ عضویت
22 ژانویه 2006
نوشته‌ها
479
لایک‌ها
78
اگر فایل های asm و obj را با برنامه notepad یا word باز کنید تا حدودی تفاوت این دو را می بینید
فایل obj حاوی فایل hex هست + توضیحات و فرم بندی موجوددر فایل asm به عبارتی ادغامی از hex و asm
ولی ظاهرا این کار را بطور کامل انجام نمیدهد و در واقع فایل obj حاوی asm نیست بلکه ادرس فایل asm را در خود قرار میدهد و به محل های مختلف ان اشاره میکند به همین دلیلی با پاک کردن فایل asm و باز کردن فایل objتوضیحات و قالب بندی در برنامه avr studio نشان داده نمیشود و فقط چیزی شبیه فایل hex نشان داده میشود

فایل hex فقط شامل دستورات اسمبلی هست( که توسط اسمبلر به کد های متناظر ان تبدیل شده است)
بطور مثال کد 0000 به معنای دستور nop هست و کد 9508 برای reti (در مبنای 16= هگز) و یا کد های دیگری که حاوی دستور و اطلاعات مربوط به ان دستور نیز هستند.
با باز کردن فایل هگز در notepad این کدها را میبینید

برای تبدیل برنامه خود به فایل هگز ابتدا یک پروژه جدید از نوع assembler در avr studio بسازید(متناسب با میکرو مورد استفاده) و سپس در پنجره فایل asm همنام با پروژه ، برنامه خود را ( copy & past ) و یا تایپ کنید و سرانجام با فشردن build ، فایل های hex و obj و ... ساخته میشوند

با یاد گیری زبان asm و استفاده از ان در زبانهای دیگر، به سهولت برنامه نویسی زبان های سطح بالا تر + قدرت ، سرعت و مانور بیشتر زبان اسمبلی ، دست خواهیم یافت

شما در برنامه codvision می توانید دستورات اسمبلی را وارد کنید و برنامه خود را بطور کامل با اسمبلی و یا در کنار C بنویسید و به فایل hex نیز تبدیل کنید و احتیاجی به برنامه avr studio نیز نخواهید داشت

خیلی ممنون.
 

nibilala

کاربر تازه وارد
تاریخ عضویت
10 اکتبر 2005
نوشته‌ها
4
لایک‌ها
0
سلام دوستان
در مورد مبدل آنالوگ مگا32 و به زبان اسمبلی چندتا سوال داشتم.
در این دو خط:
ldi r16,0b11100000
out admux, r16

admux چیه؟
همینطور adcsra و sfior و چندتای دیگه.
ممنون میشم راهنماییم کنید.
 

mhsnrah

Registered User
تاریخ عضویت
28 آگوست 2007
نوشته‌ها
340
لایک‌ها
41
محل سکونت
تهران
بالا