nrf52832协议栈S132特性记录

本文详细介绍了NRF52832蓝牙芯片的程序启动流程及中断处理机制,包括协议栈与应用程序间的跳转、中断执行过程、中断优先级分配等内容,并针对不同场景下的中断响应进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. NRF52832带蓝牙协议栈的程序是如何跳转的?

答:如果NRF52832烧录了协议栈S132和用户应用程序,那么程序会先从协议栈的MBR启动,然后跳转到应用程序执行。

2. 关于中断的执行是怎样的?

答:所有应用程序或bootloader的中断都是由协议栈分发出来后执行的,所以烧录协议栈后,中断服务函数进入的时间会被加长了,具体延时的大小看如下官方数据:

image

对于开放性的外设,最大为3us的延时。

3. 关于中断优先级是怎么划分的?

nrf52832的中断优先级有8个,从0到7(其中0的优先级最高),且这个中断优先级是协议栈规定的,是不能够被改变的。

当芯片复位启动时,所有中断优先级都为0,之后协议栈会占用如下三个中断等级:

level 0 :用于处理协议栈严格时序的事件;

level 1 :用于内存隔离和实时保护用;

level 2 :用于处理可延迟的任务以及SVC中断事件等;

其它5个等级可供用户应用程序使用,如下图所示:

image

另外需要特别注意的是,因为优先级为4的中断会处理SVC等事件,所以应用程序的中断优先级2和3也是受限的,即不能在中断优先级为2和3的中断服务函数中调用协议栈函数,SVC中断函数以及RTOS函数等。

另外如果你足够细心,你会发现中断优先级为2的中断要比中断优先级为7的中断执行的快,因为前面的中断等级越多,也就是要等待的事件就越多,等待的时间就会越长。

以下为三种场景下的中断响应过程:

image

4.

转载于:https://www.cnblogs.com/unrulife/p/10654461.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值