常见问题
关于下列主题的问答:
eCOG1k
eCOG1X
软件工具
- CyanIDE V1.4对系统配置有何要求?
- 启动CyanIDE时为什么会得到 "QT-MT312.DLL missing"错误信息?
- 在建立项目时得到一个系统致命错误信息 "runprog - spawnvp".
- CyanIDE 和 eCOG1 开发工具可以在同一台机器上使用吗?
- 在安装新版本的CyanIDE前必须卸载原来的老版本吗?
- 如果更换一块USB评估板, 机器会显示 "Found New Hardware" 指示. 这有问题吗?
- 在Windows 2000或XP上安装CyanIDE时是否需要管理员授权?
- 怎样在不支持USB的Windows NT4上安装和使用 CyanIDE?
- 将编译好的程序下载到目标系统时,得到一个错误信息 "The eCOG1 flash programmer is not responding as expected(eCOG1闪存编程器没有响应)" .
- CyanIDE 安装失败,并显示如下错误信息:
"C:\WINDOWS\SYSTEM32\AUTOEXEC.NT. The system file is not suitable for running MS-DOS and Microsoft Windows applications(系统文件不适合在MS-DOS和Windows下运行)". 这是什么原因? - 怎样知道编译完的程序有多大?
开发套件
- 连接并口行电缆的情况下启动仿真器时,得到信息 "eICE Write - eICE found LOADB unexpectedly low"(eICE写入-eICE发现LOADB低电平).
- 为什么无法驱动eCOG1K开发板(V2.1)上的 PortC_3 (GPIO16)?
eCOG1k 常见问题
在eCOG1K的DUART 的B通道上出现硬件错误,导致无法通过读duart.b_rx寄存器来接收字符.这时可通过读duart.b_tx16来接收字符.
为什么在eCOG1K开发板上的ADC给出怪异的结果?一些在其版本的 V1.2 开发板采用了eCOG1i 芯片的预产产品. 这些芯片在模拟输入方面存在两个问题.
- 最大满偏输入电压为 ±0.65V, 而不是如在数据手册中声称的 ±1.3V . 如果输入电压超越了这一门限, 输出数据会越限由正变负或是由负变正, 并且不会设置溢出标志位.
要确保模拟端的输入电压在 ±0.65V以内.
- 如果模拟输入端的电压变化速度过快,幅度过大,ADC 缓冲滤波器会被锁死(大于 ¾ 满偏量程) 速度快于滤波器的跟随速度 (小于一个机器时钟周期). 因该避免输入电压速度和幅度大于 ¾ 满偏量程. 在多路输入之间切换输入时应该特别应该注意这一问题.
有这些问题的 eCOG1i 芯片标有如下标记:
eCOG1 501254
C64250.00 0212
后期的 eCOG1i 芯片和所有 eCOG1k 芯片不存在这些问题.
eCOG1X 常见问题
eCOG1k 和 eCOG1X 的主要区别参见下表.
| eCOG1k | eCOG1X | |
|---|---|---|
| 封装 | 128LQFP | 68QFN, 100QFN, 208BGA
|
| 最高 CPU 时钟速度 | 25MHz | 70MHz |
| 闪存空间 | 64KB | 128KB, 256KB, 512KB |
| SRAM空间 | 4KB | 24KB |
| 最多 I/O 数 | 88 | 120 |
| 异步串口UART数量 | 2 | 4 |
| 模拟输入口数量 | 4 | 4, 11, 14 |
| 模拟输出口数量 | - | 2 |
| 以太网 MAC层 | - | 有 |
| USB 接口 | - | 有 |
| 用于电机控制的6 通道 PWM | - | 有 |
| LCD 控制器 | - | 有 |
eCOG1X 还有一些未在此处列出的技术特性. 如想了解更多信息,请参照 eCOG1X 数据手册.
所有的USB 期间有三个号码来识别, 这立按重要性排序解释.
- 厂商 ID (VID).
这是一个分配给USB器件厂商的16-位编码.这一号码的分配由USB官方论坛控制,该论坛位于 www.usb.org. 分配给赛恩的VID 是 0x1B45. - 产品 ID (PID).
一旦厂商获得了一个16-位 VID, 就可以为自己的应用产品任意分配一个16-位的 PID . 通常会为每一个具体的应用产品分配一个独立的 PID 编号. - 序列编号.
每一个独立的设备可由一个唯一的序列号设别. 序列号为选用,但是推荐使用. 它可以被主机用来在拥有相同VID和PID的设备之间具体识别各个设备.
要了解更多详情, 请访问USB官方网站 www.usb.org/developers/vendor.
(a) 成为USB-IF的成员. 每年的会费是US$4000, 这包括为你的公司分配一个VID (如果你们以前没有的话).
(b) 获得一个USB-IF非会员标志许可. 它允许你在你的通过USB-IF测试的产品上使用USB标志. 另外,会给你的公司分配一个VID (如果你们以前没有的话). 费用为 US$2000/两年.
(c) 购买一个VID,无需签订USB标志许可协议. 这样做的管理费用为US$2000/次. 如果采用这种方式,无论你的产品是否通过USB-IF的测试,你都无权在你的产品上使用USB标志.
要了解详细信息, 请访问USB官方网站 www.usb.org/developers/vendor.
如果你不想申请购买自己的VID, 你可以向赛恩申请一个空白的8位PID, 而使用赛恩的VID. 此项服务不收任何费用. 分配给你的PID必须使用赛恩的VID (0x1B45),并且在系统中使用赛恩的带USB的微控制器.
请向我们填报如下信息已申请 PID 编号:
- 姓名
- 公司名
- 国家
- 电子邮箱
注意,如果VID 或 PID 发生变化, 由赛恩提供的芯片也会随之变化以与新的编号对应. 可以通过检查 .inf 或 .ini 文件来检查或修改VID 或 PID 编号.
软件工具常见问题
- 使用 Windows操作系统的 PC.
(主频最小 1GHz CPU , 推荐使用更高速度). - Windows 2000 或 Windows XP 操作系统.
- 100MB 空闲硬盘空间.
- 512MB 内存. (推荐1GB ).
- 一个空闲 USB 接口(推荐) 或者并行接口.
- 一个空闲的串行接口(可选).
- 安装软件需要系统管理员授权.
启动cyanIDE时为什么会出现错误信息 "QT-MT312.DLL missing(丢失)" ?
这一情况的发生可能与:PATH 变量变得过长,或者定义了过多环境变量有关. 依据系统不同,PATH变量的上限是127/或255个字符, 环境变量的缺省空间上限是256字节.
可以尝试减少系统PATH列表中的入口,删除不再需要的环境变量, 或是增加环境变量的空间分配.
这种情况在安装WindowsXP的某些机型上时有发生. 现象表现为建立项目失败并显示下列错误信息:
Error : FATAL, System error(错误:致命,系统错误)
Description : runprog - spawnvp(描述:runprog-spawnvp)
Build failed (Exit code 2).(建立失败(出口代码2))
目前为止,据我们所知,执意错误可能有两个原因导致.
- 系统登陆受到破坏或失效. 参见 http://www.sophos.org/virusinfo/analyses/trojoptix50.html (runprog 错误信息显示).
- PATH 环境变量设置错误, 所以装载的程序无法定位(spawnvp 错误信息显示).
最好是将两种可能全部检查一下.
可以将 CyanIDE 和eCOG1 工具包装在同一台机器上吗?不行, 不推荐将CyanIDE 和 eCOG1 工具包安装在同一台机器上. 两个工具包使用安装在不同路径,库函数和驱动文件的相同环境变量. 如果二者装在同一台机器上,会造成城区调用混乱.
在安装新版本的CyanIDE之前是否需要卸载老版本?是. 在安装新版本的CyanIDE或eCOG1工具包之前必须先卸载原先安装的老版本. 以前在老目录下产生的用户文件(例如在案例目录下产生的用户项目文件)不会随着CyanIDE 的卸载而被删除.
如果换了一块新的USB评估板, 会显示 "Found New Hardware(找到新硬件)"提示. 这有问题吗?这是正常的. 当一个USB设备插入PC, PC会运行一个被称为 enumeration的程序. 在这一过程中,PC会读出插入的USB设备中的EEPROM中的详细信息,包括串行编码. 如果这一信息与保存的记录相符,相应设备会自动加载.
应为每一台USB设备的串行编码都不一样, 因此当赛恩USB设备第一次接入PC时, "New Hardware Wizard"提示 就会被触发. 特定的串码设备被接入一次之后, 以后的操作同一设备被再次接入时 驱动均会自动加载
在Windows 2000或XP下安装CyanIDE 是否需要系统管理员授权?是. 安装 CyanIDE 时会将eICE调试接口驱动文件拷贝到系统目录下, 并会设置PATH 和环境变量. 这些操作 将会失败,除非你获得 目标机器的系统管理员授权.
怎样在不支持USB接口的Windows NT4下使用 CyanIDE? 赛恩 V1.1-1.3的eICE标准驱动程序同时支持并口和USB口连接eICE.直接安装在不支持USB的Windows NT4上会报错.
在CyanIDE安装目录下有一个之支持并口连接eICE调试器的驱动版本, 其所在路径为 <C:\Program Files\Cyan Technology\CyanIDE\bin\pport>.
再次路径下,拷贝文件 <eice.dll> 致 <C:\WinNT\System32>, 取代已有的支持USB的同名驱动程序.
这可以使你在不支持USB的Windows NY4上正常运行CyanIDE V1.3 和 eICE 调试器.
CyanIDE V1.4 不再支持并口eICE 驱动,因此它不能在Windows NT4下使用.
将编译好的项目文件下载到目标系统时,返回一个错误提示 "The eCOG1 flash programmer is not responding as expected(eCOG1 闪存编程器未正常相应)" 这表明在主机和eICE及目标系统通讯是发生了时序错误. 这种情况一般发生在某些品牌的PC主机上.
检查软件下载网页,查看是否有关于 CyanIDE 或 eICE 驱动软件 (eice.dll)的最新更新 如果发现新版本的eICE 驱动程序, 下载新文件(文件名 eICE_dll.zip), 解压文件, 拷贝到路径 Windows\System32 or WINNT\System32 .
"C:\WINDOWS\SYSTEM32\AUTOEXEC.NT. The system file is not suitable for running MS-DOS and Microsoft Windows applications(系统文件不适合在MSDOS和Windows下运行)". 这是怎么回事?
这一错误可能与你计算机上的 autoexec.nt 文件设置有关. 关于这一错误的详细解释可参见以下网址.
http://support.microsoft.com/default.aspx?scid=kb;en-us;324767
http://kb.bighammer.com/article.aspx?id=10003
请注意赛恩不对其它网站的内容负责.从其它网站下载的文件使用前必须进行病毒和木马程序检测以保证系统安全.
怎样知道编译好的程序的大小?最方便的检查编译完成的代码大小的方法是:查看文件 <project.sec> 此文件在输出文件路径中. 这是CyanIDE V1.3的新功能,它显示定位存储空间的相关信息. 下面是一个LED驱动项目的案例.
| Section(段) | Type(类型) | Address(地址) | Size(大小) |
|---|---|---|---|
| C_RESERVED1(C保留) | USER_SEG(用户段) | 0000 | 0001 |
| CODE(代码) | CODE_SEG(代码段) | 0000 | 0D95 |
| CONST(常量) | CONST_SEG(常量段) | 0001 | 0051 |
| TOTAL(全部) | ODE7 | ||
| VAR(变量) | VAR_SEG(变量段) | EDF5 | 0003 |
| C_RESERVED2(C保留) | USER_SEG(用户段) | EFB8 | 0048 |
| REGISTERS(寄存器) | USER_SEG(用户段) | FEA0 | 0130 |
| TOTAL(全部) | 071B |
第一段显示了闪存中的代码和常量数据段, 第二段列出了位于RAM空间的非常量数据段. 第一个全部显示了占用的闪存空间, 包括程序代码,系统预留空间和常量.第二个全部显示静态数据占用的 RAM空间, 这不包括用户堆栈,中断堆栈等动态数据占用的空间.
开发套件常见问题
在连接并口电缆的状态下启动仿真器时,得到下列出错信息"eICE Write - eICE found LOADB unexpectedly low"(eICE写入-eICE发现LOADB低电平).
这可能是因为PC的并口配制错误或者硬件部分故障造成的. 为判断故障原因, 可以在不连接并口电缆的情况下启动仿真器. 如果仍然报错,则表明并口硬件有问题. 确认你的PC并口设置在ECP模式 (通常在BIOS设置).
如果这时的错误信息变成了 "eICE Write - eICE timed out waiting for LOADB to become low(eICE写入,eICE超时,等待LOADB变低电平)" 则表明问题出在电缆或硬件部分.
PortC_3 被连接到U10-LAN91C111-NE上的INTR0输出,因此这能被用作输入端口.
