Ubuntu下Nodic开发环境搭建

1.编译环境

sudo apt install gcc-arm-none-eabi

也可以下载可执行文件download

2. 检查make工具是否安装

make -v

一般来说开发Linux上的开发者都会安装,若没有安装的话,执行以下命令安装。

sudo apt-get install build-essential checkinstall

3. nRF5 SDK下载

Nordic官方对nRF51、nRF52系列提供了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/"。

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    15c _build/nrf52832_xxaa.out

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

如果执行make后输出跟上面一样,说明交叉编译gcc已经正确配置。下面就可以将文件烧录到板子中啦。

5. Jlink驱动工具

下载程序需要Jlink驱动工具,因此要先行安装。可以去这里下载J-link软件,并安装。对于ubuntu系统,可以直接下载deb安装包进行安装。

6. nrfjprog工具下载

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

下载之后解压的到自己习惯的目录,然后将nrfjprog可执行文件所在路径添加到PATH路径中。之后输入"nrfjprog -v"查看是否配置正确。

$ nrfjprog -v
nrfjprog version: 9.7.2
JLinkARM.dll version: 6.22d

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灯闪烁,说明烧写成功。现在整个编译烧写的流程也就走通啦。

猜你喜欢

转载自www.linuxidc.com/Linux/2017-12/149733.htm