使用 86ComSh (透过 86Duino EduCake 的 RS232 序列埠)
本文将介绍如何以 86ComSh 在 86Duino Educake 的 RS232 序列埠上开启 FreeDOS 的主机画面重定向(Console Redirection)功能。
一、86ComSh 介绍
在 DuinOS 上启动 FreeDOS 的 Console Redirection 功能可透过 86ComSh 加上 MODE 与 CTTY 实现。86ComSh 是一个使用 86Duino DOS SDK 写成的程式,执行档放在 TOOLS 目录下,原始码则放在 TOOLS\SRC\86ComSh 目录(在原始码目录下 make
指令,可直接编译出 86UsbSh 执行档)。MODE 是 FreeDOS 的外部指令,用来设定装置的状态。CTTY 是 FreeDOS 的内部指令,用来指定作为标准输出/输入的装置。
86ComSh 需要一个参数,用来指定开启的序列埠,例如当参数为 1,表示要 86ComSh 开启 86Duino 的 Serial1(COM1),其它序列埠以此类推。开启序列埠后,即可使用 MODE 及 CTTY 指令设置 FreeDOS 的 Console Redirection 功能(MODE 及 CTTY 用法请自行参阅 FreeDOS 官方文件)。DuinOS 内建一个 86ComSh.BAT 档,已包含所有设定 Console Redirection 的步骤。
FreeDOS 的 Console Redirection 有一些使用限制,例如无法执行图形化的程式(像是大部份 DOS 游戏)。另外,应避免执行到与 Console Redirection 使用相同序列埠的 DOS 程式,以免造成冲突,产生无法预期的执行结果。
二、在开机时启用 Console Redirection
使用者可修改 AUTOEXEC.BAT 在开机时启用 Console Redirection,步骤如下。
把包含 DuinOS 的 SD 卡插入电脑:
开启 SD 卡中的 AUTOEXEC.BAT 档进行编辑:
找到 CALL TOOLS\86UsbSh.BAT
并在其开头加上 REM
关闭 86UsbSh:
找到 CALL TOOLS\86ComSh.BAT
,并删掉其开头的 REM
,让这行指令开机时被执行。另外,86ComSh.BAT 后面接的两个参数要改成 4 1152 以指定使用 86Duino EduCake 的 RS232 序列埠进行 Console Redirection(即将此行指令改为 CALL TOOLS\86ComSh.BAT 4 1152
):
AUTOEXEC.BAT 修改完毕后,存档并取出 SD 卡。
三、Console Redirection 使用方式
您需准备一条 USB-to-RS232 转接线及一个 RS232-to-RS232 的 null modem 转接头来连接电脑与 86Duino EduCake 的 RS232 序列埠:
把 USB-to-RS232 转接线、null modem 转接头和 86Duino EduCake 的 RS232 序列埠连接在一起:
把 USB-to-RS232 转接线的 USB 接头连接到电脑:
(注:上图中的 86Duino EduCake 还另外连接了一条 USB-to-MicroUSB 线,此线是用来供给 86Duino Educake 电源。)
假设您的电脑已安装好此 USB-to-RS232 转接线的驱动程式,您应可从装置管理员中的 连接埠(COM 与 LPT) 看到此 USB-to-RS232 转接线的序列埠名称,本例为 COM11:
开启串列埠连线软体接收由 86Duino 传来的 Console Redirection 画面。下面我们以 PuTTY 做为本例的串列埠连线软体。
开启 PuTTY,Connection type 选择 Serial,Serial line 填入序列埠名称(本例为 COM11),Speed 填入与 Console Redirection 一致的鲍率(本例为 115200),填完后按下 Open 按钮:
按下 Open 后您会在 PuTTY 视窗内看到一行 C:\,此即是由 86Duino 传来的 DOS 画面,此时您便可键入任何 DOS 命列进行操作(例如 dir
):
您可在 PuTTY 视窗内看到 DOS 命令的执行结果:
The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License.