【OK210试用体验】【第三篇】bootloader下YMODEM协议传输裸机代码【2015年8月12号】
飞凌官方给的资料是通过“超级终端”来实现程序下载到SRAM中的,但是在64位系统或win7/8/10系统下,因为没有“超级终端”所以不能用这种方式调试程序。
但是DNW,secureCRT软件支持64位系统及win7/8/10系统,虽然DNW/secureCRT不支持kermit文件传输协议,但是secureCRT支持YModem协议。
飞凌提供的u-boot没有对YModem协议进行裁剪,保留了下来的还有kermit协议USB协议,串口协议,TFTP协议等。所以,我们可以通过u-boot,secureCRT来传输程序到SRAM。
YModem协议是由XModem协议演变而来的,每包数据可以达到1024字节,是一个非常高效的文件传输协议。
下面先看下YModem协议传输的完整的握手过程:先看下图
Ymodem协议的原理先不说了,先用着。
secureCRT软件下Ymodem协议刷程序的方法:
连上串口
打开secureCRT并配置好串口,波特率115200.,并连接
210上电(前提是你的210上已经刷入了U-BOOT,没刷的话看软件教程Linux使用篇输入
U-BOOT)
210上电之后快速按下“空格”选择5进入U-BOOT。
输入help查看UBOOT支持的命令
看到这三行没有
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line
loady - load binary file over serial line (ymodem mode)
超级终端上使用的是loadb,但是这个是kermit mode传输协议,secureCRT不支持,我们应
该选择loady,即ymodem模式。
输入loady [输入要放到SRAM中的地址],这里就用教程上的20008000
即输入loady 20008000
提示的CCC表示等待我们传输文件,二进制.bin文件。
选择传输,发送ymodem
选择文件,找到LED.bin,添加,确定,即开始发送。
然后输入go 20008000即可运行程序。
注意,程序运行之后没法停止,只能复位,复位之后程序还存在,但是掉电之后程序就不存
在了,因为是刷在SRAM中的,掉电丢失数据。所以这个方法非常适合调试程序。