小编use*_*822的帖子

JTAG 调试器如何停止基于 ARM 的设备的核心?

我试图了解 JTAG 调试背后发生的过程。据我了解,支持 JTAG 调试的设备在设备中有一个称为 DOC(片上调试)的特殊组件。该组件的核心是 TAP 控制器,负责执行来自连接的 JTAG 适配器的请求。

有人可以解释一下适配器向 TAP 控制器发送暂停请求时会发生什么吗?我对电信号的细节不感兴趣,但对过程更感兴趣。是否必须设置 DOC 的任何寄存器才能停止系统?如果是这样,DOC 如何“知道”何时检查该寄存器的值?

我还知道,在大多数 ARM 处理器上,DOC 除非停止,否则无法访问内核寄存器。但是任何内核进程都可以访问 DOC 的寄存器吗?

谢谢你!

debugging arm jtag

5
推荐指数
1
解决办法
2631
查看次数

从内核模块中查找异常向量表的物理地址

我有一个Android设备 - 三星galaxy s2内核版本2.6.35.14(arm cortex a9)

我试图找到异常向量表的物理地址.我知道它在0xffff0000虚拟地址.(我可以通过内核模块打印它的值)

我也知道大多数内核虚拟地址(到物理)的转换是由值0x8000000的子站完成的.

我有一个设备可以直接从设备内存中读取数据,我想获得异常向量表.

当我构建一个内核模块并尝试使用宏virt_to_phys(0xffff0000)我有一些地址,但表不在那里.我成功找到了系统调用表,但这里宏给了我错误的地址.

有谁知道为什么会这样?异常向量表的地址是否位于特殊的物理地址中?内核是否以某种特殊方式转换其地址?

谢谢!!

android arm memory-management linux-kernel

4
推荐指数
1
解决办法
2863
查看次数

标签 统计

arm ×2

android ×1

debugging ×1

jtag ×1

linux-kernel ×1

memory-management ×1