我有嵌入式固件,它有串行传输终端。我正在从终端执行命令,该命令等待应保存到闪存芯片的数据(文本文件)。不过写入flash比终端传输要慢很多。
文本文件可能相当大(很多kB),所以在小型嵌入式环境中我不能简单地将其转储到RAM。我想知道是否可以与标准终端仿真器(对文件具有拖/停支持)进行通信,以在每次写入缓冲区已满时暂停传输,并在写入完成后再次告诉继续?我没有找到任何可以帮助我解决这个问题的东西。
好吧,当然我可以制作理解这个技巧的 PC 前端,但在基础层面上,如果需要的话,如果所有功能都可以通过普通终端使用,那就太好了。
最佳答案
对于基本的串行连接,您可以查看硬件是否支持流量控制。这将是 CTS、RTS 线路(清除发送、请求发送)。
http://en.wikipedia.org/wiki/RS-232_RTS/CTS#RTS.2FCTS_handshaking
然而,许多简单的嵌入式系统并没有实现这种类型的流量控制。
如果硬件不支持流量控制,那么您将不得不考虑使用某种形式的软件流量控制。您也许能够实现 Xon/Xoff 流量控制 ( http://en.wikipedia.org/wiki/XON/XOFF ),或者可以实现简单的文件传输协议(protocol),例如 XMODEM、ZMODEM,甚至 tftp。这取决于您的终端可以支持的内容。
关于embedded - 有没有办法告诉终端在发送更多数据之前等待?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6924715/