通过DAP下载运行程序

前一篇文章我们介绍了DAP的基本原理,并介绍了通过DAP访问系统内存的方式,这篇文章着重介绍一下怎么通过DAP控制ARM CORE的运行状态,以及如何读取和更改CORE的通用寄存器。对于一般程序调试,获取通用寄存器的状态是比较重要的一种调试手段,读取这些通用寄存器的状态的前提是CORE必须处于HALT状态,否则这个寄存器的值是一直变化的,我们也就无法获取一个比较准确的值。另外对这些寄存器的值...

继续阅读 »

ARM调试端口简介

ARM的调试是基于DAP实现的,ARM的调试端口一般要实现以下一些功能:更改处理器的状态读取处理器状态设定调试事件,比如搞个断点什么的强制处理器进入或者离开Debug状态查看当前处理器是不是在Debug状态追踪程序执行状态DAP的基本结构一般DAP的结构如下图所示:Debug Port(DP)是直接和外部接口的,可以通过JTAG和SWD两种形式实现。Access Port(AP)是位于DP和...

继续阅读 »

JLink访问双核CPU

我们知道随着半导体水平的进步,嵌入式微处理器(MCU)也在不断进步,人们对于智能化的需求越来越高,各种边缘计算的需求也越来越大,这个对于MCU的计算水平要求也越来越高。就是在这种背景下,MCU的设计也越来越复杂,现在很多厂商都开始退出双核甚至多核CPU了。与一般ARM A核或者x86的多核架构不同,MCU的多核一般属于异构多核,也就是说MCU的核心属于不同类型的,比如一个Cortex M4核...

继续阅读 »

MICFIL数字麦克风参数计算

MICFIL是RT系列MCU中的一个数字麦克风接口模块,典型的MICFIL一般支持高达8路的数字麦克风PDM信号的输入。我们在之前的博文中提到过数字麦克风,这里对于数字麦克风的原理就不做解释了,只是介绍一下这个模块接收数据的时候要注意的一些设置。数字麦克风一般有一个时钟输入和数据输出信号,MICFIL中接口的8个通道会公用同一个时钟,而数据则是两个通道公用一个数据线。配置数字麦克风的时候需要...

继续阅读 »

梯子的本地配置

很久很久以前,在一篇博文里面讲到了怎么在一台小鸡上搭建梯子的故事。而最近呢,因为有了群晖的NAS,需要在命令行下使用这个梯子,没有GUI界面就只能用一些原生的命令行工具,这里就将这些工具的配置过程记录下来,以便日后可以方便的使用。Shadowsocks的本地配置之前文章里面已经介绍过Shadowsocks的服务器配置,本地配置和服务器上面的配置差不多,首先就是安装相应的软件。sudo pip...

继续阅读 »