当前位置:首页 > 报告详情

张银奎-自主可控的调试工具.pdf

上传人: 2*** 编号:153936 2024-02-05 52页 3.18MB

1、自主可控的调试工具主讲人:张银奎演讲嘉宾介绍张银奎(Raymond Zhang)格蠹科技创始人25年编程经历格蠹科技2003.5 2016.12 INTEL软件调试作者+格蠹汇编软件简史译作21世纪机器人机器学习数据挖掘原理人工智能求解复杂问题的方法和策略观止微软创建NT和未来的夺命狂奔现代x86汇编语言程序编程苏轼:“问汝平生功业,黄州惠州儋州。”CONTENT目录2023K+01挥码枪Nano Code调试器Semihosting技术02032023K+挥码枪Part 01DP与外部调试器间的物理接口让ARM起飞的关键一步,1997年宣布的Nokia 6110和2001年推出的iPod使用

2、的都是ARM7-TDMISoC调试功能ADIeyeseesightdebuggerdebug linkCoreSightThe ADI provides access to debug functionality that is provided by debug components in an embedded SoC.Purpose of the ADI(访问SoC中的调试功能)DPJTAGSWSWJ2023K+Nano Code调试器Part 02NDINTP(Nano Target Probe)DCI(Direct Connect Interface)NDP(Nano Debug P

3、rotocol)ELK(Debug Embassy for Linux)DBGENG(Debug Engine for Windows)ETF(Debug Embassy for Trusted Firmware)EHV(Debug Embassy for Hyper-V)CapstoneNDWMARM(Machine for ARM)MRV(Machine for RISC-V)Arch ViewMetaverse Viewlk_metant_metasmm_metagrub2_metaatf_metahv_metakvm_meta#define ARMV8_BKPT(Im)(0 xD420

4、0000|(Im&0 xffff)5)#define ARMV8_HLT(Im)(0 x0D4400000|(Im&0 xffff)5)可以用专门的断点指令BKPT也可以用无效指令,目标是产生异常软件断点与安全大趋势冲突使用DPM方式写内存失败硬件断点我是泰山,请密切监视四马路100号硬件断点命令ba e1 代表执行Child-SP RetAddrCall Siteffffff800ed5bcd0 ffffff8008ea09ec lk!tcp_sendmsg+0 x8 net/ipv4/tcp.c 1458ffffff800ed5bd00 ffffff8008d5f598 lk!inet_s

5、endmsg+0 x34 net/ipv4/af_inet.c 799ffffff800ed5bd30 ffffff8008d61310 lk!sock_sendmsg+0 x50 net/socket.c 623ffffff800ed5be70 ffffff8008d613b0 lk!_sys_sendto+0 xb8 net/socket.c 1787ffffff800ed5be80 ffffff8008098ca4 lk!_arm64_sys_sendto+0 x20 net/socket.c 1795ffffff800ed5beb0 ffffff8008098de0 lk!el0_sv

6、c_common.constprop.0+0 x64./arch/arm64/include/asm/current.h 19ffffff800ed5bec0 ffffff8008083d08 lk!el0_svc_handler+0 x28 arch/arm64/kernel/syscall.c 1640000007f27ffd8f0 0000007f8d585218 lk!el0_svc+0 x8 arch/arm64/kernel/entry.S 941tcp_sendmsgChild-SP RetAddrCall Siteffffff800f08bb00 ffffff80090a060

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了ARM处理器上运行的软件如何通过semihosting机制与宿主机进行交互。semihosting允许软件在ARM目标上运行时,使用宿主机的输入/输出设施。文章提到了semihosting的条件,即目标软件需要链接特殊的基础库。同时,还介绍了如何通过寄存器r0和r1读取semihosting操作和参数,以及semihosting支持的文件操作、终端I/O操作、时间操作和系统/杂项操作等。最后,文章提到了与semihosting相关的寄存器和操作指令。
"Semihosting是什么?" "如何实现Semihosting?" "Semihosting有哪些应用场景?"
客服
商务合作
小程序
服务号
折叠