Jlink

在此做此笔记,来总结这两天遇到的jlink问题。

首先jlink官网下载地址:SEGGER - The Embedded Experts - Downloads - J-Link / J-Trace

找到自己想要的版本,我选的如下,(N32G455)

下载完框框安装就行了。

遇到的问题:

一:找不到SWD,没有识别到MCU,但是已经识别到了Jlink,然后下载就会报错如下右图

        

1:首先检查DIO和CLK是否接反,GND接上。看了别人文章部分说必须要接5V,但是部分内部设计好了,我们可以不接5V。

2:检查Jlink,开发板、电脑(jlink、segger、环境变量)是否正常。我的做法是换一整套设备(包括电脑、开发板、jlink下载器),然后正常可以识别,然后逐一将上一套的替代检查,最后发现jlink下载器版本太老、开发板也有问题不能仿真。

3:还可以检查芯片是否选择正确(魔术棒里Device),是否选择了SW模式(Debug中settings中)

最后我讲开发板和Jlink全都换了后发现电脑的固件版本太低好像,然后出现固件版本太低问题

然后通过看大量文章替换segger(不好找),更改环境变量,更换Jlink版本都未解决,可能是做的不对,后面解决了再来完成

发现是盗版jlink问题,在提示窗口下更新更新失败,换一个下载器即可。

03-10
### JLink编程接口概述 JLink是一款由Segger公司生产的高性能在线仿真器/下载器,广泛应用于嵌入式系统的开发过程中。其支持多种微控制器架构,并提供丰富的API用于软件集成和自动化操作[^1]。 对于开发者而言,JLink提供了两种主要类型的编程接口: #### 1. 命令行界面 (Command Line Interface, CLI) 通过命令行可以执行一系列预定义指令来控制目标设备的状态、读取内存数据或者向其中写入程序代码。这种方式适合于脚本编写以及批处理任务的实现。CLI允许用户发送特定命令到连接的目标硬件上完成诸如擦除芯片、加载固件文件等功能。 #### 2. 应用程序编程接口 (Application Programming Interface, API) 为了更灵活地操控JLink,在高级应用场合下推荐使用官方提供的动态链接库形式的应用程序编程接口——JLinkARM.dll(针对32位系统)或JLink_x64.dll(针对64位系统)。这些DLL包含了大量函数调用来满足不同需求下的调试与烧录工作流。例如`JLINKARM_Open()`用于打开一个新的会话;而像`JLINKARM_WriteMem()`这样的功能则可以直接对指定地址范围内的存储空间进行修改。 ```c #include "jlinkarm.h" int main() { if(JLINKARM_IsOpen()) { // 检查是否已经打开了一个有效的会话 printf("J-Link is already open.\n"); } else { if(!JLINKARM_Open()) { // 尝试建立新的会话 printf("Failed to open J-Link\n"); return -1; } printf("Successfully opened J-Link session.\n"); uint8_t buffer[] = {0x01, 0x02}; JLINKARM_WriteMem(0x20000000, sizeof(buffer), buffer); // 向指定地址写入数据 JLINKARM_Close(); // 关闭当前会话 } return 0; } ``` 上述C语言代码片段展示了如何利用JLink ARM DLL中的几个基本函数来进行简单的初始化设置并尝试往目标MCU内部RAM区域写入少量测试数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发热的32

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值