小编use*_*425的帖子

通过单个 GPIO 引脚转储闪存

我正在使用 Infineon 的 XMC4500 Relax Kit,我正在尝试通过单个 GPIO 引脚提取固件。

我非常天真的想法是通过 GPIO 引脚一次转储一位,然后用逻辑分析仪以某种方式“嗅探”数据。

伪代码:

while(word by word memory copy hasn't finished)
  ...
  register = value;
  temp_value = value AND 0x1;
  pin = temp_value;
  value = value >> 1;
  ...
Run Code Online (Sandbox Code Playgroud)

我在正确的轨道上吗?有没有人有更好/更好的想法如何存档?

### 编辑 ###

实际上我的(shell)代码的一个要求是它需要非常小。我发现了这个关于如何通过闪烁 LED 转储固件的绝妙技巧。

但是,我正在努力使用 Saleae Logic Analyzer 接收正确的值。

基本上我正在做的是:

  1. 设置GPIO引脚方向输出
  2. 用时钟(SPI 串行时钟)闪烁 LED1(引脚 1.1)
  3. 用数据位 (SPI MOSI) 闪烁 LED2(引脚 1.0)
  4. 使用逻辑分析仪嗅探引脚

这是我的 C 代码:

#include "XMC4500.h"

#define DEL 1260

void init() 
{
  // P1.0 output, push pull …
Run Code Online (Sandbox Code Playgroud)

c embedded reverse-engineering firmware gpio

5
推荐指数
2
解决办法
952
查看次数

标签 统计

c ×1

embedded ×1

firmware ×1

gpio ×1

reverse-engineering ×1