
Nordic芯片详解
文章平均质量分 92
paul_zhang0932
这个作者很懒,什么都没留下…
展开
-
nrf52805/nrf52810/nrf52832 如何让程序从RAM运行
nrf52805/nrf52810/nrf52832 如何让程序从RAM运行文章目录nrf52805/nrf52810/nrf52832 如何让程序从RAM运行一.目的在一些特定场景,如工厂测试、入库测试,我们要做到快速、准确地测试PCBA,我们必须在主控芯片上面写一些测试代码来验证天线性能,工作电流,是否虚焊的情况。一般处理方法如下:二.实现这篇文章我们来谈谈如何程序如何从RAM启动。我们都知道Nordic的芯片程序都是从0x00000000开始的。要想程序从RAM起始地址0x20000000启动,我们原创 2020-09-01 11:42:50 · 1598 阅读 · 0 评论 -
Nordic系列芯片讲解十(修改nordic系列芯片的广播名)
修改nordic系列芯片广播名一、local name 和device name的区别关于local name 和device name,很多人可能有疑惑,为什么蓝牙有两个名字。可以这样简单地区分:1.Local Name是广播出来的。Device Name是GATT service中的一个特性,需要连接后才能读或写。。2.Local Name不能过长,因为广播包数据长度有限。Local ...原创 2019-07-29 19:15:30 · 3589 阅读 · 5 评论 -
Nordic系列芯片讲解九 (BLE事件回调机制解析)
BLE事件回调机制解析nRF5 SDK从版本14开始,对事件回调机制做了更新,引入了观察者模式,以解耦不同BLE Layer对BLE事件的回调函数。实现这套机制用到了Flash的段(Section),将RAM中的函数调用与Flash中的段操作结合到一起,这个想法很新颖。本文尝试理解和追踪整个回调过程,并写一段代码验证我们的思路。一、观察者模式简介面向对象编程世界里有许多著名的设计模式,其...原创 2019-03-22 13:38:18 · 5305 阅读 · 7 评论 -
Nordic系列芯片讲解八( Nordic SDK常见特殊指令汇集)
Nordic里面有大量的特殊指令,理解这些指令对理解SDK有非常大的帮助,特别是svc、 __wfe、__attribute((section(“name”))) 等。下面的特殊指令都是针对MDK KEIL编译器的。一、Compiler-specific Keywords and Operators1. __asmThis keyword passes information from...原创 2018-07-27 14:29:13 · 3305 阅读 · 0 评论 -
Nordic系列芯片讲解七 (Nordic 52832 RTC 实现万年历功能)
一、方案确定今天要实现手表的万年历功能。实现万年历功能有三种方式1.新建一个1秒定时的APP_TIMER。优点是创建方便。 缺点实时性太差。APP_TIMER采用轮询执行而非抢占的方式,假如其它APP_TIMER耗时较长,例如有一个APP_TIMER在采集心率,万年历的APP_TIMER就必须等采集心率完成才能执行。2.在APP_TIMER的中断中插入计算时间戳的代码...原创 2018-07-02 18:47:21 · 11234 阅读 · 1 评论 -
Nordic系列芯片讲解六 ( Nordic协议栈与应用层API的实现方式)
Nordic是协议栈以hex文件的方式提供,那么app怎么是怎么通过api来调用协议栈的呢。一、应用层通过API的方式调用协议栈的函数,通过SVC中断方式。1)svc的宏定义#define SVCALL(number, return_type, signature) return_type __svc(number) signatureSVCALL(SD_BLE_GAP_DATA_L...原创 2018-06-28 18:13:39 · 6222 阅读 · 3 评论 -
Nordic系列芯片讲解五( Nordic sdk中nrf_drv_twi的使用)
最近做手表项目用到TWI总线,一个用来驱动oled,一个用来驱动三轴加速度传感器。因为两个模块并的驱动时序不一样,所以分开两个twi总线来驱动它们。这里用到了sdk里面的nrf_drv_twi.c。**一、首先来看看NORDIC的twi总线有哪些特性**Listed here are the main features for TWIM: • I2C compatible ...原创 2018-06-26 17:45:59 · 9472 阅读 · 1 评论 -
Nordic系列芯片讲解四(协议栈与app的调用方式)
Nordic是协议栈以hex文件的方式提供,那么app怎么是怎么通过api来调用协议栈的呢。1. 应用层通过API的方式调用协议栈的函数,通过SVC中断方式。当协议栈被使能时,共用了0X10~0XFF,具体来说就是每个API函数对应一个number。#define SOC_SVC_BASE (0x20)#de...原创 2018-05-11 14:20:17 · 2557 阅读 · 0 评论 -
Nordic系列芯片讲解二(Nordic协议栈以及应用层存储分布)
Nordic的协议栈用以hex的方式提供给用户开发。Nordic的芯片没用到类似stm32存储重映射的功能,所以code的地址直接从0x0000000开始。以S132_SDS_v5.0协议栈为例说说NORDIC协议栈以及应用层ROM和RAM的分布。协议栈的ROM是固定不变的,每个协议栈都有固定的ROM SIZE,MBR也打包在协议栈和hex文件中, 所以S132_SDS_v5.0占用的ROM为14...原创 2018-05-11 10:24:36 · 3260 阅读 · 2 评论 -
Nordic系列芯片讲解一(Nordic 芯片的烧录方式)
一、电脑软件介绍在这个连接https://www.nordicsemi.com/eng/Products/2.4GHz-RF/nRFgo-Studio下载nRFgo-Studio并按照在电脑,如果系统是32位的就下载32位的如果是64位的就下载64位的。 这个是安装好的界面 点下图 选择 这个位置选择hex文件 ...原创 2017-09-29 09:57:02 · 9644 阅读 · 0 评论 -
Nordic系列芯片讲解三(Nordic 52832 SDK 14 Secure DFU Procedure ---nordic 52832空中升级笔记)
Nordic 52832 SDK 14Secure DFU Procedure---nordic 52832空中升级笔记/************************************************************************************************/2018年12月20日更新最近有人反映说没有优快云积分,下载不...原创 2017-09-29 10:01:24 · 9038 阅读 · 7 评论