Karena untuk usaha saya dalam Microprocessing saya memutuskan untuk pergi dengan Atmel AVR karena sumber daya yang luas tersedia. Dan Arduino tampaknya memiliki banyak juga, belum lagi kit starter mereka tampaknya lebih "pada level saya"
Masalahnya adalah saya ingin mempelajarinya di Assembly terlebih dahulu, dan kemudian pergi ke C / C ++ atau w / e Arduino menggunakan, tetapi ive mendengar Arduino tidak akan mengambil perakitan AVR? Apakah ini benar? Apakah ada cara lain untuk itu?
Terima kasih
sunting: Saya akan menggunakan ATMEL STK500 tapi..untuk timer pertama terlihat SANGAT rumit? Apakah ada alasan mengapa saya tidak bisa hanya mendapatkan AVR 8 bit dan menaruhnya di atas papan tempat memotong roti dan bereksperimen dengan cara itu? (saya kira saya harus mencari cara antarmuka mereka ....)
sunting2: Ini yang saya pikirkan
http://www.adafruit.com/index.php?main_page=product_info&cPath=17&products_id=193
Jawaban:
Papan Arduino dapat diprogram dalam perakitan. Yang Anda butuhkan hanyalah kabel ICSP Cable (In Circuit Serial Programmer) dan AVR toolchain (bebas dari ATMEL) untuk menulis ke papan tulis. Anda kemudian mendapatkan keuntungan dari debugging di papan.
Seperti yang Anda sarankan, Anda bisa menampar chip ATMEL di papan tempat memotong roti dan pergi ke kota.
Kit yang Anda referensikan tampak seperti titik awal yang bagus. Anda dapat mengambil chip langsung dari papan dan menempelkannya di papan tempat memotong roti Anda sendiri (selama itu memiliki daya yang diatur dengan benar dan Anda menghitung waktunya).
sumber
IDE Arduino dapat "diperbaiki" untuk mengakomodasi kode Majelis. Inilah wiki: http://www.cs.nmsu.edu/~jcook/arduino/index.php?n=Notes.AssemblyMods
sumber
Sejauh yang saya tahu seharusnya tidak ada yang spesifik tentang bootloader Arduino yang dapat mencegah Anda menggunakan perakitan alih-alih C. Arduino IDE mungkin menyulitkan Anda untuk mengunggah file .hex Anda sendiri tetapi sepertinya bootloader Arduino kompatibel dengan STK500 sehingga Anda harus dapat menggunakannya dengan avrdude.
sumber
Papan Arduino (Uno dan Duemilanove bagaimanapun juga) memiliki konektor pemrograman AVR standar yang didukung oleh programmer Atmel dan debugger melalui AVR Studio. Studio mendukung assembler dan C. Programmer yang cocok adalah AVRISP MkII, dan AVR Dragon menawarkan pemrograman dan debugging. Saya akan mendapatkan yang terakhir, ini lebih mahal dari $ 50, tetapi fasilitas debug sangat berharga. Anda juga dapat menggunakan alat-alat itu dengan chip AVR standar (bukan Arduino) yang dicolokkan ke papan tempat memotong roti atau PCB.
sumber
Arduino terdiri dari dua bagian: perangkat keras dan IDE. IDE terutama (jika tidak sepenuhnya) membatasi Anda ke C dan C ++ (dengan beberapa gula sintaks yang telah dilemparkan oleh pengembang untuk membuatnya sedikit lebih seperti Memproses / Java). Ada kemungkinan bahwa IDE akan mengenali file .s atau .S di direktori yang sama dengan sketsa standar (.pde), tetapi saya tidak akan membiarkan hal itu terjadi.
Tidak ada yang istimewa dengan perangkat kerasnya. Ini adalah papan yang bagus dan ramah dengan banyak fitur bagus yang akan dihargai oleh μC neophytes, tetapi jika Anda hanya ingin memprogram AVR melalui header ISP, Anda juga dapat melakukannya. Anda akan memerlukan sesuatu seperti mkII Atmel AVRISP , atau programmer lain yang bekerja dengan konektor baris 2x3 pada papan Arduino. Cari yang kompatibel dengan program avrdude yang akan Anda gunakan untuk mengunggah aplikasi Anda. Jauhi USBtinyISP Adafruit; Saya sangat beruntung dan akhirnya membeli Atmel yang saya tautkan dengan harga kurang dari $ 40 dari Mouser.
sumber
Tidak sulit sama sekali.
http://www.dwelch.com/arduino/
Anda perlu melihat saya pikir ser.c di halaman saya untuk memilih kartu yang mana. beberapa menggunakan kecepatan port serial yang berbeda secara default, dan skema reset yang berbeda untuk masuk ke mode pemrograman. Jika Anda melihat firmware Arduino Anda menemukan bahwa hampir tidak ada perintah pemrograman avr yang benar-benar didukung. Lagipula tidak benar-benar membutuhkannya.
sumber
Aruduino benar-benar dapat diprogram dalam perakitan. Dan Anda bahkan tidak memerlukan kabel ICSP untuk melakukannya!
Oke, adil, ini tidak sama dengan pemrograman dalam perakitan murni dari bawah ke atas.
Tetapi Anda dapat inline assembly dalam C. Yang berarti Anda dapat memuat kode ke Arduino Anda yang memiliki inline assembly, yang kemudian akan dieksekusi. Pertimbangkan perpustakaan TVOut , yang memungkinkan Arduino untuk output NTSC / PAL ke TV.
Pustaka itu sangat sensitif terhadap waktu (karena dikeluarkan ke TV, setiap scanline harus ditulis pada waktu yang tepat.) Jadi, perpustakaan itu menggunakan perakitan inline untuk mempercepat prosesnya. Melihat baris 89 file ini dari perpustakaan, penulis menggunakan beberapa makro rakitan yang ia tulis.
Sekarang. Saya menduga dia tidak menulisnya menggunakan IDE Arduino default. Tetapi pustaka ini memanggil kode asm inline-nya, yang dapat diimpor, dikompilasi, dan dieksekusi melalui antarmuka mereka.
Semoga berhasil!
sumber
Arduino dapat diprogram dengan perakitan menggunakan GCC-AVR Inline Assembler periksa tautan ini untuk GCC-AVR Inline Assembler Cookbook
http://web.stanford.edu/class/ee281/projects/aut2002/yingzong-mouse/media/GCCAVRInlAsmCB.pdf
sumber