#ubuntu下编译烧录nordic芯片
具体参考官方说明:
##一 操作环境
目标系统: ubuntu16.4
开发板: PCA10040 nordic52832
##二 环境安装
###安装 nRF5x Command Line Tools 工具:
1,下载 https://www.nordicsemi.com/eng/nordic/download_resource/58852/27/55084982/94917
2,解压 /usr/nRF5x-Command-Line-Tools_9_7_2_Linux-x86_64/
3, 设置环境变量:
$ sudo gedit /etc/profile
把path添加到文件中
export PATH=/usr/nRF5x-Command-Line-Tools_9_7_2_Linux-x86_64/mergehex:$PATH
export PATH=/usr/nRF5x-Command-Line-Tools_9_7_2_Linux-x86_64/nrfjprog:$PATH
$ source /etc/profile
$ nrfjprog -v
nrfjprog version: 9.7.2
JLinkARM.dll version: 6.22d
###安装SEGGER J-Link Software Package 工具:
1,下载 https://www.segger.com/downloads/jlink/JLink_Linux_x86_64.tgz
2,解压 /usr/JLink_Linux_V632_x86_64
3,设置环境变量 同上把变量添加到文件中去
export PATH=/usr/JLink_Linux_V632_x86_64:$PATH
4,添加软链接 ln -s /usr/JLink_Linux_V632_x86_64/libjlinkarm.so /usr/lib/libjlinkarm.so
(目的是为了防止使用nrfprog的时候报错提示没有JLinkarm.dll文件)
5,source /etc/profile 更新源
6,验证
###安装cmake工具
1,下载 https://cmake.org/files/v3.11/cmake-3.11.1-Linux-x86_64.sh
2,解压到 /usr/cmake-3.11.1-Linux-x86_64/
3,添加环境变量 xport PATH=/usr/cmake-3.11.1-Linux-x86_64/bin:$PATH
4,source /etc/profile 更新源
5,验证 cmake --version
###安装toolchain工具链
$ sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
$ sudo apt-get update
$ sudo apt-get install gcc-arm-embedded
###安装Python 首先安装 virtualenv (类似于沙盒 )
$sudo apt-get install virtualenv
$ mkdir /usr/virtualenvs
$ virtualenv -p python3 /usr/virtualenvs/mesh
切换环境
$ source /usr/virtualenvs/mesh/bin/activate
检查
$ which python
-- /home/<user-name>/virtualenvs/mesh/bin/python
$ which pip
-- /home/<user-name>/virtualenvs/mesh/bin/pip
取消切换环境
$ deactivate
如果需要开机就切换的话, 把他加入到 /home/jhe/.bashrc 中
###安装用于构建单元测试的其他工具
sudo apt-get install gcc-multilib
sudo apt-get install ruby
###================环境搭建完毕================###
##三,编译文件
下载 nrf5_SDK_for_Mesh_v2.0.1_src nRF5_SDK_15.0.0_a53641a 到/home/jhe/file/mesh/下解压
$cd /home/jhe/file/mesh/nrf5_SDK_for_Mesh_v2.0.1_src
$ mkdir build & $ cd build
$ cmake -DGENERATE_SES_PROJECTS=ON -DPLATFORM=nrf52832_xxAA -DSOFTDEVICE=s132_6.0.0 ../
# make
或者生成 codeblock工程文件
$ cmake ../ -G "CodeBlocks - Unix Makefiles"
用codeclock软件打开工编译。[具体参考本博客写的codeblock工程环境搭建]
最后生成的hex文件在 /home/jhe/file/mesh/nrf5_SDK_for_Mesh_v2.0.1_src/build/examples/xxx/xxx.hex 下面。
###================程序编译完毕================###
###烧录程序
链接开发板
$ nrfjprog --family nRF52 -e //擦除芯片
$ nrfjprog --family nRF52 --program softdevice_xxaa.hex //烧录softdevice
$ nrfjprog --family nRF52 --program ap_xxaa.hex //烧录ap程序
$ nrfjprog --family nRF52 -r //Applying system reset. run ...
###=============番外篇之======================###
###A 合成一个hex文件
###B 生成bin文件
###note
1,之前一直提示sudo apt-get install 不能用 sudo apt-get install -f 一下在用.
2,如果提示 header-gernic 存在版本过低 ,先卸载掉 sudo apt-get remove xxx 进行卸载再安装
来源:oschina
链接:https://my.oschina.net/u/2850233/blog/1800690