晟矽微电 RISC8 芯片仿真平台(内测版) 简要说明
(版本 0.5.1, 适配 VS Code 最低 1.68.1, 最高待定)
本项目暂时处于内测阶段,对任何正常或不当使用所造成的任何损害,免负责任.
建议电脑最低配置:4核CPU, 4GB内存,固态硬盘.
Ctrl-Shift-B 开始编译项目,F5 开始调试项目.
请将左侧栏的"RAM视窗"与"EEPROM视窗",一个拖动到终端面板的头部栏,
另一个拖到终端面板的OUTPUT主体的右边(与之并排)。 2021年底,
VSCode推出第二侧边栏 (View -> Appearance -> Show Secondary Side Bar),
也可置放。
改动系统配置后,可能需要重启VS Code,才能生效.
详细使用说明,在安装后的文件夹里 (因VS Code的Webview展示本地图片有些麻烦,所另打包):
~/.vscode/extensions/sinomcu.ide-risc8-0.5.1/usage.zip
中文常见有两种编码方式:UTF8 与国标 (GB2312/GBK/GB18030)。中国市场上
Windows下面,大家常用的基本是国标。请将 File -> Preferences -> Settings
下面的 File Encoding 设为 GBK. 若设 GB18030, 有可能会(在与其它软件互用时)出现乱码.
暂时只支持与下位机的HID通讯。还未支持串口通讯方式.
以前的串口通讯的仿真板,需要刷入支持HID的新固件, 才能工作。
安装完成后,注意一下“系统配置”里的 sdcc tools 路径,与 asm inc 路径.
如果太深,可以拷贝到C: (或D:,E:等) 的根目录,因为 gplink/gpvc 工具.
暂时对文件名的总长有 64字节的限制。这也包括应用项目的源文件路径,不要太长太深.
尽量不要有空格或中文在文件夹名与文件名中.
要想晟矽asm的关键字有颜色,可以下载 "Atom One Dark" 颜色主题 (color theme) 并激活.
要在Terminal终端里显示彩色,请安装 "Output Colorizer" (by IBM) 护展包.
改变 RAM 值时,可16进制, 也可10进制,按回车键,触发改动.
本工具尽量做到与晟矽的 WinScope IDE 兼容,但尚未彻底细测.
项目文件夹下,应有且仅有一个 .Proj 文件。文件名任意.
主要源文件应与 .Proj在同一个目录下面. 主要源文件可 include 子目录下的其它次要源文件.
通过 Vscode Explorer -> New File 来增加源文件时,暂无法截获事件来自动同步 .Proj 文件,
请手动添加主要源文件到 .Proj 文件中的 asmFile 处. 次要源文, 如被include的源文件,
不须要添加.
本软件的主要配置文件,在安装后的 ~/.vscode/extensions下面.
reg/OTP.cfg 中 有配置字 (可以根据开发手册自己添加/找错).
编译等参数在 reg/mcuCfg.yml 中,联动项配置在 reg/restriction.yml 中,
crc的配置在 reg/crc.yml 中.
编译项目前,会自动保存当前正在编辑的源文件。如果用户希望 vscode 自动保存修改,
请打勾 File -> Auto Save.
VS Code的版本更新比较频繁,基本每个月都有新版本发布。如果是比较大的改动,
例如升级了它自身集成的node.js,那么晟矽RISC8插件,有可能要重新打包,
才能适配。所以在使用本工具时,不建议经常更新VS Code。最好将自动更新关闭,
或改成手动更新.
"Ctrl-/" 注释(C/ASM文件)选择区, "Ctrl-ku" 移除选择区的注释头。
VS Code的其它快捷键的定义, 在 File - Preferences - Keyboard Shortcuts 里面可自己定义。
关于晟矽的 C 语言 及 其它注意事项
C 函数之外的变量定义的初始赋值,不会执行。
C 不支持浮点(float, double). (可能?)也不支持 (long long).
只支持简单的变量,如 char(8位整数), int(16位整数), long(32位整数).
ASM 只支持 8位整数 (只有寄存器的概念).
如果想在观察窗里,或是在鼠标悬停时的提示框里, 显示变量的值,
变量名一定要在 (当前打开的单文件的所有局域变量 + 全局变量) 范围内唯一.
因为 VS Code 的 EvaluateRequest 协议, 暂时只传递了 变量名/表达式,
没有文件名,函数名,行号!
有些(局域?)变量,编译器作了优化,没有分配固定的RAM地址。本插件,一时难琢磨出读出
变量值的简易办法,暂时不显示,或只会显示值为 "NaN" 等。
待完善之处(To Do):
主体框架基本可用,可进一步完善的地方,也还有不少. 比如:
大多型号的配置字,是参考开发手册的,有可能与用户手册上的描述,略有差别.
0x6910/6920,尚未添加(HID固件4.1还有几个bug).
0x7062中的EEPROM的读, 不正常. 等待固件同事更新HID固件3.0到3.1
0x7071中的EEPROM的读写,需固件6.0 (尚未完成). 固件2.2可仿真其它功能。
个别动作时,输出框有切换/闪烁. 内存数量多时,内存显示页,有明显的闪烁感。
中文编码尚未细测.
Datalist下拉菜单,现在不在想要的位置,几个月前还正常。象是Electron内置的Chrome升级引起的问题.
OUTPUT区有时不会自动滚动到底端, 这有可能是它自身的(没处理好的)“智能” -- 窗口不处在最前面时, 不更新。
调试时寄存器视窗的宽度暂时无法调节。 API中暂时只能设定九宫格位置,
不能设定宽度. 临时解决办法, 见详细说明。
改动系统配置时,经常要重启 -- 后续考虑改进。
自动从网站拉取demo, 及demo的分类说明。
意见/建议/吐槽:
| |