|
发表于 2019-12-2 20:43:51
|
显示全部楼层
最近正在研究 openocd
里面是标准的C面向对象写法,openocd是开源MCU调试软件,支持各种CPU体系,对于每一种支持对象,都有一个标准的struct做接口,类似下面的代码
- struct target_type riscv011_target = {
- .name = "riscv",
- .init_target = init_target,
- .deinit_target = deinit_target,
- .examine = examine,
- /* poll current target status */
- .poll = riscv011_poll,
- .halt = halt,
- .resume = riscv011_resume,
- .step = step,
- .assert_reset = assert_reset,
- .deassert_reset = deassert_reset,
- .read_memory = read_memory,
- .write_memory = write_memory,
- .arch_state = arch_state,
- };
复制代码 |
|