找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 7821|回复: 6

[请教]哪位大侠能详细介绍一下EC调试方法和技巧

[复制链接]
发表于 2009-6-13 18:32:03 | 显示全部楼层 |阅读模式
我想知道,不管哪家的ec,当遇到问题时用到的调试方法有哪些:2 s, q- j2 ~# `- `2 g( H
我知道的只有一种就是在ec代码里面加一些输出语句,然后查看ec ram里相应地址单元的输出内容.. t1 y: n4 S$ H' j- }8 z5 |
还有什么其他的debug方法,技巧和工具可以更好的发现问题吗,希望各位大虾介绍详细介绍一下你们平常用到的调试方法好吗,非常感谢!当然peter说的什么windbg那个有点复杂,没大看懂.
发表于 2009-6-13 18:53:19 | 显示全部楼层
常见的方法如你所说使用串口输出,或者查看EC RAM内容,其实这些方法可以用来分析很多bug了。下面是我还会用到方法:
6 D  i2 Z0 n+ z! M1.有些时候系统hang住了上述方法就全部失效了,那我就会用点led灯或者pull high/low没有用到的pin的方式debug(这也是无奈之举,而且只能在怀疑的某些重点地方debug)。
$ Q/ B3 ^7 {. x. @9 H4 `' M2.有些bug跟送给EC的cmd以及var的数量和顺序有关,我就会用EC RAM记下所有的命令。0 A  c" B/ D) h7 n
如这样写法:Ram[0x01 + RAM[0X00]] = cmd;++RAM[0X00];这样cmd的数量,内容就全部记录了。& B: N& E4 K) W5 ?4 f  O
3.我们有一种debug card可以接在SMBUS上,我就把它接EC的smbus上,这样EC也可以通过写smbus拋点了。
& S/ F, t/ y2 H& R  |8 [以上希望对你有所帮助。
+ g) d  H4 r9 {9 _7 q! p2 F. c
7 J1 S: P- i, X6 a) B+ v[ 本帖最后由 peterhu 于 2009-6-13 18:55 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-6-13 19:07:19 | 显示全部楼层
非常感谢peter的精彩回答,以后有空还得多向你学习!!
回复

使用道具 举报

发表于 2009-6-13 19:16:51 | 显示全部楼层
你怎么老是发两条啊:),删掉一条吧。哈哈...; L+ q+ p, N; Y& U6 `* x
互相学习。
回复

使用道具 举报

 楼主| 发表于 2009-6-13 19:30:27 | 显示全部楼层
不好意思,我也不知道为什么提交一次就变成两条了?也找不到删除按纽,麻烦你再帮我删除一下吧
回复

使用道具 举报

发表于 2009-6-16 12:08:32 | 显示全部楼层
还有一种就是用 JTAG 仿真器, 源代码级调试, 什么东西都可以看到。
7 k* d7 `4 L& P$ r) `" X- @# u/ k另外,我司提供 LPC 监测卡,你也可以很方便的往 LPC 总线丢特征码
回复

使用道具 举报

发表于 2009-6-17 12:55:10 | 显示全部楼层
以上很全面的
9 n8 s* q5 U: u* M/ {/ p4 Y1,没有串口可以输出数据,则可以在可疑或需要的地方发字符到系统下,这样DOS或打开记事本什么的等到条件触发后就发字符了(比如一个EC里发字符的函数为Send_OEM_Key);* n* f2 ^( R! H$ u
2,还可以直接屏蔽代码语句或函数,就可以知道是不是这个地方引起的(这个比较无奈也很傻瓜);( X  i3 ]7 N5 a5 |

3 {/ T  a; j3 B& f8 z3,补充一下
1 K$ g5 H, V7 y* F/ ^3 R①LED灯闪或拉pin3,可以整不同的灯闪组合或次数这样也可以追踪代码;% |1 k$ F! V; s6 ]
②把相关信息放到EC ROM里面,可以放在EC Space里面,然后看就行了;/ `5 B5 E  y' P# F8 l% Y7 r6 O% K6 d

, k  C9 z1 C: b/ L4 N" Y2 y8 P仅供参考!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2025-12-1 07:19 , Processed in 0.080755 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表