http://diveduino.blogspot.com/2012/11/u ... duino.html
USBasp 以 Progisp 軟體燒錄 Arduino (ATmega168、ATmega328) bootloader 設定教學
前一篇我們帶著大家利用 AVR Studio 設定 AVRISP mkII 進行 Fuse 等細節燒錄,
但上一篇教學是針對 Arduino ATmega 2560 這顆單晶片。
若手邊只有 USBasp,而且要燒錄的對象只是 ATmega 168、ATmega 328,
那麼只需要上網搜尋一個輕量級的軟體: Progisp ,即可燒錄。
由於該軟體相當容易搜尋,因此就不在此提供連結。
當軟體準備開啟前請先將 USBasp 插上 Arduino 的 ICSP 腳位,
並將 USBasp 與 Arduino 上的 USB 線連接至電腦。
接著將 Progisp 開啟,開啟畫面如下,
請先選擇晶片,接著按一下 USBasp 的 icon
接著我們針對常用的幾個 icon 進行介紹,紅色方框中的部份是我們會用到的常用選項,
圖片如下
1 . 一鍵清除晶片
2. 全自動(清除、上傳、驗證,一鍵完成)
3. Fuse 等細部設定
4. 更多命令功能 ( Earse flash、Upload flash ....etc. )
當我們要上傳程式之前,請先按下 Earse 作晶片清除,接著按 Auto,就完成了全部的工作。
好,節目到此結束,我們下週見。
哎呀,當然不是這樣就沒啦!
的確這兩個步驟就可以做完全部的工作,只要一開始的晶片選擇有選對,
就是這麼輕鬆簡單。
我們再來介紹一下選項 3 和選項 4 的兩個功能
選項 3 點開後的圖示如下
若你有閱讀過我們前一篇使用 AVR Studio 燒錄的文章,
那這邊應該有些 Fuse 的名字很熟悉,例如 SPIEN(SPI Enable)。
以電腦的概念而言,1代表開,0代表關,但為什麼 SPIEN 是 0 呢?
因為在 AVR 的 Fuse 設定中,0就代表開,1就是關閉。
所以千萬別被 Fuse 這堆 1, 0 嚇到了。
這邊的 Fuse 設定,我們都不需要去更改設定,只需要看看 SPIEN有沒有被設定為 1 就行了。
那麼到底晶片的 Fuse 設定,應該是什麼樣的規定才是正確的?
有沒有一個表格可以查詢?
這問題我想應該很多初學者也很困擾,但別擔心,網頁上就能找到讓你搞懂 Fuse 的網站!
Embedded AVR Fuse Calculator:http://www.engbedded.com/fusecalc
進入網站後,可以看見中間有個選擇晶片的選項
我以 ATmega 328 晶片為例,選擇後會跳出以下畫面,
共計有三個大項目:
1. Feature configuation
2. Manual fuse bits configuration
3. Current setting
這個網站所提供的 Fuse 與其他細節設定值,可以直接套用至燒錄器中的選項設定中,
因此萬一拿到一片新的 AVR 晶片不曉得要怎麼調整,可到這個網站來查詢一下。
選項4的按鈕 command 則是把一些功能選單隱藏起來,讓畫面更乾淨
綜合以上介紹後,對於 Progisp 是不是比較熟悉了?
其實若沒有特殊需求,需要特別設定,
在一開始打開 Progisp ,選擇好晶片,直接按下 Earse 和 Auto 就可以了。
不過 ATmega 2560 在這個燒錄器有個很妙的情況,
燒錄可以成功燒錄,但是在 Arduino IDE 卻無法上傳 Sketch。
正常燒錄成功的 Arduino ,應該是可以透過 USB 或 ICSP 腳位(利用燒錄器)上傳程式,
不過 ATmega 2560 卻失敗了。
因此筆者在此強烈建議:
ATmega 168 、ATmega 328 可用 USBasp 燒錄,簡單又便宜,
ATmega 2560 則用 AVRISP mkII ,可增加成功燒錄的機率。
燒錄器與 Arduion Bootloader 系列文章,就在此告一個段落,
希望很快有新的研究可以分享給各位!
Have fun !
USB ISP Progisp
前往
- Software
- ↳ CodeCharge Studio
- ↳ CodeCharge
- ↳ DemoCharge
- ↳ SuperPDF
- ↳ 551einv
- ↳ E3進銷存
- 程式語言
- ↳ PHP
- ↳ CodeLobster PHP Edition
- ↳ Yii
- ↳ CodeIgniter
- ↳ Phalcon
- ↳ Symfony
- ↳ FuelPHP
- ↳ Zend Framework 2
- ↳ laravel
- ↳ WordPress
- ↳ ASP.NET/C#
- ↳ ASP/VBScript
- ↳ JSP
- ↳ Java Servlets
- ↳ ColdFusion
- ↳ Perl
- ↳ Java Script
- ↳ jQuery
- ↳ HTML + CSS
- ↳ jQuery
- ↳ nodejs
- ↳ VB6
- ↳ Git
- ↳ App Inventor 2
- ↳ bash
- ↳ C++/ VC/ OpenCV
- ↳ OpenCV
- ↳ go
- ↳ cordova
- ↳ python
- ↳ Xamarin
- ↳ Assembly
- 資料庫
- ↳ MySQL
- ↳ PostgreSQL
- ↳ ORACLE
- ↳ Access
- ↳ SQL Server
- ↳ SQLite
- ↳ MariaDB
- ↳ Mongodb
- 作業系統
- ↳ Linux
- ↳ Ubuntu
- ↳ CentOS
- ↳ Mint
- ↳ Mandriva
- ↳ Debian
- ↳ Red Hat Enterprise Linux
- ↳ Oracle Linux
- ↳ Fedora
- ↳ Kali Linux
- ↳ OpenSUSE
- ↳ Elementary OS
- ↳ Microsoft
- ↳ Server 2008 R2
- ↳ Server 2012 R2
- ↳ Server 2012
- ↳ 8
- ↳ 10
- ↳ System Center 2016
- ↳ NOVELL
- ↳ FreeBSD
- ↳ VMware
- ↳ VirtualBox
- ↳ Mac OS X
- ↳ Solaris
- ↳ iOS
- ↳ Android
- ↳ Cloud
- ↳ OpenStack
- ↳ Docker
- ↳ Proxmox VE
- ↳ CloudReady
- ↳ chrome
- 網頁伺服器
- ↳ apache
- ↳ tomcat
- ↳ nginx
- ↳ IIS
- ↳ JBoss
- ↳ weblogic
- ↳ WebHosting
- 硬體
- ↳ 硬體及週邊
- ↳ RouterOS
- ↳ LEGO NXT
- ↳ Arduino
- ↳ MSP430
- ↳ Raspberry Pi
- ↳ OpenERP
- ↳ Storage
- ↳ Server
- ↳ Brocade
- ↳ MODELS
- ↳ FortiGate
- 軟體
- ↳ sublime
- ↳ LibreNMS