使用 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_reader

开启 SD 卡中的 AUTOEXEC.BAT 档进行编辑:

sd_reader

找到 CALL TOOLS\86UsbSh.BAT 并在其开头加上 REM 关闭 86UsbSh:

sd_reader

找到 CALL TOOLS\86ComSh.BAT,并删掉其开头的 REM,让这行指令开机时被执行。另外,86ComSh.BAT 后面接的两个参数要改成 4 1152 以指定使用 86Duino EduCake 的 RS232 序列埠进行 Console Redirection(即将此行指令改为 CALL TOOLS\86ComSh.BAT 4 1152):

sd_reader

AUTOEXEC.BAT 修改完毕后,存档并取出 SD 卡。

三、Console Redirection 使用方式

您需准备一条 USB-to-RS232 转接线及一个 RS232-to-RS232 的 null modem 转接头来连接电脑与 86Duino EduCake 的 RS232 序列埠:

sd_reader

sd_reader

把 USB-to-RS232 转接线、null modem 转接头和 86Duino EduCake 的 RS232 序列埠连接在一起:

sd_reader

把 USB-to-RS232 转接线的 USB 接头连接到电脑:

sd_reader

(注:上图中的 86Duino EduCake 还另外连接了一条 USB-to-MicroUSB 线,此线是用来供给 86Duino Educake 电源。)

假设您的电脑已安装好此 USB-to-RS232 转接线的驱动程式,您应可从装置管理员中的 连接埠(COM 与 LPT) 看到此 USB-to-RS232 转接线的序列埠名称,本例为 COM11:

sd_reader

开启串列埠连线软体接收由 86Duino 传来的 Console Redirection 画面。下面我们以 PuTTY 做为本例的串列埠连线软体。

开启 PuTTY,Connection type 选择 Serial,Serial line 填入序列埠名称(本例为 COM11),Speed 填入与 Console Redirection 一致的鲍率(本例为 115200),填完后按下 Open 按钮:

sd_reader

按下 Open 后您会在 PuTTY 视窗内看到一行 C:\,此即是由 86Duino 传来的 DOS 画面,此时您便可键入任何 DOS 命列进行操作(例如 dir):

sd_reader

您可在 PuTTY 视窗内看到 DOS 命令的执行结果:

sd_reader


黑客天地主页面

The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License.