看看设备固件与驱动程序的差异,我真的不明白为什么我们在技术上需要这种区别。我知道固件不容易更改,它承担低级设备操作,而驱动程序则与主机操作系统进行通信。
问题是,为什么我们不能将这两层折叠成一层。只是一个知道如何与操作系统通信并将所有请求直接转换为低级设备操作的驱动程序。是为了便于开发(即减少开发该软件所需的开发人员知识)吗?是否可以使用不驻留在闪存中的软件与设备进行通信?
我在一台新机器上安装了 Windows Terminal [Microsoft Store] 和 Git Bash [latest]。我运行了一个构建脚本来记录其进度,每当出现换行符(也许还有其他字符?)时,我都会得到奇怪的字符,所有内容都打印在同一行上:
\n\xe2\x86\x90[1A\xe2\x86\x90[1m> Connecting to Daemon\xe2\x86\x90[m\xe2\x86\x90[22D\xe2\x86\x90[1B\xe2\x86\x90[2A\xe2\x86\x90[1m<\xe2\x86\x90[0;1m-------------> 0% INITIALIZING [73ms]\xe2\x86\x90[m\xe2\x86\x90[38D\xe2\x86\x90[1B\xe2\x86\x90[1m> Evaluating settings\xe2\x86\x90[m\xe2\x86\x90[0K\xe2\x86\x90\n
Run Code Online (Sandbox Code Playgroud)\n应该是:\nConnecting to Daemon\n<-------------> 0% INITIALIZING [73ms]\nEvaluating settings\n
Run Code Online (Sandbox Code Playgroud)\n这种行为的根源是什么?如何解决?
\n