在线问答
直播中

Murphy

11年用户 259经验值
擅长:电源/新能源 MEMS/传感技术 测量仪表 嵌入式技术 EMC/EMI设计 处理器/DSP 接口/总线/驱动 控制/MCU RF/无线
私信 关注

【OK210试用体验】【第三篇】bootloader下YMODEM协议传输裸机代码【2015年8月12号】

【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协议.png

Ymodem协议的原理先不说了,先用着。
secureCRT软件下Ymodem协议刷程序的方法:
连上串口
打开secureCRT并配置好串口,波特率115200.,并连接
210上电(前提是你的210上已经刷入了U-BOOT,没刷的话看软件教程Linux使用篇输入
U-BOOT)
210上电之后快速按下“空格”选择5进入U-BOOT。
UBOOT.PNG

输入help查看UBOOT支持的命令
help命令.PNG

看到这三行没有
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
loady.PNG

提示的CCC表示等待我们传输文件,二进制.bin文件。


选择传输,发送ymodem
选择发送ymodem.png


选择文件,找到LED.bin,添加,确定,即开始发送。
打开bin文件.png

然后输入go 20008000即可运行程序。
程序运行成功.png

注意,程序运行之后没法停止,只能复位,复位之后程序还存在,但是掉电之后程序就不存
在了,因为是刷在SRAM中的,掉电丢失数据。所以这个方法非常适合调试程序。

  • 传输完成.PNG

回帖(4)

陈明

2015-8-12 22:07:40
楼主,secureCRT是支持kermit协议的。我的secureCRT版本是7.2.3
举报

Murphy

2015-8-13 10:39:26
引用: wwwming0329 发表于 2015-8-12 22:07
楼主,secureCRT是支持kermit协议的。我的secureCRT版本是7.2.3

版本这么高了,我还用的是6.5的呢
举报

Murphy

2015-8-13 10:39:51
回头试试,多谢提醒
举报

Murphy

2015-8-14 23:11:19
本帖最后由 ICHLIEBEDICH13 于 2015-8-14 23:13 编辑

新版本的secureCRT功能非常丰富,看来要及时更新自己的软件工具了啊
secureCRT新功能.png

举报

更多回帖

发帖
×
20
完善资料,
赚取积分