关于远程下载

版权声明:本文为博主unsv29原创文章,未经博主允许不得转载。 https://blog.csdn.net/unsv29/article/details/81203142

这里的远程,指的是很远,比如两个城市之间,那么只能通过TCPip,不能通过usart或者CAN。

采用TCPIP的话,只能采用TCP,不能采用UDP。因为让UDP连续可靠,很困难。

目前近距离传输采用usart或者CAN都是假设干扰很小的情况下,假设干扰很大,那么麻烦很大,比如CAN,为提高下载速度,采用了小块传输,就是几十个CAN帧对应一个响应帧,并且在大块传输完成之后才进行校验,如果失败,则擦除。

由于一次擦除一个特大块,所以一旦校验错了一个地方(当然这个概率极低了),概率大的是发送没有收到......

总是很复杂,完美的方法似乎是擦除一个小块,然后写一个小块。这样有得考虑不同芯片的块不一样,想弄个通用的恐怕很困难....

总之在单帧通信不靠谱,而靠重发来实现的场合基本上不能用RS232和UDP了。

远程的方式只能用TCP,一次下载到SD卡里面,然后再慢悠悠的一点一点的向FLASH里面写入。

无论远程还是近程下载,可以考虑先检测一下线路的干净程度。

-------------------------------------

2018.09.01 纠错:如果设计完善的协议远程也是也可下载的!比如TFTP估计就行。所以要好好研究一下!

猜你喜欢

转载自blog.csdn.net/unsv29/article/details/81203142