Ubuntu下Nodic开发环境搭建

1.编译环境

Ubuntu可直接装gcc编译环境

sudo apt install gcc-arm-none-eabi

也可以下载可执行文件download

2. 检查make工具是否安装

make -v

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

sudo apt-get installbuild-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.1GNU_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
      79441164808540    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 hexfile.
Reading flash area to program toguarantee it is erased.
Checking that the area to write isnot protected.
Programing device.

$ nrfjprog --family nRF52 -r
Applying systemreset.
Run.

以上三个命令执行完毕,会看到板子上的四个led灯闪烁,说明烧写成功。现在整个编译烧写的流程也就走通啦。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/221168.html<

(0)
管理的头像管理
上一篇2025-04-14 22:02
下一篇 2025-04-14 22:03

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注