ubuntu下编译烧录nordic芯片

大兔子大兔子 提交于 2020-11-04 04:10:55

#ubuntu下编译烧录nordic芯片

具体参考官方说明:

http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.meshsdk.v2.0.1%2Fmd_doc_getting_started_getting_started.html

##一 操作环境

        目标系统: 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 进行卸载再安装
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!