完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
分类归纳尝试中,同时欢迎总结过类似信息的朋友进行补充,方便查阅。
一、E8A常见错误 1、在Flash Development Toolkit V.3 or V.4 环境中,使用E8/E8A调试器时出现提示:“FDT will now update the E8/E8a firmware to a newer version to allow connection to thie device (current Adaptor Software (Level x) version = x.xx.xx.xxx, new version = x.xx.xx.xxx) Click OK to continue”,应该怎么操作? 答:请点击[OK]按钮,接下来会出现提示信息‘在更新过程中不要断开E8/E8A调试器的u***线缆,’负责会损坏调试器。‘E8/E8a firmware’是嵌入在E8/E8a调试器里的调试控制软件,对于HEW debugger 和Flash Development Toolkit 的版本有所不同,所以会在有必要的时候提示更新该固件程序。 2、用E8A/E8调试器连接MCU板时出现提示:“Boot failed”“communication timeout error”,接着出现提示:“target missing”“cannot find device driver or connection was cancelled”。 答:(1)检查E8A/E8与MCU的连线是否正确 (2)进行E8A/E8自检程序,如果自检通不过那么调试器出故障了,需要更换新的调试器。 (3)否则就是MCU板本身的问题。 3、在HEW环境下,当连接E8A调试器时出现提示“Target device driver missing, or connection cancelled”,产生错误的原因是什么? 答:可能是没有安装E8A调试软件。具体步骤是: (1)打开HEW软件并打开一个workshop工程,如果出“device driver not found;connection cancelled”提示框,点击OK按钮; (2)打开[Debug]->[debug settings]对话框,Target列表里选择none,点击OK按钮关闭该对话框; (3)重新打开[Debug]->[debug settings]对话框,如果Targe列表里没有E8A调试软件选项,则表明E8A调试软件没有安装。解决方法就是重新安装E8A调试软件,再次打开HEW并连接调试器。 4、选择好MCU型号后,连接E8A调试器时,出现错误提示如下图所示。 答:提示框的标题是“E8R8C”,E8与E8A是不同的,所以需要重新设置[debug]->[debug settings]-[target]选项,应该选择[xxx E8a SYSTEM]。 如果没有该选项,那么证明没有安装E8A调试软件,需要安装该软件,然后再设置上面的选项。 5、当用R8A/E8下载程序到MCU板时,出现错误提示“Invalid address value” 答:(1)请检查连接E8A时选择的MCU型号是否与电路板MCU实际型号一致,如果不一致会导致上述错误; (2)请确保位用户程序分配的空间在MCU的ROM/RAM允许设置空间范围。 (3)请确保ROM 空间为 768 KB (R5F3650T, R5F3651F)及640 KB (R5F3650R, R5F3651R) 的M16C/65系列MCU时,PRG2G寄存器的IRON位设置为高电平‘1’。 6、在flash write-only模式,用E8A或者E8下载程序到H8系列MCU时,出现错误告“program size is exceeds Flash memory size”。 答:出现上述警告表明下载程序的部分数据被存储到internal ROM以外的内存空间,可以改变这部分数据的section(段)或者改动程序代码。 7、用E8A连接H8系列MCU,执行程序时出现错误提示“Programcounter is odd”和“Stack pointer is odd”。 答:(1)对于PC(program counter),应该检查是否下载程序到MCU。 首先通过[debug]->[download](或者点击workspace窗口[download modules]按钮),下载相应的程序到MCU板,然后执行[Reset CPU]操作。如果下载没完成,即使在程序了设置了reset vector,也不会有任何反应。这是因为程序跑飞后程序指针PC或者堆栈指针SP会置为奇地址,所以一定要确认程序下载成功。 如果依然不能解决问题,那么检查程序中reset vector的设置。 (2)对于H8单片机,没有指定堆栈指针SP的初始值,并且不能被设定为奇数值。另外,E8A/E8运行用户程序时需要设定用户SP,具体是在建立工程时设定SP初值。总之出现“Stack pointer is odd”的原因有两种,一种是SP被人为设定为奇数值,另一种是程序跑飞后SP被置为奇数值,那么即使重启CPU依然不会使SP发生变化。解决方法是用户程序中为ER7、R7寄存器设置相同的初始值,做为SP的初始值。具体步骤是选择HEW环境中的[view]->[CPU]->[register],并设定值。 8、用WDT监控程序过程中,看门狗rWDT刷新无故产生,接着出现communication timeout error提示(调试M16C,M32C系列MCU时)。 答:产生上述错误的原因有两种。 (1)在不需要看门狗定时器的情况下,[debugging of program that uses WDT]的状态为ON。 解决方法是设置该状态为OFF,具体打开E8/E8A [emulator setting]->[firm ware assignment]->[debugging of program that uses WDT],选择OFF状态。 (2)如果用E8A/E8对使用看门狗定时器的用户程序进行debug操作,必须选择[debugging of program that uses WDT]的为ON状态。那么请确认在程序的停止状态(即break过程中),没有看门狗溢出事件发生,因为E8A/E8会在break过程中周期性的刷新看门狗。对于M32C和M16C系列MCU,‘刷新WDT’与‘开启WDT’是等同的,所以无论用户程序是否开启WDT,WDT都会自动开启。 比如下面的用户程序: Start: (3) : : Loop process (2) : Watchdog Timer reset (1) : : MCU重启后,看门狗WDT开启动作应该在用户程序的‘Watchdog Timer reset (1)’处发生。但是,用E8A/E8调试WDT时,在程序的开始‘Start (3)’处WDT开启。所以,当程序中包含循环函数‘Loop process(2)’,如果在(1)执行之前WDT reset发生,那么就会造成“Communication timeout error”。为了避免该事件发生,请在(1)之前添加WDT定时器reset 程序,但只是在debug过程中添加。 |
|
相关推荐
2 个讨论
|
|
只有小组成员才能发言,加入小组>>
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)PWM输出+ADC采集
759 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】尝试嵌入式操作系统Free-RTOS
1577 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】触摸按钮尝试
696 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】IIC 通信的 OLED 显示
663 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】原创测量代码运行时间
551 浏览 0 评论
【试用答疑】RA-Eco-RA4M2-100PIN开发板试用活动答疑帖
5079浏览 4评论
1736浏览 4评论
4207浏览 3评论
【RA-Eco-RA0E1-32PIN-V1.0开发板试用】RA0E1-32PIN-V1.0开发板测试一下点灯
2293浏览 3评论
【RA4M2设计挑战赛】智慧农业监测RA4M2采集数据上传阿里云
1549浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 01:44 , Processed in 0.588053 second(s), Total 61, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号