搜索
bottom↓
回复: 75

STM32F4 使用 Keil MDK 逻辑分析仪参与硬件调试的教程

  [复制链接]

出0入0汤圆

发表于 2015-12-18 16:04:03 | 显示全部楼层 |阅读模式
这是一篇 STM32F4 处理器使用 Keil MDK 中的逻辑分析仪参与硬件调试的实验教程,节选自 ARM Keil Application Note 230 的前半部分。
这个功能其实一直就有,但感觉能搜到的资料比较少(倒是做软件仿真的资料比较多),所以在这里分享一下。

原文前半部分还包括断点、观察点等常规调试实验,完整翻译在[这个链接里]缓慢更新,排版可能比这个帖子好一点。
原文废话特多,我翻译着都觉得累。

原文使用的是 STM32F4-Discovery 开发板,我这里都改用 NUCLEO-F401RE 实现了。Discovery 板卡在新版本的 Pack Installer 中已没有 Blinky 例程支持,可以用 CMSIS-RTOS Blinky 来做,变量定义的位置等会有变化。
这篇教程针对 MDK 5.10 及更新版本。MDK 4 有另一篇教程对应。

教程使用C:\MDK\做为例程目录,并以默认 MDK 安装路径为例:C:\Keil_v5。
这个实验可以用评估版本(MDK-Lite)来完成,不需要购买授权。
不需要额外的调试器,只需准备 NUCLEO-F401RE 开发板、USB 线,以及在电脑上安装 MDK 5.10+ 就可以了。

6) μVision Software Pack 的下载和安装步骤

1) 启动 μVision 并打开 Pack Installer

1. 将电脑连接到外网上,下载 Software Pack 需要外网连接。

2. 点击桌面上的图标启动 μVision。

3. 点击工具栏上的按钮  打开 Pack Installer。

4. 这里应该出现下面这个窗口。在 Board 选项卡中,选择 NUCLEO-F401RE,右侧 Packs 选项卡中的列表会自动筛选。


5. 注意:窗口右下角应该显示“ONLINE”。如果显示的是“OFFLINE”,请检查外网连接之后再继续下面的步骤。

6. 如果在 Pack Installer 启动的时候没有连接到外网,列表中将不会显示内容。这时候需要在连接到网络后,点击菜单 Packs/Check for Updates 或者工具栏中按钮刷新一下。

2) 安装 STM32F4 Software Pack

1. 点击 Packs 选项卡,可以看到 ARM::CMSIS Software Pack 是默认安装好的。

2. 选择 Keil::STM32F4xx_DFP 和 Keil::STM32NUCLEO_BSP 并点击 Install,这两个 Software Pack 会下载并安装在默认文件夹 C:\Keil_v5\ARM\Pack\Keil 中。下载估计需要两三分钟的时间。

3. 下载完成后,Action 栏应显示“Up to date”状态。

3) 安装 Blinky MDK 例程

1. 选择 Examples 选项卡,出现如下窗口:


2. 选择 Blinky (NUCLEO-F401RE)。

3. 点击右侧的 Copy。

4. Copy Example 窗口如图所示。选择 Use Pack Folder Structure,取消选择 Launch μVision。


5. 输入 C:\MDK,点击 OK 完成 Blinky 工程的复制。

6. Blinky 工程已经复制到 C:\MDK\Boards\ST\NUCLEO-F401RE 了。
提示:复制例程时,一开始的默认路径是 C:\Users\< user >\Documents,这篇教程使用 C:\MDK\ 做为默认路径。实际上可以选择任意路径。

7. 关闭 Pack Installer。

7) 测试 ST-Link V2 的连接

1. 用 USB 线将 NUCLEO 开发板连接到电脑上。

2. 如果 ST-Link USB 驱动程序安装正确,应该可以听到正常的 USB 设备连接的系统声音。否则需要手动安装驱动程序。

3. 两个红色 LED 应该点亮:LD1 (COM)和 LD3(PWR)。

4. 启动 μVision 并选择 Project/Open Project。

5. 选择 Blinky 工程 C:\MDK\Boards\ST\NUCLEO-F401RE\Blinky\Blinky.uvprojx。

6. 在这个地方选择 STM32F401 Flash: 。

7. 点击工具栏上 Target Options 按钮  或者按 ALT+F7,并选择 Debug 选项卡:


8. 点击 Settings,会出现下面所示的窗口。如果显示出了 IDCODE 和 Device Name,说明 ST-Link 工作良好,可以继续下面的教程。另外请确认 Download to Flash 是不选中的。点击两次 OK 返回 μVision 主界面。


9. 如果 SW Device 框中没有显示,或者显示 error,这个问题在继续本教程之前必须要解决。请参照完整版原文内容:安装 ST-Link USB 驱动程序。

10. 如果已经显示正常,ST-Link USB 驱动程序安装良好。点击两次 OK 退出 Target Options 窗口并从第9章继续。

提示:在上图 Port 框中选择 JTAG,然后在选回 SW,可以刷新 SW Device 框的显示。也可以关闭再重新打开这个窗口。

9) 使用 NUCLEO 开发板运行 Blinky 例程

我们将使用板载 ST-Link V2 调试器连接 Keil MDK 开发平台和真实的目标硬件。

1. 启动 μVision,用 USB 线将 NUCLEO 开发板的 CN1 连接到电脑上。

2. 选择 Project/Open Project,打开文件 C:\MDK\Boards\ST\NUCLEO-F401RE\Blinky\Blinky.uvprojx。

3. 点击工具栏上的 Rebuild 按钮  编译源文件。

4. 点击 Download 按钮  对 STM32 的 flash 进行编程。Output 窗口中会显示这个过程。

5. 点击 Debug 按钮  进入 Debug 模式,如果出现 Evaluation Mode 对话框,点击 OK。

6. 点击 RUN 图标 。注意:点击 STOP 图标  可以停止程序运行。

NUCLEO 开发板上的绿色 LED 会开始闪烁。
按下开发板上蓝色的 USER 按键会暂停闪烁。

12) Watch 窗口及其使用方法

Watch 和 Memory 窗口实时显示变量的值,这是通过 ARM CoreSight 调试技术实现的,这项技术是包含在 Cortex-M 处理器中的一部分。同时,也可以在这些存储器地址上实时地“put”或插入数值。这两个窗口都可以通过拖拽变量名,或者手动输入来添加变量。
添加全局变量: 除非程序停止在局部变量所在的函数,否则 Watch 和 Memory 窗口不能观察局部变量。

1. 停止运行处理器  并退出 Debug 模式 。

2. 在 Blinky.c 的第24行左右,声明一个全局变量(这里变量名叫做 value):unsigned int value = 0;。

3. 在第104行左右添加语句 value++; 和 if (value > 0x10) value = 0;,如图:


4. 选择菜单 File/Save All 。

5. 点击 Rebuild ,点击 Download  下载到 flash。

6. 进入 Debug 模式 ,点击 RUN 。

7. 在 Blinky.c 中,右键点击变量 value 并选择 Add value to … 及 Watch 1,Watch 1 窗口会打开并显示 value 如下图。

8. value会实时增加到0x10。


提示: 请确认菜单 View/Periodic Window Update 在选中状态。

9. 也可以在 Name 下面区域双击或按 F2,再手动输入或复制粘贴变量名。或是打开菜单 View/Symbols Window 来输入变量。

14) 使用 Logic Analyzer 图形化观察变量

这一章将在 Logic Analyzer 中显示全局变量的值。这个功能使用 Serial Wire Viewer,因此不会窃取 CPU 周期用户代码中也不需要加入任何代码片段

配置 Serial Wire Viewer (SWV):

1. 停止运行处理器  并退出 Debug 模式 。

2. 点击工具栏上的 Target Options  或者按 ALT+F7,并选择 Debug 选项卡,点击窗口右侧的 Settings,确认选择的是 SW 模式。

3. 选择 Trace 选项卡,选择 Trace Enable,取消选择 Periodic 和 EXCTRC,设置 Core Clock 为 48 MHz。其他选项如图所示。
译者注:CPU 时钟频率很重要,请务必按照实际值设置。Blinky 工程的时钟频率在 Abstract.txt 中可以找到。如果使用的是其他板卡,请自行检查时钟频率。

4. 点击 OK 返回 Target Options。

5. 再次点击 OK 返回主界面。


配置 Logic Analyzer:

1. 进入 Debug 模式 。打开菜单 View/Analysis Windows 并选择 Logic Analyzer,或者选择工具栏上的 LA 按钮 。

2. 点击 Blinky.c 选项卡,右键点击 value 变量并选择 Add value to… 及 Logic Analyzer。也可以手动拖拽来添加。

3. 点击 LA 左上角的 Setup… 按钮进入 LA 设置窗口。

4. 选择 value,设置 Display Range Max 为 0x15。

5. 点击 Close。


运行程序:

1. 点击 RUN 。点击 Zoom Out 使图形中网格大小是5秒左右。

2. 变量 value 的值将增加到 0x10(十进制16)再重新设为 0。

提示: 如果没有看到波形,请退出并重新进入 Debug 模式以刷新 LA。可能还需要重新上电 NUCLEO 板卡。另请确认 Core Clock 的数值正确。
提示: Logic Analyzer 中最多可以显示4个变量,必须是全局变量、静态变量或原始地址如 *((unsigned long*)0x20000000)。

3. 请注意当 USER 按钮按下时,变量的值会随之停止增加。当然也请注意这个现象的观察是如此直观。

4. 选择 Signal Info、Show Cycles、Amplitude 及 Cursor,观察 LA 的测量功能。点击 Update Screen 栏的 Stop 按钮可以停止 LA。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入8汤圆

发表于 2015-12-18 17:32:02 | 显示全部楼层
帮顶……虽然用不上,但是楼主写得很清楚。

出0入0汤圆

发表于 2015-12-18 17:40:47 | 显示全部楼层
楼主这么认真研究,点个赞

出0入0汤圆

发表于 2015-12-18 18:06:42 | 显示全部楼层
之前不是用ULINK才能用虚拟逻辑义么

出0入0汤圆

发表于 2015-12-18 18:21:40 | 显示全部楼层
谢谢版主分享!!!

出0入0汤圆

发表于 2015-12-18 18:31:03 | 显示全部楼层
希望能够有个完整 的,不过还是谢过楼主

出0入0汤圆

发表于 2015-12-18 21:14:14 | 显示全部楼层
多谢,收藏备用

出0入0汤圆

 楼主| 发表于 2015-12-18 22:17:43 | 显示全部楼层
four_zhg 发表于 2015-12-18 18:31
希望能够有个完整 的,不过还是谢过楼主

完整版特别啰嗦,我想还是拣精华放在论坛上吧。

csdn那边的完整版翻译更新到前15章,后面可能把19~24、26、27慢慢加上。16~18用NUCLEO做不了,改用Discovery会显得比较割裂;25要用ULINKpro估计大部分人都没有。

出0入0汤圆

发表于 2015-12-18 22:34:39 | 显示全部楼层
做个记号,估计以后可以用

出0入0汤圆

发表于 2015-12-19 00:16:58 | 显示全部楼层
K.O.Carnivist 发表于 2015-12-18 22:17
完整版特别啰嗦,我想还是拣精华放在论坛上吧。

csdn那边的完整版翻译更新到前15章,后面可能把19~24、2 ...

mdk的逻辑分析仪不是只能软仿真么,你这是硬件仿真吗,就用st-link仿真器?

出0入0汤圆

发表于 2015-12-19 00:21:32 来自手机 | 显示全部楼层
感谢楼主分享,这为观察变量又提供了一种好的方法。

出0入0汤圆

 楼主| 发表于 2015-12-19 07:35:13 来自手机 | 显示全部楼层
本帖最后由 K.O.Carnivist 于 2015-12-19 21:12 编辑
myxiaonia 发表于 2015-12-19 00:16
mdk的逻辑分析仪不是只能软仿真么,你这是硬件仿真吗,就用st-link仿真器? ...


是的,ST-Link V2,硬件调试。而且不需要添加任何代码,直接图形化看变量,不影响原程序时序。
MDK 逻辑分析仪应该一直都支持硬件调试吧,只是以前 ST-Link 这类廉价调试器不支持 SWV。

出100入101汤圆

发表于 2015-12-19 10:36:35 | 显示全部楼层
不错,空了慢慢看!

出20入0汤圆

发表于 2015-12-19 12:20:02 | 显示全部楼层
  谢谢分享,楼主写的很仔细。

出0入0汤圆

 楼主| 发表于 2015-12-21 23:26:08 | 显示全部楼层
更新第21章:

21) Serial Wire Viewer(SWV)配置窗口(供参考)

跟踪功能的配置主要是在图中所示的 Trace 选项卡中完成的。μVision 中没有全局的 SWV 选项,对每个工程、以及工程中的每个 target 设置,都需要单独配置 SWV,配置信息存储在工程中。这个窗口有两种方法进入:

A. 在编辑模式中: 选择 Target Options  或者按 ALT+F7,并选择 Debug 选项卡。点击窗口右侧的 Settings,再选择 Trace 选项卡。启动 μVision 时默认是编辑模式。

B. 在 Debug 模式中: 选择菜单中的 Debug/Debug Settings,再选择 Trace 选项卡。Debug 模式用  按钮进入。



1) Core Clock: SWV 的 CPU 时钟频率。在工程的启动代码或者 Abstract.txt 中可以找到 CPU 时钟频率,通常叫 SYSCLK 或主时钟频率。除非使用的是 ULINK pro 调试器,否则这个选项必须填写正确。

2) Trace Enable: 使能 SWV 和 ITM。这个选项只能在编辑模式修改。不会影响 Watch 和 Memory 窗口的更新。

3) Trace Port: 使用 ST-Link 时,这个选项是不可更改的。

4) Timestamps: 使能时间戳,选择预分频器。预分频器默认是1。

5) PC Sampling: 对 PC 指针的采样:
   a. Prescaler: 1024*16(默认值)指的是每 16,384 个 PC 指针会显示 1 个,其他的不会采集。
   b. Periodic: 使能 PC 指针采样。
   c. On Data R/W Sample: 显示造成逻辑分析仪中所列的变量的读写对应的指令地址。这个功能与数据跟踪有关,但与 PC 采样无关。

6) ITM Stimulus Ports: 使能用于在 μVision 中输出数据的类似 printf 的语句的 32 位寄存器。端口 31(a)用于 Keil RTX Viewer,实时内核识别(awareness)窗口;端口 0(b)用于 Debug (printf) Viewer;其他位在 μVision 中没有使用。
   Enable: 显示 32 位十六进制数,代表哪些端口是使能的。
   Privilege: Privilege 用于 RTOS 指定哪些 ITM 端口可以在用户程序中使用。

7) Trace Events: 使能各种 CPU 计数器。除了 EXCTRC 之外,其他的都是 8 位计数器。每个计数器是累积的,每 256 周期产生计数器溢出事件。Counter 窗口显示计数器的值,Instruction Trace 窗口显示计数器溢出并重新计数产生的事件。
   a. CPI: 从第一个指令到每个指令所用的额外周期数,其中包括指令取指拖延(instruction fetch stall)。
   b. EXC: CPU 的异常(exception)开销的累积周期数,包括入栈和返回操作,不包括花费在异常处理程序的时间。
   c. Sleep: CPU 在睡眠模式的累积周期数,使用 FCLK 时钟。
   d. LSU: 从第一个周期开始,花费在 load/store 上的累积周期数。
   e. Fold: Folded 指令的累积数量。这个结果来自那些已经从流水线上移除(flush)了无用指令,从而导致零执行周期的预测分支指令。(译者注:我架构学的烂,这句不太会翻:These results from a predicted branch instruction where usused instructions are removed (flushed) from the pipeline giving a zero cycle execution time.)
   f. EXCTRC: 异常跟踪。这一项与上面其他项有所不同,不是一个计数器。这个选项使能 Trace Exceptions 窗口中异常的显示。这个功能通常在调试中使用,用来显示异常。

提示: 计数器在单步执行是也会累加,这提供了很有用的信息。计数器是映射在存储器上的,可以在程序中读取。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-12-22 00:39:19 | 显示全部楼层
谢谢楼主分享!

出0入0汤圆

发表于 2015-12-24 12:28:58 | 显示全部楼层
很好,很详细

出0入0汤圆

发表于 2015-12-24 13:33:40 | 显示全部楼层
详细啊 MARK 后再看

出0入0汤圆

发表于 2015-12-24 13:47:53 | 显示全部楼层
mark一下

出0入0汤圆

发表于 2015-12-24 23:21:37 | 显示全部楼层
求一款STM32 F401的官方开发板,代价M~

出20入25汤圆

发表于 2015-12-25 08:45:56 来自手机 | 显示全部楼层
JLINK试过没有

出0入0汤圆

 楼主| 发表于 2015-12-26 12:47:28 | 显示全部楼层

JLINK可以。逻辑分析仪需要连SWO。
软件上我是这样设置的:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入8汤圆

发表于 2015-12-26 13:01:10 来自手机 | 显示全部楼层
103系列可以不

出0入0汤圆

 楼主| 发表于 2015-12-26 13:03:13 | 显示全部楼层
jcrorxp 发表于 2015-12-24 23:21
求一款STM32 F401的官方开发板,代价M~

401的Discovery已经NRND了,Nucleo的话淘宝七八十块就能买,不需要二手吧……

出0入0汤圆

 楼主| 发表于 2015-12-26 13:04:17 | 显示全部楼层

可以。其实22楼就是我在用JLINK连一片103RB。

出110入0汤圆

发表于 2015-12-28 00:45:38 | 显示全部楼层
我默默地点了收藏,只能这么支持楼主了

出0入0汤圆

发表于 2015-12-28 07:51:54 | 显示全部楼层
K.O.Carnivist 发表于 2015-12-21 23:26
更新第21章:

21) Serial Wire Viewer(SWV)配置窗口(供参考)

Trace Events 这个是st-link这种也能用的吗  还是说需要带trace的调试器

出0入10汤圆

发表于 2015-12-28 09:05:57 | 显示全部楼层
点赞,收藏回去看看

出0入0汤圆

发表于 2015-12-28 09:09:23 | 显示全部楼层
多谢楼主。 终于清楚知道如何把变量加入到逻辑分析仪了。

出0入0汤圆

 楼主| 发表于 2015-12-28 09:54:19 | 显示全部楼层
myxiaonia 发表于 2015-12-28 07:51
Trace Events 这个是st-link这种也能用的吗  还是说需要带trace的调试器

trace event counter 可以在st-link下用。

出0入0汤圆

发表于 2015-12-28 10:05:13 | 显示全部楼层
K.O.Carnivist 发表于 2015-12-21 23:26
更新第21章:

21) Serial Wire Viewer(SWV)配置窗口(供参考)

e. Fold: Folded 指令的累积数量。这个结果来自那些已经从流水线上移除(flush)了无用指令,从而导致零执行周期的预测分支指令。(译者注:我架构学的烂,这句不太会翻:These results from a predicted branch instruction where usused instructions are removed (flushed) from the pipeline giving a zero cycle execution time.)

处理器为了加快处理速度,一般采用流水线(pipeline)技术。以CM0/3为例,就采用三级流水线:取指令,译码,执行。同时,由于存储器慢, 所以就必须采用CACHE技术,就是把要执行的指令,预先存储到速度和处理器一样快的SRAM中去。

但是程序中,有很多跳转指令。如果跳转指令跳出CACHE的范围,那么CACHE内所有存储指令就要作废,处理器需要从慢速内存中取指令,译码,然后执行, 非常耗费时间。这大大拖慢了程序执行速度。解决这个问题的技术,就是分支预测(branch prediction)技术, 说白了,就是遇见了跳转指令,就接着把跳转指令跳转后的指令都取进CACHE中去。

但是呢,大部分跳转指令,是条件跳转指令,意味着它有两个分支,指令预取会把这两个分支的指令都取进来,但是总有一个分支是用不到的,是要舍弃的。所以这么说:These results from a predicted branch instruction where usused instructions are removed (flushed) from the pipeline giving a zero cycle execution time

出0入0汤圆

发表于 2015-12-28 10:06:05 | 显示全部楼层
myxiaonia 发表于 2015-12-28 07:51
Trace Events 这个是st-link这种也能用的吗  还是说需要带trace的调试器

刚看了一下,STLINK2可以TRACE,但是速度只有2M。

出0入0汤圆

发表于 2015-12-29 07:39:14 | 显示全部楼层
TBG1 发表于 2015-12-28 10:06
刚看了一下,STLINK2可以TRACE,但是速度只有2M。

那jlink不是更快了吧

出0入0汤圆

发表于 2015-12-29 08:59:51 | 显示全部楼层
myxiaonia 发表于 2015-12-29 07:39
那jlink不是更快了吧

当然了,JLINK就吃这碗饭的, 被STLINK赶上它就要关门了。

出0入0汤圆

 楼主| 发表于 2015-12-29 09:40:06 | 显示全部楼层
myxiaonia 发表于 2015-12-29 07:39
那jlink不是更快了吧

快不少。
比如 NUCLEO 板载的 ST-Link,在串口有数据的情况下,逻辑分析仪有时会不连续。用JLINK的时候逻辑分析仪一直是很好的。

出0入0汤圆

 楼主| 发表于 2015-12-29 09:40:32 | 显示全部楼层
TBG1 发表于 2015-12-28 10:05
e. Fold: Folded 指令的累积数量。这个结果来自那些已经从流水线上移除(flush)了无用指令,从而导致零 ...

感谢指点!

出0入0汤圆

发表于 2015-12-29 09:45:29 | 显示全部楼层

哪里,对楼主的东西对我有益的回报而已。

出0入4汤圆

发表于 2015-12-30 17:55:47 | 显示全部楼层
K.O.Carnivist 发表于 2015-12-26 13:04
可以。其实22楼就是我在用JLINK连一片103RB。

LZ,103试过很不错,F030的可以么?

出0入0汤圆

 楼主| 发表于 2015-12-30 18:13:56 来自手机 | 显示全部楼层
gmyu 发表于 2015-12-30 17:55
LZ,103试过很不错,F030的可以么?

没试过,我觉得可能会不行。Cortex-M0不是哈弗架构,估计没有SWV。

出0入0汤圆

发表于 2015-12-30 20:22:29 | 显示全部楼层
研究的很细致,顶一个。

出20入25汤圆

发表于 2016-3-11 20:50:15 | 显示全部楼层
楼主,今天测试过了,为何数据不更新,只有重新启动那一个值,一直不动了

出0入0汤圆

 楼主| 发表于 2016-3-14 10:22:41 | 显示全部楼层
chenchaoting 发表于 2016-3-11 20:50
楼主,今天测试过了,为何数据不更新,只有重新启动那一个值,一直不动了 ...

没太看懂。您是说逻辑分析仪上会显示变量的初始值,然后运行程序后这个值不变吗?

出20入25汤圆

发表于 2016-3-14 19:47:51 | 显示全部楼层
K.O.Carnivist 发表于 2016-3-14 10:22
没太看懂。您是说逻辑分析仪上会显示变量的初始值,然后运行程序后这个值不变吗? ...

是的,我用的JLINK V8  SWO 口,

出20入25汤圆

发表于 2016-3-14 19:52:29 | 显示全部楼层
watch 里变了,分析仪里不变化

出0入0汤圆

发表于 2016-3-14 20:22:44 | 显示全部楼层
谢谢楼主分享,以后可能会用的上

出0入0汤圆

发表于 2016-3-15 14:22:23 | 显示全部楼层
谢谢分享,学习一下!

出0入0汤圆

发表于 2016-3-15 14:59:40 | 显示全部楼层
谢谢分享,学习一下!没莫元打赏,抱歉

出0入0汤圆

发表于 2016-3-18 18:53:08 | 显示全部楼层
学习了!!

出0入0汤圆

发表于 2016-5-5 11:28:25 | 显示全部楼层


   mark……

出0入0汤圆

发表于 2016-5-5 15:35:10 | 显示全部楼层
做个记号,估计以后可以用

出0入0汤圆

发表于 2016-5-6 07:05:46 | 显示全部楼层
终于发现讲这个了

出0入0汤圆

发表于 2016-5-9 00:40:34 | 显示全部楼层
不知道F3 行不行?

出0入0汤圆

发表于 2016-5-9 07:33:07 | 显示全部楼层
不错!学习下

出0入0汤圆

 楼主| 发表于 2016-5-9 11:58:44 | 显示全部楼层
lyl520719 发表于 2016-5-9 00:40
不知道F3 行不行?

可以。
绝大部分M3、M4、M7芯片都会支持这个功能。

出0入0汤圆

发表于 2016-5-12 13:48:06 | 显示全部楼层
这东西JlinkV9试过几次,
感觉这种档次的仿真器速度没太大意义

出0入0汤圆

发表于 2016-5-12 14:15:32 | 显示全部楼层
学习了,楼主做事认真

出0入0汤圆

发表于 2016-5-24 08:24:10 | 显示全部楼层
谢楼主分享

出0入0汤圆

发表于 2016-6-4 12:53:38 | 显示全部楼层
K.O.Carnivist 发表于 2015-12-26 12:47
JLINK可以。逻辑分析仪需要连SWO。
软件上我是这样设置的:

请问楼主我的JLink+MDK5.10只能软仿,链接硬件后怎都出不来波形


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-6-4 14:10:45 | 显示全部楼层
好的东西,mark下。等用的时候再测试下!!!

出20入0汤圆

发表于 2016-7-7 13:11:22 来自手机 | 显示全部楼层
我也出现同样的情况, logic 里面没有任何输出 ,407 48m sysclk

出20入0汤圆

发表于 2016-7-7 23:03:43 来自手机 | 显示全部楼层
找到原因了,swd模式,但是 要连接 swo 引脚

出0入10汤圆

发表于 2017-1-11 14:49:06 | 显示全部楼层
好东东,试了下,还不错,我用来监控AD值效果不错哦

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2017-1-11 14:53:06 来自手机 | 显示全部楼层
感谢楼主分享

出0入0汤圆

发表于 2017-1-11 17:49:41 | 显示全部楼层
感觉比虚拟示波器强大多了!

出0入0汤圆

发表于 2017-8-13 18:02:03 来自手机 | 显示全部楼层
正好用得上

出0入0汤圆

发表于 2017-8-15 16:18:29 | 显示全部楼层
谢谢楼主,先收藏了

出0入0汤圆

发表于 2017-8-15 21:09:27 | 显示全部楼层
顶一下楼主,一直以为keil逻辑分析仪只能软仿,受教了

出0入10汤圆

发表于 2018-2-28 16:24:33 | 显示全部楼层
感谢楼主分享,不过还有个疑问,硬仿的时候能用mdk的逻辑分析仪查看gpio口的输出波形吗?谢谢

出0入0汤圆

 楼主| 发表于 2018-5-6 09:13:23 | 显示全部楼层
一杯茶2009 发表于 2018-2-28 16:24
感谢楼主分享,不过还有个疑问,硬仿的时候能用mdk的逻辑分析仪查看gpio口的输出波形吗?谢谢 ...

SWV不能,因为SWV只是监视CPU对某个地址的读写,理论上GPIO状态不能对应哪个地址的读写。
最近ULINKplus和CMSIS-DAP v2新加的硬逻辑分析仪应该可以实现。

出0入0汤圆

发表于 2018-6-8 09:50:47 | 显示全部楼层
感谢楼主的分享呀

出0入0汤圆

发表于 2018-6-8 14:38:33 | 显示全部楼层
以后会用到的

出0入10汤圆

发表于 2019-8-28 23:25:11 | 显示全部楼层
楼主STM32F405用4根线那种可否实现?

出0入0汤圆

发表于 2019-8-28 23:42:42 来自手机 | 显示全部楼层
好东西,收藏下,有空研究研究

出0入0汤圆

发表于 2019-9-29 16:56:37 | 显示全部楼层
感谢楼主分享

出0入45汤圆

发表于 2020-2-18 15:07:00 | 显示全部楼层
谢谢分享,学习一下!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 07:10

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表