[s:157] 因为没有使用过git,不知怎么样pull request
发布于8年前
[s:157] 因为没有使用过git,不知怎么样pull request
发布于8年前
ymodem貌似也有点问题,如果超级终端传输设置为1KB的数据包大小,那么接收第一个包的时候就可能出问题,现在的程序只识别第一个包是128字节的包大小,如果第一个包是1024大小的就会出错,我在程序里面加了个变量,修改了下程序使之可以同时支持2个包大小,红色标记为修改过的。[attach]2720[/attach]
发布于8年前
一直没找到zmodem的通信协议,通过跟踪还是发现问题所在,如果传输的是二进制文件,如果文件里面有连续的0x18这样的数据,就可能会导致数据传输失败,红色部分就是检测到大于5个0x18就退出
这个算是一个bug吗,还是说zmodem只用于传输文本文件,也就是数据都是大于0x20的可见字符,这个问题怎么解?
get_can:
if (++get_can > 5)
{
c = ZCAN; goto end;
}
发布于8年前
看返回的数据,感觉是退出了rz
程序返回ZCAN就退出了
发布于8年前
已经找到使用方法了,如果打开RT_USING_FINSH情况下把zmodem文件夹下的代码加入到工程里面直接编译,
我用的keil编译的,开始finsh里面始终没有rz,sz命令出来,原来是程序没有显式调用rz,sz函数,被优化掉了,
在keil的linker选项里面Misc controls添加—keep=zstart.o(*)选项禁止优化这段代码就可以了
发布于8年前
经过程序跟踪,发现确实是自己代码问题,分配了一块内存,分配后做了4字节地址对齐操作,多分配8个字节做地址对齐就OK了,感谢“bernard ”及“aozima ”
发布于8年前
这个已经是定义了的页面大小,确实加载了elm文件系统,mkfs提示成功,挂载文件系统成功
测试mkdir时出错,跟踪进去发现是内存分配失败,CPU是GD32F103,64K内存,现在没有加载很多程序,堆内存才分配了2K多
用list_thread看堆栈貌似没有溢出
init线程错误代码是-2,线程貌似又可以运行,这个是什么错误?
问 zmodem传输出错