芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

IC解密HC32L110 Ubuntu20.04 VSCode的Debug环境配置

IC解密环境说明

本文使用的软硬件环境已经在前面介绍

硬件
基于 HC32L110 系列MCU的开发板
JLink OB
软件
Ubuntu20.04
VSCode

IC解密配置步骤

安装配置 Cortex-Debug

在VSCode的插件中, 搜索安装Cortex-Debug

IC解密在VSCode中, 切换到Run And Debug, 点击上方的 Add Configuration, 会在 .vscode 目录下的 launch.json (如果没有会自动创建)中添加配置, 需要增加对应的配置信息

  1. "configurations": [
  2.         {
  3.             "name": "Cortex Debug",
  4.             "cwd": "${workspaceFolder}",
  5.             "executable": "${workspaceFolder}/Build/app.elf",
  6.             "request": "launch",        // 可以是launch或attach, 后者表示运行中接入, 前者会执行前置任务并重启
  7.             "type": "cortex-debug",
  8.             "runToEntryPoint": "main",
  9.             "servertype": "jlink",
  10.             "device": "HC32L110X4",     // 如果是32K的版本, 需要修改为 HC32L110X6
  11.             "interface": "swd",
  12.             "runToMain": true,          // false则从 reset handler 开始停留
  13.             "preLaunchTask": "build",   // 根据 tasks.json 中配置的任务填写,
  14.             // "preLaunchCommands": ["Build all"], // 如果不使用 preLaunchTask, 可以用这个参数指定命令行命令
  15.             "svdFile": "",              // svd 用于观察外设
  16.             "showDevDebugOutput": "vscode", // 输出的日志级别, parsed:解析后的内容, raw:直接输出, vscode:包含scode调用和raw
  17.             "swoConfig":
  18.             {
  19.                 "enabled": true,
  20.                 "cpuFrequency": 24000000,
  21.                 "swoFrequency":  4000000,
  22.                 "source": "probe",
  23.                 "decoders":
  24.                 [
  25.                     {
  26.                         "label": "ITM port 0 output",
  27.                         "type": "console",
  28.                         "port": 0,
  29.                         "showOnStartup": true,
  30.                         "encoding": "ascii"
  31.                     }
  32.                 ]
  33.             }
  34.         }
  35.     ]
复制代码


具体的配置项含义, 可以参考 Debug Attributes

同时在 .vscode/settings.json 中增加以下配置, 如果文件不存在则创建. 路径根据自己的环境修改

  1. {
  2.     "cortex-debug.gdbPath": "/opt/gcc-arm/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/bin/arm-none-eabi-gdb",
  3.     "cortex-debug.JLinkGDBServerPath": "/opt/SEGGER/JLink/JLinkGDBServerCLExe",
  4. }
复制代码



修改 rules.mk

在rules.mk中开启debug, 涉及到两处, OPT要使用-O0, 表示不执行任何优化. 使用优化后代码中的部分变量在编译后会被丢弃无法跟踪

OPT         ?= -O0

在CFLAGS中增加gdb输出

CFLAGS      += -g -gdwarf-2 # original: -g

这样编译后, 尺寸会比原先大不少



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信