PDA

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



sarutobi
26-11-2011, 20:51
سلام
میخواستم بدونم چطور میشه برنامه یه میکروی پروگرام شده رو خوند و فهمید که روی چه کریستالی تنظیم شده ؟
من با progisp کار میکنم توی اون با گزینه read flash برنامه رو خوندم و یه فایل با پسوند bin درست کردم ، آیا میشه که مثلا نوع میکرو رو توی این فایل عوض کنم؟ یعنی این برنامه ای که بدست اوردم مال مگا48 باشه و من روی مگا 8 بریزمش؟
هر اطلاعاتی که به من بدین ممنونتون میشم.

sadmonew
26-11-2011, 22:39
با سلام
دوست عزيز برنامه رو ميتوني روي مگا 8 پروگرام كني . خودم اين كارو كردم و جواب هم داده.

sarutobi
26-11-2011, 22:58
با سلام
دوست عزيز برنامه رو ميتوني روي مگا 8 پروگرام كني . خودم اين كارو كردم و جواب هم داده.
سلام خیلی ممنون
تو این مورد به جواب نداده میکروی جدید رو وقتی روی برد میذارم اصلا کار نمیده
الان مگا48 ندارم ولی میخرم ببینم روی اون جواب میده یا نه
کسی اطلاع داره که چطور میشه فیوز بیتای میکروی اصلی رو فهمید یا این فایل با پسوند .bin رو ویرایش کرد؟
اصلا وقتی یه فایل bin رو روی میکرو میریزی باید تغییر خاصی نسبت به وقتی که فایل hex رو میریزی بدی؟
چون من اومدم یه برنامه ساده نوشتم که هر یک ثانیه یک کلمه رو به پورت سریال بفرسته ، فرکانس برنامم هم 8 مگاهرتز بود ، بعد برنامه رو روی میکرو ریختم و بعدش برنامه ی روی میکرو رو از میکرو به روی کامپیوتر کپی کردم و حافظه میکرو رو پاک کردم و برنامه کپی شده رو دوباره روی میکرو ریختم ( با تنظیم فیوزبیت ها روی 8 مگا هرتز ) برنامه کار میکرد ولی بجای اینکه هر 1 ثانیه متنو بفرسته ، توی هر ثانیه چند بار متنو میفرستاد.

sadmonew
26-11-2011, 23:07
کسی اطلاع داره که چطور میشه فیوز بیتای میکروی اصلی رو فهمید
دوست عزيز اينكه كاري نداره البته اگه يه پروگرامر خوب داشته باشي من يه nus112 دارم كه خيلي خوب ميتونم تك تك فيوزبيتا رو بخونم و عوضشون كنم.


________________________
You can see links before reply
________________________

sarutobi
26-11-2011, 23:22
دوست عزيز اينكه كاري نداره البته اگه يه پروگرامر خوب داشته باشي من يه nus112 دارم كه خيلي خوب ميتونم تك تك فيوزبيتا رو بخونم و عوضشون كنم.


________________________
برنامه نويسي، الكترونيك(PE) (You can see links before reply)
________________________
میشه توضیح بدین از چه نرم افزاری برای این کار استفاده میکنید؟ اطلاع دارید که progisp
هم این امکان رو داره یا نه؟البته برای فیوز بیتای مربوط به کریستال میشه سعی و خطا هم کرد ، 4 تا فرکانس داخلی معتبر که بیشتر نیستن

sadmonew
26-11-2011, 23:34
من از اين نرم افزار استفاده مي كنم.
ایـــــــــران میـــــــکرو ™ (You can see links before reply)

اينم لينك دانلودش:
You can see links before reply

alimicro
27-11-2011, 00:52
سلام خیلی ممنون
تو این مورد به جواب نداده میکروی جدید رو وقتی روی برد میذارم اصلا کار نمیده
الان مگا48 ندارم ولی میخرم ببینم روی اون جواب میده یا نه
کسی اطلاع داره که چطور میشه فیوز بیتای میکروی اصلی رو فهمید یا این فایل با پسوند .bin رو ویرایش کرد؟
اصلا وقتی یه فایل bin رو روی میکرو میریزی باید تغییر خاصی نسبت به وقتی که فایل hex رو میریزی بدی؟
چون من اومدم یه برنامه ساده نوشتم که هر یک ثانیه یک کلمه رو به پورت سریال بفرسته ، فرکانس برنامم هم 8 مگاهرتز بود ، بعد برنامه رو روی میکرو ریختم و بعدش برنامه ی روی میکرو رو از میکرو به روی کامپیوتر کپی کردم و حافظه میکرو رو پاک کردم و برنامه کپی شده رو دوباره روی میکرو ریختم ( با تنظیم فیوزبیت ها روی 8 مگا هرتز ) برنامه کار میکرد ولی بجای اینکه هر 1 ثانیه متنو بفرسته ، توی هر ثانیه چند بار متنو میفرستاد.
دوست عزیزاین کاردقت بیشتری می خوادازهمه مهمتربایدبه پورتهاتوجه کنیدچون پورت مگا8 مثلابامگا48 فرق می کنه.موفق باشید

armstk
27-11-2011, 05:44
دوست عزیزاین کاردقت بیشتری می خوادازهمه مهمتربایدبه پورتهاتوجه کنیدچون پورت مگا8 مثلابامگا48 فرق می کنه.موفق باشید
آرایش پایه های مگا8 و مگا48 که هیچ فرقی نمیکنه , فقط از لحاظ رمی و فلشی متفاوت هستند

M.ABDOLLAHI
27-11-2011, 08:42
خوب البته رجیستر هاشون هم یک مقدار با هم متفاوته... برای همین بعضی برنامه ها رو جواب نمیده حتی مگا 32 و 16 هم با هم یک فرقهائی داره برنامه کار میکنه ولی به مشکل میخوره من عملا تست کردم ولی بعضی وقتها هم ظاهرا به مشکل نمیخوره...

sarutobi
27-11-2011, 10:56
دوستان خیلی ممنون
درسته آرایش پایه ها توی هر دو تا یکی هست ولی من در اصل سوالم اینه که آیا میشه یه فایل bin. رو ویرایش کرد، وقتی این فایل رو روی میکرو میریزیم باید تنظیمات خاصی رو انجام بدیم؟ این فایل حاوی اطلاعات فیوزبیت های کریستال هم هست؟ چون مشکل پایین وقتی اتفاق افتاد که اطلاعات رو از یک میکرو به خودش برگردوندم ( از یک مگا 8 به یک مگا 8 دیگه) ، اینکه بخوام از یک مگا 48 به یک مگا 8 بریزم جالبه ولی اولیت بعدی منه

چون من اومدم یه برنامه ساده نوشتم که هر یک ثانیه یک کلمه رو به پورت سریال بفرسته ، فرکانس برنامم هم 8 مگاهرتز بود ، بعد برنامه رو روی میکرو ریختم و بعدش برنامه ی روی میکرو رو از میکرو به روی کامپیوتر کپی کردم و حافظه میکرو رو پاک کردم و برنامه کپی شده رو دوباره روی میکرو ریختم ( با تنظیم فیوزبیت ها روی 8 مگا هرتز ) برنامه کار میکرد ولی بجای اینکه هر 1 ثانیه متنو بفرسته ، توی هر ثانیه چند بار متنو میفرستاد.

agape
27-11-2011, 20:48
سلام خیلی ممنون
تو این مورد به جواب نداده میکروی جدید رو وقتی روی برد میذارم اصلا کار نمیده
الان مگا48 ندارم ولی میخرم ببینم روی اون جواب میده یا نه
کسی اطلاع داره که چطور میشه فیوز بیتای میکروی اصلی رو فهمید یا این فایل با پسوند .bin رو ویرایش کرد؟
اصلا وقتی یه فایل bin رو روی میکرو میریزی باید تغییر خاصی نسبت به وقتی که فایل hex رو میریزی بدی؟
چون من اومدم یه برنامه ساده نوشتم که هر یک ثانیه یک کلمه رو به پورت سریال بفرسته ، فرکانس برنامم هم 8 مگاهرتز بود ، بعد برنامه رو روی میکرو ریختم و بعدش برنامه ی روی میکرو رو از میکرو به روی کامپیوتر کپی کردم و حافظه میکرو رو پاک کردم و برنامه کپی شده رو دوباره روی میکرو ریختم ( با تنظیم فیوزبیت ها روی 8 مگا هرتز ) برنامه کار میکرد ولی بجای اینکه هر 1 ثانیه متنو بفرسته ، توی هر ثانیه چند بار متنو میفرستاد.
خوب اگه بخوایم مثاله رو اساسی برسی کنیم چنین حالت هایی به وجود میآد :
میکرو قفل نشده باشه:
که در این صورت بعد از خودن از میکرو شما فایل هکز یا بین نرم افزار نوشته شده رو دریافت خواهی کرد که در واقع همون اسمبلی هست و نمیشه برش گردوند به زبان های سطح بالا و حتی نمیشه نوع میکرو رو از توش تشخیص داد! به هر حال به مشت فرمان اسمبلی رو دریافت خواهید کرد دیگه و اما برنامه ریزی اون رو یه میکروی دیگه تنها در صورتی کار خواهد کرد که دو میکرو با هم هم خوانی داشته باشن به لحاظ امکانات و رجیستر ها ، مثلا برنامه خوانده شده از مگا 16 رو میشه رو مگا 32 پروگرام کرد بدون هیچ مشکلی حتی از مگا 8 میشه ریخت رو مگا 16 یا 32 ولی برعکسش ممکن نیست چون مگا 8 پورت A نداره ، و اگه تو برنامه از اون پورت استفاده شده باشه برنامه هنگ میکنه ، این حالت اول
حالت دوم میکرو قفل شده باشه:
اگر اینطور باشه تو پروسه خوندن مشکلی نخواهد بود ولی فایل دریافتی فایل برنامه نخواهد بود یه فایل هست که به صورت شمارشی توسط میکرو تولید شده یعنی به این صورت بایت اول مقدارش 0 هست باید دوم مقدارش 1 و سوم مقدارش 2 و همینجون تا بایت 256 که مقدارش 255 خواهد بود و بعد 257 مقدارش باز 0 خواهد بود و همینطور تا آخر و این فایل رو نمیشه رو هیچ میکرویی پروگرام کرد که جواب بده چون که برنامه در کار نخواهد بود ! واسه همین میآن میکرو رو قفل میکنن که برنامه لو نره!:hi:

sarutobi
27-11-2011, 21:29
خوب اگه بخوایم مثاله رو اساسی برسی کنیم چنین حالت هایی به وجود میآد :
میکرو قفل نشده باشه:
که در این صورت بعد از خودن از میکرو شما فایل هکز یا بین نرم افزار نوشته شده رو دریافت خواهی کرد که در واقع همون اسمبلی هست و نمیشه برش گردوند به زبان های سطح بالا و حتی نمیشه نوع میکرو رو از توش تشخیص داد! به هر حال به مشت فرمان اسمبلی رو دریافت خواهید کرد دیگه و اما برنامه ریزی اون رو یه میکروی دیگه تنها در صورتی کار خواهد کرد که دو میکرو با هم هم خوانی داشته باشن به لحاظ امکانات و رجیستر ها ، مثلا برنامه خوانده شده از مگا 16 رو میشه رو مگا 32 پروگرام کرد بدون هیچ مشکلی حتی از مگا 8 میشه ریخت رو مگا 16 یا 32 ولی برعکسش ممکن نیست چون مگا 8 پورت a نداره ، و اگه تو برنامه از اون پورت استفاده شده باشه برنامه هنگ میکنه ، این حالت اول
حالت دوم میکرو قفل شده باشه:
اگر اینطور باشه تو پروسه خوندن مشکلی نخواهد بود ولی فایل دریافتی فایل برنامه نخواهد بود یه فایل هست که به صورت شمارشی توسط میکرو تولید شده یعنی به این صورت بایت اول مقدارش 0 هست باید دوم مقدارش 1 و سوم مقدارش 2 و همینجون تا بایت 256 که مقدارش 255 خواهد بود و بعد 257 مقدارش باز 0 خواهد بود و همینطور تا آخر و این فایل رو نمیشه رو هیچ میکرویی پروگرام کرد که جواب بده چون که برنامه در کار نخواهد بود ! واسه همین میآن میکرو رو قفل میکنن که برنامه لو نره!:hi:
خیلی ممنون
پس امکانش هست اون میکرو قفل بوده و من یه فایل خراب ازش بدست اورده باشم
این میکرویی که میخوام ازش کپی بگیرم یه پایش سوخته و صفر و یک نمیشه ولی تمام برنامشو کامل اجرا میکنه میخواستم برنامشو روی یه میکروی سالم بریزم،نمیدونم چرا اینقدر بعضیا اصرار دارن که برای برنامشون قفل بذارن
بابا اگه یه متخصص مدارو ببینه اراده کنه میتونه مشابه مدارو بسازه ، کلا به دوستان توصیه میکنم اگه مداری تولید کردین و واجب نبود قفلش نکنید
ولی هنوز نفهمیدم چرا سرعت اجرای برنامه تغییر کرد

agape
27-11-2011, 22:16
قفل کردن برنامه یه راهکاری حفاظتی هست ، خودتو بذار جای تولید کننده این دستگاه ، حالا شما چنین شرایطی داره ، خیلی ها فقط کپی برداری می کنن، اگه برنامه رو قفل نکنن اون وقت این معادل این مساله است که حق کپی رایت رو در اختیار دیگران قرار دادید ، و مطمئن باشید که اینقد آدم فرصت طلب هست که بخواد کپی بزنن و تولید انبوه کنن !
در مورد سرعت اجرای برنامه احتمالا فیوز بیت ها رو دست زدی !
تغییر فیوز بیت میتونه منجر به تغییر سرعت کلاک خوردن میکرو بشه و در نتیجه تغییر سرعت برنامه کند یا تند شدن اون بشه !

armstk
28-11-2011, 03:42
سلام
فایل bin یا باینری که اگر ما ببینمی چیزی ازش نمیفهمیم , بعید هم میدونم که بشه با یک ادیتور دستکاریش کرد
ولی به احتمال خیلی خیلی زیاد اگر مقدار کلی فلش کمتر از 4 کیلو بیت باشه , میشه به جایه atmega8 از atmega48 استفاده کرد

agape
28-11-2011, 08:15
سلام
فایل bin یا باینری که اگر ما ببینمی چیزی ازش نمیفهمیم , بعید هم میدونم که بشه با یک ادیتور دستکاریش کرد
ولی به احتمال خیلی خیلی زیاد اگر مقدار کلی فلش کمتر از 4 کیلو بیت باشه , میشه به جایه atmega8 از atmega48 استفاده کرد
فایل باینری و یا هکز رو میشه با دیس اسمبلر به برنامه اسمبی تبدیل کرد!
یکی از دیس اسمبلر ها برنامه AVRstudio هست که میشه باهاش دیس اسم کرد!
ولی خوب تغییر یه برنامه اسمبلی کار هر کسی نیست!