ubuntu下Nodic开辟条件搭建

学海无涯

ubuntu下Nodic开拓条件搭建

前言

在前边文章中一度有介绍过[IoT](htt
p://baike.baidu.com/link?url=DJ6tLNPxTTUXnxbNVaQjRj3-nLZlILPlxDpdRDJ0Uhw__Jp-2WzbLroWzSph-mZUKcfdtiItYRCT8QvHyqh0C_),而BLE(低耗能蓝牙5.0)作为今世智能机必备成效,是物联网的主导连接格局之一。近年来游人如织利用如iBeacon,已经安排到我们生存的宽泛。

P.S. 如果您在大巴上用叁个支撑BLE的应用扫一扫,你会意识欣喜喔。

Bluetooth
SIG
在2015年新出的
蓝牙 5.0 更是在低功耗的底蕴上独具了
更远、更加快更安全的特征,关于Bluetooth的有关小说可参看这里

1.编写翻译遭逢

ubuntu可径直装gcc编写翻译境况

sudo apt install gcc-arm-none-eabi

也能够下载可施行文件download

利其器

鉴于集团涉嫌,本身大约是在国内较早得到 Nordic BT(BLE) 5.0
开发板
的开辟者之一,到手瞬间倍感实物十三分帅气:

Nordic nRF52840(pca10056)

不过出于自家长期职业于Mac景况下,所以对于我们常见利用Keil有一些不太适应,就折腾了Mac
OS下的开支调节和测量检验情形,本文将享用这几个折腾的经过。

好音信是,未来广大工具对于Mac OS都曾经进展了和睦的援助,如:

  • 调试器 J-link
  • 调试IDE Eclipse
  • 编译器 arm-eabi-arm-gcc
  • 本人个人使用的编辑器 Clion + Vim插件

2. 检查make工具是不是安装

make -v

貌似的话开采linux上的开荒者都会安装,若未有设置的话,施行以下命令安装。

sudo apt-get install build-essential checkinstall

工具企图

3. nRF5 SDK下载

Nordic官方对nPRADOF51、nTucsonF52多级提供了SDK,SDK中提供了大气的BLE和ANT示例。能够在这里下载。小编那边下在的是12.3.0版本的SDK。

下载之后解压到温馨习贯的目录中,然后修改Makefile.posix文件。

vim  <SDK_PATH>/components/toolchain/gcc/Makefile.posix

文件内容更换如下:

GNU_INSTALL_ROOT := /usr/
GNU_VERSION := 5.4.1
GNU_PREFIX := arm-none-eabi

亟待留神的是,GNU_INSTALL_ROOT选项的目录指的是gcc-arm-none-eabi的设置位置(bin文件夹所在的目录),作者直接用apt
install安装的,所以间接用了”/usr/”。

安装(下载)大法

筹算好地方各样工具后,接下去大家需求未焚徙薪: VPN

P.S.
因为有些名闻遐迩的原由,导致某个服务器上不去照旧极慢,依照自个儿个人经历,在装置
Eclipse插件时,最棒带上你的 VPN~~

4. 编写翻译一个演示

在SDK的目录下张开叁个演示文件夹

cd nRF5_SDK_12.3.0/examples/peripheral/led_softblink/pca10040/blank/armgcc

上边命令是展开一个led闪烁的事例,pca10040是我板子的版本.

在该目录下运维”make”,就能够编写翻译文件并转移二进制文件。

$ make

mkdir _build
Compiling file: nrf_log_backend_serial.c
Compiling file: nrf_log_frontend.c
Compiling file: app_error.c
Compiling file: app_error_weak.c
Compiling file: app_timer.c
Compiling file: app_util_platform.c
Compiling file: led_softblink.c
Compiling file: low_power_pwm.c
Compiling file: nrf_assert.c
Compiling file: sdk_errors.c
Compiling file: boards.c
Compiling file: nrf_drv_clock.c
Compiling file: nrf_drv_common.c
Compiling file: nrf_drv_uart.c
Compiling file: nrf_nvic.c
Compiling file: nrf_soc.c
Compiling file: main.c
Compiling file: RTT_Syscalls_GCC.c
Compiling file: SEGGER_RTT.c
Compiling file: SEGGER_RTT_printf.c
Assembling file: gcc_startup_nrf52.S
Compiling file: system_nrf52.c
Linking target: _build/nrf52832_xxaa.out

   text    data     bss     dec     hex filename
      7944      116     480    8540    215c _build/nrf52832_xxaa.out

      Preparing: _build/nrf52832_xxaa.hex
      Preparing: _build/nrf52832_xxaa.bin

要是实施make后输出跟上边同样,表明交叉编写翻译gcc已经正确配置。下边就能够将文件烧录到板子中啦。

一、安装arm-none-eabi-** 工具链

解压工具包:

tar zxvf gcc-arm-none-eabi-4_9-2015q3-20150921-mac.tar.bz2

跻身工具包目录:

sudo cp -r  gcc-arm-none-eabi-4_9-2015q3  /usr/local/  #复制工具到/usr/local中
sudo vim /etc/profile

在终极扩张:

PATH=$PATH:/user/local/gcc-arm-none-eabi-4_9-2015q3/bin

增加后,退出,并运行:

. /etc/profile

运营成功后,便得以透过terminal输入 arm-none-eabi-gcc
运行arm-gcc工具了。

5. Jlink使得工具

下载程序需求Jlink驱动工具,因而要优先安装。能够去这里下载J-link软件,并安装。对于ubuntu系统,能够直接下载deb安装包进行设置。

二、安装Eclipse 插件

打开Eclipse Neon

点击Help->Eclipse MakertPlace,搜索GNU ARM

并安装GNU ARM 工具包:

设置到位后,根据提示重启Eclipse。 重新展开后点击 Windows->Open
Perspective->other->packs

开荒后点击刷新开关,更新packs数据(此进程较长…)

通过悠久的等候,刷新实现后,找到 Nordic
Semi->nRF_deviceFamilyPack

,选择新型版本举行设置,由描述可知,N景逸SUVF52840_xxAA 已经步向道扶助中…

安装到位后,配置全局build工具和编写翻译工具链路线:

6. nrfjprog工具下载

那是Nordic提供的授命行固件烧录工具,既有windows版本也可能有linux版本。在这里下载。

下载之后解压的到温馨习于旧贯的目录,然后将nrfjprog可实施文件所在路线增添到PATH路线中。之后输入”nrfjprog
-v”查看是或不是配备不错。

$ nrfjprog -v
nrfjprog version: 9.7.2
JLinkARM.dll version: 6.22d
二、新建筑工程程

下载nWranglerF2840 SDK最新版(由官网消息能够,最新版已经协助蓝牙( Bluetooth® )( Bluetooth® ) 5):

下载SDK后,解压至自个儿的地点目录后,新建Eclipse工程导入:

当创设新工程时,名字最棒与Makefile 保持一致。
Makefile中的名字:

工程名字:

挑选另一半集成电路:

更换编写翻译命令为Make:

编写翻译完结后,点解Debug便足以下载和调节和测验程序:

在实质上的装置进度中很大概会蒙受各样不一样的难点,大家须要抱着一颗领悟原理的心技能化解那一个奇葩的标题,单单只是从网络查看学科,境遇真正问题时我们往往力不从心消除。
望君勿急躁,共勉~

7. 下载程序到板子

进去到这一步的话,必要的工具都已设置好,能够烧写程序进板子观望气象啦。

$ nrfjprog --family nRF52 -e
Erasing code and UICR flash areas.
Applying system reset.

$ nrfjprog --family nRF52 --program _build/nrf52832_xxaa.hex 
Parsing hex file.
Reading flash area to program to guarantee it is erased.
Checking that the area to write is not protected.
Programing device.

$ nrfjprog --family nRF52 -r
Applying system reset.
Run.

以上四个指令施行实现,会看出板子上的八个led灯闪烁,表明烧写成功。以后全方位编写翻译烧写的流水线也就走通啦。

End

终极颁发多个好音讯,硅谷 Season 4 已经开始播放啊~