?? readme.htm
字號:
<td valign="top"> </td>
<td valign="top">
<p>答:</p>
</td>
<td valign="top">
<p>這個程序支持使用超級終端作為上位機軟件進行下載。如果使用超級終端下載,那么串口緩沖區的大小必須定義為128,同時要將等待密碼和等待文件的超時時間設置大一些(TimeOutCnt/TimeOutCntC和timeclk的乘積),避免來不及輸入而超時造成不能進入Bootloader模式;否則可以設置小一些,縮短啟動帶來的延時。使用超級終端時,注意密碼不要設置得太長,一般以1-3個字符為好,不然很難輸入成功。此外校驗方式CRCMODE需要設置為0,下載前還需要將用戶的HEX目標文件轉換為BIN格式。下載時,在超級終端中輸入聯機密碼后,在發送文件時選擇標準XMODEM協議就可以下載BIN格式的用戶程序了。<br>
其實本項目中帶的專用上位機下載軟件也不錯的,支持HEX和BIN文件格式,下載時只需要按一下鼠標,適合于批量下載,推薦使用。<br> </p>
</td>
</tr>
<tr>
<td valign="top">4.</td>
<td valign="top">
<p>問:</p>
</td>
<td valign="top">
<p>怎樣判斷串口通信是否正常(硬件連接是否正常)?</p>
</td>
</tr>
<tr>
<td valign="top"> </td>
<td valign="top">
<p>答:</p>
</td>
<td valign="top">
<p>示例程序test.c可以用于測試系統的串口通信是否正常。程序運行時不斷向串口發送數據(默認是一個">"),同時檢測串口是否收到數據。如果接收到數據,就將發送的數據改為新收到的數據。可以用超級終端聯機調試。如果在調試Bootloader遇到問題,無法通信時可以先試試這個程序是否可以正常運行。如果test可以正常運行,那么一般就沒有太大的問題了。<br> </p>
</td>
</tr>
<tr>
<td valign="top">5.</td>
<td valign="top">
<p>問:</p>
</td>
<td valign="top">
<p>為什么升級完后不能跳轉到用戶程序?</p>
</td>
</tr>
<tr>
<td valign="top"> </td>
<td valign="top">
<p>答:</p>
</td>
<td valign="top">
<p>如果不能正確跳轉到用戶程序,一般有以下幾種情況(90%以上):</p>
<ul>
<li>使用的GCC編譯器存在bug,造成某些型號的單片機不能正確跳轉。可以嘗試升級GCC到新版本,也可以查看反匯編代碼進行分析(在AVR Studio的仿真模式下查看Disassemble,軟件仿真或硬件仿真模式都可以)。</li>
<li>熔絲位設置錯誤。</li>
<li>參數設置錯誤,如Bootloader段地址錯誤。<br>
</li>
</ul>
</td>
</tr>
<tr>
<td valign="top">6.</td>
<td valign="top"><p>問:</p>
</td>
<td valign="top">
<p>怎樣裁剪掉不用的功能?</p>
</td>
</tr>
<tr>
<td valign="top"> </td>
<td valign="top"><p>答:</p>
</td>
<td valign="top">
<p>在bootcfg.h文件中有很多宏定義,將宏設置為0,或者設置為空就可以將其對應的功能裁剪。比如不使用LED指示狀態的功能,可以將宏LEDEn設置為0。<br> </p>
</td>
</tr>
<tr>
<td valign="top">7.</td>
<td valign="top">
<p>問:</p>
</td>
<td valign="top">
<p>怎樣減少Bootloader代碼的大小,留出更多空間給用戶程序?</p>
</td>
</tr>
<tr>
<td valign="top"> </td>
<td valign="top">
<p>答:</p>
</td>
<td valign="top">
<p>可以裁減掉不必要的功能,如冗余的提示信息、LED狀態指示、將CRC校驗改為累加和校驗等。還可以打開程序的優化選項,選擇代碼大小優化。不同版本的GCC之間的優化效果是不同的。此外C語言優化時具有一定的不確定性,選用代碼大小優化得到的最終代碼有時并不是最小的。<br>
還可以刪除中斷向量表(IVT)。在默認情況下,AVRGCC會自動創建中斷向量表,因為avrub中不使用任何中斷,所以中斷向量表是不必要的。這可以節省大約40-160字節。<br> </p>
</td>
</tr>
<tr>
<td valign="top">8.</td>
<td valign="top">
<p>問:</p>
</td>
<td valign="top">
<p>是否可以支持其它C編譯器?</p>
</td>
</tr>
<tr>
<td valign="top"> </td>
<td valign="top">
<p>答:</p>
</td>
<td valign="top">
<p>本項目使用了WinAVR帶有的GCC編譯器,其它編譯器目前沒有試驗過。IAR C編譯器和GCC最為接近,我想只要做很小的修改就可以了(AVR USB就是可以同時GCC和IAR C編譯器);其它編譯器應當也可以,因為我在編寫代碼時,是盡量按照ANSI C的規范編寫。可能需要修改的地方應該在頭文件部分,以及一些寄存器的名稱上。不同的C編譯器在聲明同樣的寄存器或參數時存在一些差異。<br> </p>
</td>
</tr>
<tr>
<td valign="top">9.</td>
<td valign="top">
<p>問:</p>
</td>
<td valign="top">
<p>在什么地方可以下載本程序的最新版本?</p>
</td>
</tr>
<tr>
<td valign="top"> </td>
<td valign="top">
<p>答:</p>
</td>
<td valign="top">
<p>在 <a href="http://avrubd.googlepages.com" target="_blank">http://avrubd.googlepages.com</a> 上可以下載到最新版本。一般情況下我也會在OURAVR上提供最新的版本。如果有任何建議,或者上述地址無法訪問時,可以發EMail到 <a href="mailto:shaoziyang@gmail.com?subject=AVRUB">shaoziyang@gmail.com</a>。<br> </p>
</td>
</tr>
</table>
<p><a href="readme.htm#b0" name="b4">▲</a></p>
<h1>特別感謝</h1>
<p>在此特別感謝下面這些為此程序做出貢獻的人:</p>
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="120" valign="top">
<p>劉海濤 </p>
</td>
<td width="990" valign="top">
<p>在程序編寫和調試時提供了很多幫助和資料</p>
</td>
</tr>
<tr>
<td width="120" valign="top">
<p>tda1552</p>
</td>
<td width="990" valign="top">
<p>測試了ATmega32</p>
</td>
</tr>
<tr>
<td width="120" valign="top">
<p>徐延康</p>
</td>
<td width="990" valign="top">
<p>發現HEX文件轉換中錯誤</p>
</td>
</tr>
<tr>
<td width="120" valign="top">
<p>倪恩偉</p>
</td>
<td width="990" valign="top">
<p>提出許多有用的建議</p>
</td>
</tr>
<tr>
<td width="120" valign="top">
<p>程翔</p>
</td>
<td width="990" valign="top">
<p>幫助翻譯此文檔成英文</p>
</td>
</tr>
<tr>
<td width="120" valign="top">
<p>Luiz Francisco Catalan</p>
</td>
<td width="990" valign="top">
<p>發現大于在程序64K時校驗的錯誤,并幫助測試PC1和AES解密程序</p>
</td>
</tr>
</table>
<p>以及很多沒有留下姓名但提出寶貴建議或進行了測試的網友。</p>
<p><a href="readme.htm#b0" name="b11">▲</a></p>
<h1>使用許可</h1>
<p>本項目基于GPL協議。</p>
<p><a href="#b0" name="b12">▲</a></p>
<h1>聯系方式</h1>
<p>網站: <a href="http://avrubd.googlepages.com/" target="_blank">http://avrubd.googlepages.com</a><br>
郵件: <a href="mailto:Shaoziyang@gmail.com?subject=about AVRUB">Shaoziyang@gmail.com</a><br>
討論組:<a href="http://groups.google.com/group/avrub?hl=en" target="_blank">http://groups.google.com/group/avrub?hl=en</a></p>
<p><table border=0 style="background-color: #fff; padding: 5px;" cellspacing=0>
<tr><td style="padding-left: 5px">
<b>加入討論組</b> </td></tr>
<form action="http://groups.google.com/group/avrub/boxsubscribe">
<input type=hidden name="hl" value="en">
<tr><td style="padding-left: 5px;">
Email: <input type=text name=email>
<input type=submit name="sub" value="加入">
</td></tr>
</form>
<tr><td align=right>
<a href="http://groups.google.com/group/avrub?hl=en">訪問討論組</a>
</td></tr>
</table>
</p>
<p> </p>
<p align="right">邵子揚 2007.6 于武漢</p>
<p> </p>
<table width="100%" cellpadding="0" cellspacing="0" align="center">
<tr>
<td width="100%" nowrap>
<p align="center"> e Y8b Y8b YV3.08P888 88e <br>
d8b Y8b Y8b Y888P 888 888D <br>
d888b Y8b Y8b Y8P 888 88" <br>
d888WuHan8b Y8b Y 888 b, <br>
d8888888b Y8b Y8P 888 88b, <br>
8888 8888 ,e, 888 <br>
8888 888820078e " Y8b Y888P ,e e, 888,8, dP"Y ,"Y88b888 <br>
8888 8888888 88b888 Y8b Y8P d88 88b888 " C88b "8" 888888 <br>
8888 8888888 888888 Y8b " 888 ,888 Y88D,ee 888888 <br>
'Y88 88P'888 888888 Y8P "YeeP"888 d,dP "88 888888 <br>
888 88b, d8 888 888 <br>
888 88P' e88 88e e88 88e d88 888 e88 88e ,"Y88b e88 888 ,e e, 888,8, <br>
888 8K d888 888bd888 8Shaoziyang88d888 888b"8" 888d888 888d88 88b888 " <br>
888 88b,Y888 888PY888 888P 888 888Y888 888P,ee 888Y888 888888 ,888 <br>
888 88P' "88 88" "88 88" 888 888 "88 88" "88 888 "88 888 "YeeP"888 <br>
<br>
<br>
<br>
__ <br>
/ _) <br>
/(_)(/ __ <br>
/ (_ |_ _. _ _ o _.._ _ <br>
__)| |(_|(_) /_|\/(_|| |(_|<br>
/ _|</p>
</td>
</tr>
</table>
<p> </p>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -