搜索
bottom↓
回复: 30

[nRF51822 AK II 教程]第三课,建立属于自己的开发板源码。

[复制链接]

出0入0汤圆

发表于 2013-12-16 14:50:25 | 显示全部楼层 |阅读模式
第三课,建立属于自己的开发板源码

如莫大所说,团购开发板的项目,主要是给大家提供一个学习的机会和平台。

既然平台有了,你也可以制作一款属于自己的穿戴设备开发板。这时除了设计硬件,你可能还会想要有属于自己的源代码。

今天我们就以nRF51822 AK开发板为例讲解一下,如何建立属于自己的开发板源码

首先,熟悉一下官方源码的结构:
Documentation---->文档
nRF51422     ---->内置ANT协议的芯片(非蓝牙)
nRF51822     ---->Board  (官方开发板)------------>nrf6310(官方DK,里面的程序修改一下即可用)
             |--->Include(头文件)            |--->pca10000(官方Dongle)
             |--->Lib     (官方库,非源码)     |--->pca10001(官方EK主板,无需修改即用)
             |--->Source  (官方提供的源码)
             |--->SVD       
  
所以,如果我们要增加一个对自己开发板支持的目录,请在“nrf51822\Board”下新建一个目录,如“ak”。

然后,打开“nrf51822\Board\pca10001\blinky_example\arm”下面的“blinky.uvproj”发现代码开头如下:
  1. #include <stdbool.h>
  2. #include <stdint.h>
  3. #include "nrf_delay.h"
  4. #include "nrf_gpio.h"
  5. #include "boards.h"
复制代码


上面的boards.h用来跟开发板相关的定义(LED,button和UART)文件,打开内容后如下:

  1. #ifndef BOARDS_H
  2. #define BOARDS_H

  3. #if defined(BOARD_NRF6310)
  4.   #include "boards/nrf6310.h"
  5. #elif defined(BOARD_PCA10000)
  6.   #include "boards/pca10000.h"
  7. #elif defined(BOARD_PCA10001)
  8.   #include "boards/pca10001.h"
  9. #elif defined(BOARD_PCA10003)
  10.   #include "boards/pca10003.h"
  11. #elif defined(BOARD_PCA1000x)
  12.   #include "boards/pca1000x.h"
  13. #else
  14. #error "Board is not defined"
  15. #endif

  16. #endif
复制代码


很简单的代码,主要就是根据Keil菜单中Project选项的Option for target nRF51822...中,C/C++选显卡中的define自动关联相应的头文件。
因此,我们可以加入我们自己开发板的头文件ak.h,如下:
#ifndef BOARDS_H
#define BOARDS_H

  1. #if defined(BOARD_NRF6310)
  2.   #include "boards/nrf6310.h"
  3. #elif defined(BOARD_PCA10000)
  4.   #include "boards/pca10000.h"
  5. #elif defined(BOARD_PCA10001)
  6.   #include "boards/pca10001.h"
  7. #elif defined(BOARD_PCA10003)
  8.   #include "boards/pca10003.h"
  9. #elif defined(BOARD_PCA1000x)
  10.   #include "boards/pca1000x.h"
  11. [color=Red]#elif defined(BOARD_AK)
  12.   #include "boards/ak.h"[/color]
  13. #else
  14. #error "Board is not defined"
  15. #endif

  16. #endif
复制代码


最后,在“nrf51822\Include\boards”下,加入附件中的ak.h文件。

好了,现在我们就可以把pca10001中的“blinky_example”拷贝到我们刚才建立的ak目录中,之后修改Keil菜单中Project选型的Option for target nRF51822...中,C/C++选显卡中的define“BOARD_PCA10001”为“BOARD_AK”就行了。

现在,你有了自己的开发板源码,那么就开始折腾吧!

本帖子中包含更多资源

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

x

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

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2013-12-16 14:56:58 | 显示全部楼层
哈哈,沙发

出0入0汤圆

发表于 2013-12-16 15:28:20 | 显示全部楼层
支持!!!!

出0入0汤圆

发表于 2013-12-16 15:59:32 来自手机 | 显示全部楼层
坐等后续课程

出0入0汤圆

发表于 2013-12-16 16:07:57 | 显示全部楼层
求手机端 nRF HRM DEMO APP文件,google play 显示与设备兼容,就是不能下载,楼主能否提供下。

出0入0汤圆

 楼主| 发表于 2013-12-16 16:15:05 | 显示全部楼层
liuzq1981 发表于 2013-12-16 16:07
求手机端 nRF HRM DEMO APP文件,google play 显示与设备兼容,就是不能下载,楼主能否提供下。 ...

在第一课的网盘里面的android4.3的每个程序下面有个bin文件夹,里面的apk文件就可以安装。

出0入0汤圆

发表于 2013-12-16 16:28:20 | 显示全部楼层
晕,还是andriod 4.3的问题,郁闷呀

出0入0汤圆

发表于 2013-12-16 16:31:22 | 显示全部楼层

出0入0汤圆

发表于 2013-12-16 17:04:17 | 显示全部楼层
前三讲内容看完,
坐等后面的内容。感谢楼主。

出0入0汤圆

发表于 2013-12-16 17:07:29 | 显示全部楼层
我好象有这个板

出0入0汤圆

 楼主| 发表于 2013-12-16 18:36:23 | 显示全部楼层
liuzq1981 发表于 2013-12-16 16:28
晕,还是andriod 4.3的问题,郁闷呀

咋回事?

出0入0汤圆

发表于 2013-12-16 19:12:05 | 显示全部楼层
没4.3的手机,买了先收藏着,等红米升到4.3才能玩了,呵呵

出0入25汤圆

发表于 2013-12-16 20:35:10 | 显示全部楼层
团购了AK, 手上没有支持的手机,又买了个Dongle,应该是Dongle 2吧!
折腾一晚上,发现Dongle没串口数据输出接口。
本来想用AK+电池做移动端,Dongle接PC 做数据接收端。
才发现没法这么搞啊

出0入0汤圆

发表于 2013-12-16 20:37:35 | 显示全部楼层
墨非 发表于 2013-12-16 20:35
团购了AK, 手上没有支持的手机,又买了个Dongle,应该是Dongle 2吧!
折腾一晚上,发现Dongle没串口数据输 ...

团购了AK, 手上没有支持的手机,又买了个Dongle,应该是Dongle 2吧!
折腾一晚上,发现Dongle没串口数据输出接口。
本来想用AK+电池做移动端,Dongle接PC 做数据接收端。
才发现没法这么搞啊

----------------------------------------------
发现在例程极不全面的情况下,只能接个串口答应个数据玩玩,挺无聊的
似乎例程更新速度是极其慢的,两天一更新,木有惊喜

出0入0汤圆

发表于 2013-12-16 20:39:44 | 显示全部楼层
bul4.1 有参考核心协议代码了吗

出0入25汤圆

发表于 2013-12-16 20:48:27 | 显示全部楼层
qiqirachel 发表于 2013-12-16 20:37
团购了AK, 手上没有支持的手机,又买了个Dongle,应该是Dongle 2吧!
折腾一晚上,发现Dongle没串口数据 ...

看你们的 上手指导书上 Dongle 有uart数据线引出,我买的应该是升级版,没有uart接口引出。
还以为跟官方一样uart接到仿真芯片上了,然后PC虚拟出一个串口。
问了你们旺旺,说串口位置被按键占了没接出来!
那么我的Dongle 就只能拿来做仿真器了用了。。

出0入0汤圆

发表于 2013-12-16 21:33:26 | 显示全部楼层
墨非 发表于 2013-12-16 20:48
看你们的 上手指导书上 Dongle 有uart数据线引出,我买的应该是升级版,没有uart接口引出。
还以为跟官方 ...

看你们的 上手指导书上 Dongle 有uart数据线引出,我买的应该是升级版,没有uart接口引出。
还以为跟官方一样uart接到仿真芯片上了,然后PC虚拟出一个串口。
问了你们旺旺,说串口位置被按键占了没接出来!
那么我的Dongle 就只能拿来做仿真器了用了。。
----------------------------
麻烦看清楚,我不是楼主

出0入25汤圆

发表于 2013-12-16 21:40:28 | 显示全部楼层
qiqirachel 发表于 2013-12-16 21:33
看你们的 上手指导书上 Dongle 有uart数据线引出,我买的应该是升级版,没有uart接口引出。
还以为跟官方 ...

不好意思,没带眼镜,瞄偏了,打扰了你!

出0入0汤圆

发表于 2013-12-16 21:41:27 | 显示全部楼层
楼主问个问题,我设置了串口发数据到电脑,每次烧入都可以接收到一次

但是按了reset键,单片机理应重启再次接受到数据啊,为什么没有反应呢

出0入0汤圆

 楼主| 发表于 2013-12-16 21:43:47 | 显示全部楼层
qiqirachel 发表于 2013-12-16 21:41
楼主问个问题,我设置了串口发数据到电脑,每次烧入都可以接收到一次

但是按了reset键,单片机理应重启再 ...

reset按键和SWD调试接口的SWDIO是复用的,也就是说:你插着调试器的时候,这个reset建是不能用的(被调试器hold住了。。。)。

出0入0汤圆

发表于 2013-12-16 22:22:37 | 显示全部楼层
适合那些没有接触大的协议栈开发的朋友用,对有运用大协议栈比如ZigBee,CC2540已经UCOS等的朋友来说,直接画板子,直接修改官网的demo.

出0入0汤圆

发表于 2013-12-19 03:37:22 | 显示全部楼层
楼主我问个问题,比如我需要用到内部温度传感器,但是我找不到温度传感器官方的库文件啊

出0入0汤圆

 楼主| 发表于 2013-12-19 07:20:13 | 显示全部楼层
qiqirachel 发表于 2013-12-19 03:37
楼主我问个问题,比如我需要用到内部温度传感器,但是我找不到温度传感器官方的库文件啊 ...

官方SDK下面的board/nrf6310里面的代码也是一样可以用的。那个目录底下有温度传感器的例程。

出0入0汤圆

发表于 2013-12-19 10:21:10 | 显示全部楼层
overheat 发表于 2013-12-19 07:20
官方SDK下面的board/nrf6310里面的代码也是一样可以用的。那个目录底下有温度传感器的例程。 ...

请问有没有兼容2.4 GHz nRF24L 系列芯片的demo或者教程?

出0入0汤圆

 楼主| 发表于 2013-12-19 17:48:28 | 显示全部楼层
techh 发表于 2013-12-19 10:21
请问有没有兼容2.4 GHz nRF24L 系列芯片的demo或者教程?

官方的led_radio_example就是,要是不急的话,我会在下下课讲到。

出0入0汤圆

发表于 2014-5-11 13:20:48 | 显示全部楼层
好久没人吱一声了,我能说我都还没能下载进程序吗?
呵呵大家都是一激动就买了的?
MDK 下不进去


nRFgo_studio擦不掉

本帖子中包含更多资源

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

x

出0入0汤圆

 楼主| 发表于 2014-5-11 19:34:13 | 显示全部楼层
dongfo 发表于 2014-5-11 13:20
好久没人吱一声了,我能说我都还没能下载进程序吗?
呵呵大家都是一激动就买了的?
MDK 下不进去

看你的图片显示,应该是你的Jlink被认为是盗版了。

换一个Jlink吧,我们店里也有:)

出0入0汤圆

发表于 2014-5-11 21:28:52 | 显示全部楼层
dongfo 发表于 2014-5-11 13:20
好久没人吱一声了,我能说我都还没能下载进程序吗?
呵呵大家都是一激动就买了的?
MDK 下不进去

你那Jlink 很久没用了吧   重新 刷新一下固件吧  网上多得是 刷新的方法                                                                                                                                                                                             

出0入0汤圆

发表于 2014-5-11 23:01:50 | 显示全部楼层
overheat 发表于 2014-5-11 19:34
看你的图片显示,应该是你的Jlink被认为是盗版了。

换一个Jlink吧,我们店里也有:) ...

已经刷好了,没事了

出0入0汤圆

发表于 2014-5-11 23:02:55 | 显示全部楼层
Name_006 发表于 2014-5-11 21:28
你那Jlink 很久没用了吧   重新 刷新一下固件吧  网上多得是 刷新的方法                                ...

一直再用,用来下载STM32的程序一点问题都没有,唯独不能用在nRFgo Studio上。找一个固件刷了一下,没事了

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-8-25 22:15

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

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