断点(break point)是嵌入式调试中最基础的功能,它的基本功能非常简单:在程序运行的某个地方提前设置一个停止操作,CPU运行到该位置之后就会自动暂停,这个时候我们就可以查看CPU各种寄存器的工作状态。根据断点机制不同,断点一般分为如下几种:硬件断点:这个需要CPU/MCU支持,可以直接在CPU内部寄存器写入期望断点的PC位置,硬件断点的数量一般是有限的,当调试器退出或者MCU重新上电...
我的代码我做主
断点(break point)是嵌入式调试中最基础的功能,它的基本功能非常简单:在程序运行的某个地方提前设置一个停止操作,CPU运行到该位置之后就会自动暂停,这个时候我们就可以查看CPU各种寄存器的工作状态。根据断点机制不同,断点一般分为如下几种:硬件断点:这个需要CPU/MCU支持,可以直接在CPU内部寄存器写入期望断点的PC位置,硬件断点的数量一般是有限的,当调试器退出或者MCU重新上电...
最近春节回家,把N多年前带回家的斐讯N1小盒子找了出来,本着废物利用的原则,决定在上面安装一个Openwrt系统,这样可以实现更好的网络访问。网络上相关的教程有很多,基本原理也都是类似的。翻腾出来之后我就开始着手安装系统,虽然步骤上还算比较简单,但是过程确是非常的曲折,中间碰到太多的问题,这是就记录一下这些问题,希望以后可以尽量避免类似的问题。系统从U盘启动不正常安装系统首先是将系统放在U盘...
Zerotier的基本概念Zerotier实际上是借助因特网实现的任意联网设备在任何网络下相互互联的一个解决方案,Zerotier需要借助一个有公网IP的主机实现,基本原理是需要互联的设备分别向公网主机发送连接请求,公网主机向设备分别传送连接的必要信息,然后设备可以通过这些信息直接互联(实现洞穿),或者继续使用主机进行中转流量。Zerotier默认有一个planet服务器,可以直接注册使用,...
本篇应用笔记主要描述Cortex-M系列MCU Hard Fault中断的调试方法。笔记中会分析Hard Fault中断产生的原因以及如何依据Hard Fault中断信息定位软件中的问题。Hard Fault简介Hard Fault 是Cortex-M系列MCU中最为常见的一种故障类中断,Hard Fault属于不可屏蔽中断,并且中断优先级固定为-1,在软件运行过程中如果产生了CPU无法正常...
异常处理的基本术语中断抢占 Preemption如果异常的优先级高于当前执行优先级,则可以先发制人当前执行。当一个异常优先于另一个异常时,这些异常被称为嵌套异常。中断返回 Return当异常处理程序完成时,就会发生这种情况。处理器弹出堆栈,并将处理器状态恢复到中断发生前的状态。末尾连续中断 Tail-chaining这种机制加快了异常服务。在异常处理程序完成后或返回操作期间,如果有符合异常输...