📄 readme.htm
字号:
</td>
</tr>
<tr>
<td width="100">
<p><font face="宋体">LEDPORT</font></p>
</td>
<td>
<p><font face="宋体">LED使用的端口</font></p>
</td>
</tr>
<tr>
<td width="100">
<p><font face="宋体">LEDPORTNo</font></p>
</td>
<td>
<p><font face="宋体">LED使用的引脚</font></p>
</td>
</tr>
<tr>
<td width="100">
<p><font face="宋体">InitDelay</font></p>
</td>
<td>
<p><font face="宋体">额外的延时(某些型号的单片机需要)</font></p>
</td>
</tr>
<tr>
<td width="100">
<p><font face="宋体">VERBOSE</font></p>
</td>
<td>
<p><font face="宋体">提示模式,显示更多的提示信息,方便超级终端下的交互输入</font></p>
</td>
</tr>
<tr>
<td width="100">
<p><font face="宋体">CRCMODE</font></p>
</td>
<td>
<p><font face="宋体">校验模式,0=XMODEM的CRC校验 1=简单的累加和</font></p>
</td>
</tr>
</table>
<p><font face="宋体"><a href="#b0" name="b9">▲</a></font></p>
<h1><font face="宋体">支持型号</font></h1>
<p><font face="宋体">目前已经完全测试过的AVR单片机的型号:</font></p>
<p><font face="宋体"> ATmega8<br>
ATmeag64<br>
ATmega168<br>
ATmega169(Bufferfly)</font></p>
<p><font face="宋体">如果你成功使用了不在上面列表中型号,请给我发</font><a href="mailto:shaoziyang@126.com"><font face="宋体">EMail</font></a><font face="宋体">,以便及时添加到列表中。</font></p>
<p><font face="宋体"><a href="#b0" name="b10">▲</a></font></p>
<h1><font face="宋体">常见问题</font></h1>
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td valign="top">
<p><font face="宋体">1.</font></p>
</td>
<td valign="top">
<p><font face="宋体">问:</font></p>
</td>
<td valign="top">
<p><font face="宋体">怎样保护Bootloader区?</font></p>
</td>
</tr>
<tr>
<td valign="top"><font face="宋体"> </font></td>
<td valign="top">
<p><font face="宋体">答:</font></p>
</td>
<td valign="top">
<p><font face="宋体">为了保护Bootloader区本身不被意外改写,需要设置Bootloader区的保护。通常是将BLB1锁定位设置成模式2或3,禁止对Bootloader区写。</font></p>
</td>
</tr>
<tr>
<td valign="top"><font face="宋体">2.</font></td>
<td valign="top">
<p><font face="宋体">问:</font></p>
</td>
<td valign="top">
<p><font face="宋体">为什么需要在bootloader中使用看门狗?</font></p>
</td>
</tr>
<tr>
<td valign="top"><font face="宋体"> </font></td>
<td valign="top">
<p><font face="宋体">答:</font></p>
</td>
<td valign="top">
<p><font face="宋体">为了增加系统的稳定性,通常应当允许看门狗,这样在意外情况下可以由看门狗将系统复位,防止在升级过程中进入死循环。</font></p>
</td>
</tr>
<tr>
<td valign="top"><font face="宋体">3.</font></td>
<td valign="top">
<p><font face="宋体">问:</font></p>
</td>
<td valign="top">
<p><font face="宋体">是否支持使用超级终端作为上位机软件进行升级?</font></p>
</td>
</tr>
<tr>
<td valign="top"><font face="宋体"> </font></td>
<td valign="top">
<p><font face="宋体">答:</font></p>
</td>
<td valign="top">
<p><font face="宋体">这个程序支持使用超级终端作为上位机软件进行下载。如果使用超级终端下载,那么串口缓冲区的大小必须定义为128,同时要将等待密钥和等待文件的超时时间设置大一些(TimeOutCnt/TimeOutCntC和timeclk的乘积),避免来不及输入而超时造成不能进入Bootloader模式;否则可以设置小一些,缩短启动带来的延时。此外校验方式CRCMODE需要设置为0。在超级终端中输入联机密码后,在发送文件时选择标准XMODEM协议就可以下载BIN格式的用户程序了。<br>
其实本项目中带的专用上位机下载软件也不错的,可以自动转换HEX为BIN格式,推荐使用。</font></p>
</td>
</tr>
<tr>
<td valign="top"><font face="宋体">4.</font></td>
<td valign="top">
<p><font face="宋体">问:</font></p>
</td>
<td valign="top">
<p><font face="宋体">怎样判断串口通信是否正常(硬件连接是否正常)?</font></p>
</td>
</tr>
<tr>
<td valign="top"><font face="宋体"> </font></td>
<td valign="top">
<p><font face="宋体">答:</font></p>
</td>
<td valign="top">
<p><font face="宋体">示例程序test.c可以用于测试系统的串口通信是否正常。程序运行时不断向串口发送数据,同时检测串口是否收到数据。如果接收到数据,就将发送的数据改为新收到的数据。可以用超级终端和这个程序联机调试。如果在调试Bootloader遇到问题,可以先试试这个程序是否可以正常运行。如果test可以正常运行,那么一般就没有太大的问题了。</font></p>
</td>
</tr>
<tr>
<td valign="top"><font face="宋体">5.</font></td>
<td valign="top">
<p><font face="宋体">问:</font></p>
</td>
<td valign="top">
<p><font face="宋体">为什么升级完后不能跳转到用户程序?</font></p>
</td>
</tr>
<tr>
<td valign="top"><font face="宋体"> </font></td>
<td valign="top">
<p><font face="宋体">答:</font></p>
</td>
<td valign="top">
<p><font face="宋体">如果不能正确跳转到用户程序,往往是使用的GCC编译器存在bug,造成某些型号的单片机不能正确跳转。可以尝试升级GCC到新版本。也可以查看反汇编代码进行分析。</font></p>
</td>
</tr>
<tr>
<td valign="top"><font face="宋体">6.</font></td>
<td valign="top">
<p><font face="宋体">问:</font></p>
</td>
<td valign="top">
<p><font face="宋体">怎样减少Bootloader代码的大小,留出更多空间给用户程序?</font></p>
</td>
</tr>
<tr>
<td valign="top"><font face="宋体"> </font></td>
<td valign="top">
<p><font face="宋体">答:</font></p>
</td>
<td valign="top">
<p><font face="宋体">可以裁减掉不必要的功能,如提示信息、LED状态指示、将CRC校验改为累加和校验等。还可以打开程序的优化选项,选择代码大小优化。因为C语言优化时具有一定的不确定性,选用代码大小优化得到的最终代码有时并不是最小的。</font></p>
</td>
</tr>
<tr>
<td valign="top"><font face="宋体">7.</font></td>
<td valign="top">
<p><font face="宋体">问:</font></p>
</td>
<td valign="top">
<p><font face="宋体">是否可以支持其它C编译器?</font></p>
</td>
</tr>
<tr>
<td valign="top"><font face="宋体"> </font></td>
<td valign="top">
<p><font face="宋体">答:</font></p>
</td>
<td valign="top">
<p><font face="宋体">本项目使用了WinAVR带有的GCC编译器,其它编译器目前没有试验过。IAR C编译器和GCC最为接近,我想只要做很小的修改就可以了(AVR USB就是可以同时GCC和IAR C编译器);其它编译器应当也可以,因为我在编写代码时,是尽量按照ANSI C的规范编写。最容易出问题的地方应该在头文件部分,不同的C编译器在声明同样的寄存器或参数时存在一些差异。</font></p>
</td>
</tr>
<tr>
<td valign="top"><font face="宋体">8.</font></td>
<td valign="top">
<p><font face="宋体">问:</font></p>
</td>
<td valign="top">
<p><font face="宋体">在什么地方可以下载本程序的最新版本?</font></p>
</td>
</tr>
<tr>
<td valign="top"><font face="宋体"> </font></td>
<td valign="top">
<p><font face="宋体">答:</font></p>
</td>
<td valign="top">
<p><font face="宋体">在 </font><a href="http://shaoziyang.bloger.com.cn" target="_blank"><font face="宋体">http://shaoziyang.bloger.com.cn</font></a><font face="宋体"> 上可以下载到最新版本。一般情况下我也会在</font><a href="http://www.ouravr.com" target="_blank"><font face="宋体">OURAVR</font></a><font face="宋体">上提供最新的版本。如果有任何建议,欢迎发EMail到 </font><a href="mailto:shaoziyang@126.com"><font face="宋体">shaoziyang@126.com</font></a><font face="宋体">。</font></p>
</td>
</tr>
</table>
<p><font face="宋体"><a href="#b0" name="b11">▲</a></font></p>
<h1><font face="宋体">使用许可</font></h1>
<ol>
<li><font face="宋体">本程序以开源方式提供,任何人都可以自由使用、复制、传播,而无需事先获取作者的同意。</font></li>
<li><font face="宋体">你可以按照自己的要求对本程序进行修改,但是必须保持整个项目文件的完整,也必须保留原始的版权信息。</font></li>
<li><font face="宋体">不能通过销售本程序进行盈利。</font></li>
<li><font face="宋体">因为用户系统和环境的复杂性和多样性,作者不保证在任何情况下本程序都能正常运行。任何由于使用本程序引起的后果,均由使用者自行承担。</font></li>
<li><font face="宋体">一旦你开始使用本程序,就意味着你接受了上面的许可。如果你不同意这个许可,请不要使用这个程序。</font></li>
</ol>
<p><font face="宋体"><a href="#b0" name="b12">▲</a></font></p>
<p><font face="宋体"> </font></p>
<p align="right"><font face="宋体">邵子扬 2007.3 于武汉</font><font face="宋体"> </font><font face="宋体"> </font></p>
<p><font face="宋体"> </font></p>
<table width="100%" cellpadding="0" cellspacing="0" align="center">
<tr>
<td width="100%" nowrap>
<p align="center"><font face="Courier New"> e Y8b Y8b Y88888P888 88e <br>
d8b Y8b Y8b Y888P 888 888D <br>
d888b Y8b Y8b Y8P 888 88" <br>
d8WuHan888b Y8b Y 888 b, <br>
d8888888b Y8b Y8P 888 88b, <br>
e88'Y88 <br>
d888 'Y e88 88e 888 888 8e 888 888 8e e88 88e 888 8e <br>
C8888 d888 888b888 888 88b888 888 88bd888 888b888 88b <br>
Y888 ,dY888 8Shao88 zi8 8yang8 888 888Y888 888P888 888 <br>
"88,d88 "88 88" 888 888 888888 888 888 "88 88" 888 888 <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 888bd20078888 d888 888b"8" 888d888 888d88 88b888 " <br>
888 88b,Y888 888PY888 888P 888 888 ,dY888 888P,ee 888Y888 888888 ,888 <br>
888 88P' "88 88" "88 88" 888 888,d88 "88 88" "88 888 "88 888 "YeeP"888 <br>
__ <br>
/ _) <br>
/(_)(/ __ <br>
/ (_ |_ _. _ _ o _.._ _ <br>
__)| |(_|(_) /_|\/(_|| |(_| <br>
/ _| </font></p>
</td>
</tr>
</table>
<p> </p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -