আরডুইনো ইউনোকে আইএসপি হিসাবে ব্যবহার করার সময় "হায়! অবৈধ ডিভাইস স্বাক্ষর "এর অর্থ একটি খারাপ সংযোগ, খারাপ কনফিগারেশন, বা এর্দুডের খারাপ সংস্করণ?


12

আমি একটি আরডিনো ইউএনও ব্যবহার করছি একটি এটিটিইউইউ 45 তে প্রাক-সংকলিত হেক্স চিত্রটি উইন্ডোজ 7.-তে আড়ডুইনো আইডিই ডিরেক্টরিতে অ্যাড্রুড ব্যবহার করে The ডাল সুন্দরভাবে।

হার্ডওয়্যার সাইডে আমার এই সেটআপটি রয়েছে , এটিটিইএনটিওয়াই পৃষ্ঠতল-মাউন্ট ব্যতীত, ভোল্টমিটার দিয়ে যাচাই করা-সোনার্ডযুক্ত সমস্ত পিন সহ একটি সার্ফবোর্ডে সোনার্ড করা হয়েছে। ইউনো থেকে এটিটি-তে সংকেত পেতে, সার্ফবোর্ডের সাথে স্পর্শযুক্ত পিনগুলি পেতে আমি একটি হ্যাডার-পিন স্ট্রিপ ব্যবহার করি।

আইডিইর ডিবাগিং আউটপুটটি দেখে আমি কমান্ড লাইনগুলি দিয়েছি:

REM set the fuse for 8MHz, so the ISP programmer can work
C:\Progra~1\Arduino\hardware\tools\avr\bin\avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -e -Uefuse:w:0xff:m -Uhfuse:w:0xdf:m -Ulfuse:w:0xe2:m 
REM load the program
C:\Progra~1\Arduino\hardware\tools\avr\bin\avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -Uflash:w:firefly.hex:i
REM set fuse for 1MHz, as the project requires
C:\Progra~1\Arduino\hardware/tools/avr/bin/avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -e -Uefuse:w:0xff:m -Uhfuse:w:0xdf:m -Ulfuse:w:0x62:m 

আমি এগুলি পৃথকভাবে চালানোর চেষ্টা করি, তবে সর্বদা এই ত্রুটিটি পাই:

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
     Double check connections and try again, or use -F to override
     this check.

তবে কখনও কখনও সংখ্যাটি ff0000 বা ffff00 বা ffffff হয়

আমি পড়েছি যে "আরডুইনো আরডুইনো বোর্ডে স্কেচগুলি আপলোড করতে আর্দুডের একটি সামান্য পরিবর্তিত সংস্করণ ব্যবহার করে the বোর্ডের ডিভাইসের স্বাক্ষরের জন্য স্ট্যান্ডার্ড সংস্করণটি এমনভাবে জিজ্ঞাসা করে যা বুটলোডার দ্বারা বোঝা যায় না, যার ফলে এই ত্রুটি হয়।" এর অর্থ কি এই যে এরদুইনো আরডুডকে নতুন এটিটিন চিপ দিয়ে কোনও বুটলোডার ব্যবহার করাও একই ত্রুটির কারণ হতে পারে? অন্য কথায়, সংশোধিত আর্দুড কি নন-আরডিনো-বুটলোডেড এভিআর চিপ জিজ্ঞাসা করতে অক্ষম?

বা সেই ত্রুটিটির অর্থ কি সহজেই বোঝা যাচ্ছে যে আমার সমস্ত প্রোগ্রামার পিন এবং এটিটির মধ্যে আমার কোনও ভাল যোগাযোগ নেই?

এবং, কী ফিউজ সেটিংসের সত্যই প্রয়োজনীয়তা রয়েছে, ইউনো কি 1 মেগাহার্টজ এ চালিত অ্যাটিনিতে ফ্ল্যাশ প্রোগ্রাম করতে পারে এবং এইভাবে আমাকে কিছু পদক্ষেপগুলি সংরক্ষণ করতে পারে?

(আমি কেবল একটি "সত্যিকারের" প্রোগ্রামার কিনেছি, তবে পরবর্তী দুই দিনের মধ্যে এই কোডটি নেওয়া দরকার এবং নোভা স্কটিয়ার একটি গ্রামাঞ্চলে আছি)


প্রোগ্রামার সেট করার চেষ্টা করুন -c avrisp। আমি মনে করি আপনি সমস্যা ছাড়াই এটি 1 মেগাহার্টজ এ প্রোগ্রাম করতে পারেন।
ব্যবহারকারী 2973

1
আমি যখন আরডুইনো আইডিই থেকে আপলোড করি এবং প্রোগ্রামারটিকে " -carduinoআরডুইনো হিসাবে আইএসপি হিসাবে সেট করি" এটি স্টক 500 ব্যবহার করে না। কেবল আইডিই থেকে জ্বলজ্বলে প্রোগ্রামটি অ্যাটিলিটিতে আপলোড করার চেষ্টা করুন। আপনি সেটিংসে "ভার্বোজ আউটপুট" সক্ষম করলে নীচে সঠিক কমান্ডলাইনটি দেখতে পাবেন।
গারবেন

আপনি কি প্রথমে আরডুইনোআইএসপি স্কেচ আপলোড করেছেন?
ফিলিএনজে

ফিল, আমি এই পদক্ষেপগুলির আগে ইউনোতে আরডুইনোআইএসপি স্কেচটি লোড করেছি, এটি সফল হয়েছে এবং আমি পিন 9 ডালটিতে সবুজ "হার্টবিট" এলইডি দেখছি। গারবেন / ইউজার 2973, আমি "-কার্ডুইনো" চেষ্টা করেছিলাম, আমি "-c এরিস্কিপ" চেষ্টা করব ধন্যবাদ।
ইয়ারি

এটি দেখতে আইএসপি <-> লক্ষ্য সংযোগ ইস্যুর মতো। আপনার সার্কিটের এমন কিছু যা লাইনগুলি লোড করা যেতে পারে? এটিটিনি ফিউজগুলি কি এখনও অভ্যন্তরীণ ঘড়ির জন্য সেট করা আছে, বা আপনি কোনও বাহ্যিক সরবরাহ করছেন? আপনি কি নিশ্চিত যে আপনার চারটি সিগন্যাল ওয়্যার এবং গ্রাউন্ড সংযুক্ত এবং সঠিক ক্রমে রয়েছে? সম্ভবত আপনি সেটাকে সেটআপটি পরীক্ষা করে নিন কেবল এটি যাচাই করা আপনার হাত দ্বারা চালিত পদ্ধতি নয় (যদিও আমি এটিও ব্যবহার করেছি)
ক্রিস স্ট্রাটন

উত্তর:


12

সংযোগটি ভাল ছিল তা নিশ্চিত হওয়ার জন্য আমি প্যাডগুলিতে তারগুলি সোল্ডারড করেছিলাম এবং ইউএনও থেকে প্রোগ্রামিংয়ের জন্য এই তারগুলি ব্যবহার করি। তারপরে প্রোগ্রামারটি প্রশ্নটিতে পোস্ট করা কমান্ড লাইনে কোনও সম্পাদনা ছাড়াই কাজ করেছিল। আমি কয়েকটি প্রকারভেদ করেছি এবং আমার সমস্ত প্রশ্নের উত্তর দিতে সক্ষম হয়েছি এবং এর বাইরে আরও কয়েকটি:

  1. "ইয়াইকস! অবৈধ ডিভাইস স্বাক্ষর" ত্রুটিটি প্রোগ্রামার (ইউনো) এবং এটিটিআইএন পিনের মধ্যে দুর্বল যোগাযোগের কারণে ঘটছিল।

  2. নতুন মাইক্রোকন্ট্রোলারে না থাকলে বুটলোডারটির সাথে এর কোনও যোগসূত্র ছিল না। নতুন ATTINY45 চিপের ইন-সার্কিট প্রোগ্রামারটি কাজ করার জন্য কোনও বুটলোডার প্রয়োজন নেই।

  3. ইউনো এটিটিআইটিআইএন 45 এর যে কোনও গতিতে 1MHz বা 8MHz এর জন্য কনফিগার করা প্রোগ্রাম করতে পারে। কারখানার সেটিংস ঠিক আছে, এবং ফিউজ পরিবর্তন করার প্রয়োজন নেই।

  4. দুটি আর্দুড সংস্করণ প্রোগ্রামিংয়ের জন্য কাজ করেছে - লেখকের সাইট থেকে 6.১ এবং আরডুইনো আইডিই থেকে পরিবর্তিত সংস্করণ।

  5. avrdude কোন ব্যবহার Uno মাধ্যমে করতে পারেন প্রোগ্রাম -c avrisp, -c arduinoঅথবা -c stk500v1, তাই না ব্যাপার না।

একটি ছোট্ট প্রশ্নের উত্তর আমি দিতে সক্ষম হলাম না, এটি ছিল ইউনো প্রোগ্রামগুলির গতি (আড়ডিনো আই / ও পিন এবং মাইক্রোকন্ট্রোলারের মধ্যে যোগাযোগের গতি ঝলকানো) speed এটি সিরিয়াল বন্দর গতির সাথে সম্পর্কিত? তবে এই সমস্যার উত্তর দেওয়ার জন্য এটি প্রাসঙ্গিক নয়। যথেষ্ট উত্সাহী কিনা অন্য কেউ এটি জিজ্ঞাসা করতে পারেন।


2
আরডুইনোআইএসপি এসপিআই ইন্টারফেসটিকে ঘড়ি / 128 এ সেট করে, সুতরাং 16 মেগাহার্টজ আনো জন্য সংযুক্ত এভিআর 16 মেগাহার্জ / 128 = 125 কেবিট / সেমে প্রোগ্রাম করা হয়। তবে সীমাবদ্ধ কারণগুলি হ'ল সিরিয়াল গতি এবং যখন PROG_FLICKER সেট করা থাকে তখন প্রতিটি পৃষ্ঠা কমিটের জন্য 30 এমএস বিলম্বিত করা হয়।
ব্যবহারকারী 2973

4

আমার ঠিক এই সমস্যা ছিল যদি এটিটিনি বাহ্যিক ঘড়ির জন্য সেট করা থাকে, তবে আরডুইনোআইএসপি এটি কোনও বাহ্যিক স্ফটিক ছাড়া প্রোগ্রাম করতে সক্ষম হবে না। একটি 16 মেগাহার্জ স্ফটিক এবং 2 ক্যাপাসিটার সংযুক্ত এবং পুরোপুরি কাজ করেছে।

(তখন আমি এটিটিনিকে অভ্যন্তরীণ ঘড়িতে সেট করতে, স্ফটিকটি সরাতে এবং স্ফটিক ছাড়াই পুরোপুরি কাজ করতে সক্ষম হয়েছি))


1

ইতিমধ্যে সেট করা থেকে বোর্ড এবং তাদের ফিউজ বিবরণ যুক্ত করুন এবং এটি কার্যকর হবে।

কেবল যুক্ত করার C:\Program Files\Arduino\hardware\arduino\avr\boards.txtজন্য এবং বোর্ডের বিবরণ যুক্ত করুন।

########
############ Definitions for ATmega 8MHz 
##############################################################
atmega16-8.name=Atmega16 (internal 8MHz clock)

atmega16-8.upload.tool=avrdude

atmega16-8.upload.protocol=stk500v1

atmega16-8.upload.maximum_size=14336
atmega16-8.upload.speed=19200

atmega16-8.bootloader.low_fuses=0xE8
atmega16-8.bootloader.high_fuses=0x99

atmega16-8.build.mcu=atmega16
atmega16-8.build.f_cpu=8000000L
atmega16-8.build.core=arduino:arduino
atmega16-8.build.variant=mega16

##############################################################
############################

আমি এটি ব্যবহার করেছি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.