[活动] 《Nordic nRF7002开发板试用体验---使用docker轻松构建开发环境来点灯》

[复制链接]
1376|4
 楼主| HonestQiao 发表于 2023-8-5 11:09 | 显示全部楼层 |阅读模式
本帖最后由 HonestQiao 于 2023-8-9 22:56 编辑

nRF相关的环境构建,难住不少人,经过一番研究,发现基于docker环境,可以又快又好的构建起来开发环境。

要建立起开发环境,核心的两点:
1. 源码:nRF Connect SDK + zephyr
2. 编译环境
3. 烧录

源码目前有两种方式,一种是通过github直接下载对应的库,一种是通过west下载。
编译环境有多种方式,但使用docker环境则已经由官方把环境打包好了,不用自己再费时费力了。
烧录的话,可以通过west,也可以通过nrfjprog。
当然,如果使用合适的开发工具如VS Code、CLion结合NCS(nRF Connect SDK)做好了配置,会更加的方便开发调试,感兴趣可以进一步研究。

因为是基于Docker的,所以请先安装好Docker。
另外,如果是在Windows环境中操作,建议使用WSL环境。

下面,就是两种基于Docker快速搭建开发环境的操作步骤,完成下面的步骤就能点灯,点完灯,板子就能痛快的吃灰了!
Docker编译环境,由nRF官方制作,稳定可靠!!!

涉及到的工具、源码、资料,都在下面的百度网盘提供了:
nRF7002-DK 资料分享: https://pan.baidu.com/s/1TCdbo5RcFWs6uFqv40KiiA?pwd=7002 提取码: 7002

一、简化版:【强烈推荐】
  1. ## 环境构建:简化版【强烈推荐,使用官方docker镜像】

  2. # 1. 环境参数设置【难度:⭐️】【执行一次即可】
  3. echo 'export PATH=~/.local/bin:"$PATH"' >> ~/.bashrc
  4. echo 'export sdk_nrf_revision=v2.4.1' >> ~/.bashrc
  5. echo 'export docker_nrf_revision=v2.4-branch' >> ~/.bashrc
  6. source ~/.bashrc

  7. # 2. 简化版拉库:需科学上网【难度:⭐️】【执行一次即可】
  8. mkdir workdir && cd workdir

  9. # 方式1:下载源码压缩包【非常推荐】,仅需下载 65M+34M 大小数据
  10. # zephyr网址:https://github.com/zephyrproject-rtos/zephyr/releases
  11. # sdk-nrf网址:https://github.com/nrfconnect/sdk-nrf/releases
  12. # 推荐版本:https://github.com/zephyrproject-rtos/zephyr/archive/refs/tags/v3.4.0.zip
  13. # 推荐版本:https://github.com/nrfconnect/sdk-nrf/archive/refs/tags/v2.4.1.zip
  14. # 下载最新版本的Source code压缩包解压,解压后改名为zephyr和sdk-nrf放到workdir目录
  15. # 查看最终文件:输出zephyr和sdk-nrf及对应目录内容
  16. ls -l *

  17. # 方式2:使用git克隆源码【一般推荐】,需下载 874M + 230M 大小数据
  18. git clone https://github.com/zephyrproject-rtos/zephyr.git -b zephyr-v3.4.0
  19. git clone https://github.com/nrfconnect/sdk-nrf.git -b v2.4.1

  20. # 3. docker编译,省去环境构建步骤【难度:⭐️⭐️】
  21. # 预拉取镜像【执行一次即可】
  22. docker pull nordicplayground/nrfconnect-sdk:$docker_nrf_revision

  23. # 编译点灯源码:zephyr/samples/basic/blinky
  24. docker run -it --rm \
  25. -v ${PWD}:/workdir/project nordicplayground/nrfconnect-sdk:$docker_nrf_revision \
  26. west build -b nrf7002dk_nrf5340_cpuapp zephyr/samples/basic/blinky

  27. # 编译最终结果:
  28. [168/168] Linking C executable zephyr/zephyr.elf
  29. Memory region         Used Size  Region Size  %age Used
  30.            FLASH:       23676 B         1 MB      2.26%
  31.              RAM:        6256 B       448 KB      1.36%
  32.         IDT_LIST:          0 GB         2 KB      0.00%
  33.         
  34. # 4. 烧录 使用nrfjprog【难度:⭐️⭐️】
  35. # 下载命令行工具 https://www.nordicsemi.com/Products/Development-tools/nrf-command-line-tools/download
  36. # 学习参考:http://www.sunyouqun.com/2018/03/nrfjprog-user-guide/

  37. # 安装nRF Toole和J-Link,然后执行检查
  38. nrfjprog -v
  39. # 此时应输出版本信息

  40. # 清空板子:
  41. nrfjprog -e
  42. # 结果:输出如下,否则请检查连接
  43. Erasing user available code and UICR flash areas.
  44. Applying system reset.

  45. # 烧录板子:
  46. nrfjprog --verify --program ./build/zephyr/zephyr.hex
  47. # 结果:输出如下,否则请检查连接
  48. [ #################### ]   0.174s | Program file - Done programming
  49. [ #################### ]   0.159s | Verify file - Done verifying
  50. # 如果出现错误,结尾加一个 --recover 再来一次

  51. # 重启芯片:重启后,板子开始闪灯
  52. nrfjprog --reset
  53. # 结果:输出如下,否则请检查连接
  54. Applying system reset.
  55. Run.

  56. # 以上步骤,也可用一条命令搞定:nrfjprog --verify --program ./build/zephyr/zephyr.hex –-chiperase -r




补充说明:下载后的源码中,包含了几百个实例和说明,可供学习研究,具体目录如下:
  • nRF SDK实例:sdk-nrf/samples
  • nRF SDK实例文档:sdk-nrf/doc/nrf/samples
  • zephyr实例:zephyr/samples
  • 点灯实例源码:zephyr/samples/basic/blinky
  • 烧录工具命令版:https://www.nordicsemi.com/Products/Development-tools/nrf-command-line-tools/download
  • 烧录工具桌面版:https://www.nordicsemi.com/Products/Development-tools/nrf-connect-for-desktop/download



二、完整版:
  1. ## 环境构建-高难度版:【使用官方docker镜像】

  2. # 1. 环境参数设置【难度:⭐️】【执行一次即可】
  3. echo 'export PATH=~/.local/bin:"$PATH"' >> ~/.bashrc
  4. echo 'export sdk_nrf_revision=v2.4.1' >> ~/.bashrc
  5. echo 'export docker_nrf_revision=v2.4-branch' >> ~/.bashrc
  6. source ~/.bashrc

  7. # 2. 高难度拉库:需科学上网【难度:⭐️⭐️⭐️】【执行一次即可】
  8. # 提醒:一般玩家可不用考虑,直接用简化版

  9. # 安装west
  10. pip3 install --user west
  11. west --version
  12. # 此时应正确显示版本号

  13. # 拉完整库,需下载 3G 以上大小数据
  14. west init -m https://github.com/nrfconnect/sdk-nrf --mr $sdk_nrf_revision
  15. west update

  16. # 3. docker编译,省去环境构建步骤【难度:⭐️⭐️】
  17. # 预拉取镜像【执行一次即可】
  18. docker pull nordicplayground/nrfconnect-sdk:$docker_nrf_revision

  19. # 编译点灯源码:zephyr/samples/basic/blinky
  20. docker run -it --rm \
  21. -v ${PWD}:/workdir/project nordicplayground/nrfconnect-sdk:$docker_nrf_revision \
  22. west build -b nrf7002dk_nrf5340_cpuapp zephyr/samples/basic/blinky

  23. # 编译最终结果:
  24. [168/168] Linking C executable zephyr/zephyr.elf
  25. Memory region         Used Size  Region Size  %age Used
  26.            FLASH:       23676 B         1 MB      2.26%
  27.              RAM:        6256 B       448 KB      1.36%
  28.         IDT_LIST:          0 GB         2 KB      0.00%
  29.         
  30. # 5. 烧录:使用west
  31. west flash
  32. # 然后按板子REST按键,重启后板子开始闪灯

补充说明:下载后的源码中,包含了几百个实例和说明,可供学习研究,具体目录如下:
  • nRF SDK实例:nrf/samples
  • nRF SDK实例文档:nrf/doc/nrf/samples
  • zephyr实例:zephyr/samples
  • 点灯实例源码:zephyr/samples/basic/blinky



建议初学者使用第一个简化版本,这样能够快速进入状态,避免折磨太多。

另外,烧录也可使用下面的图形界面工具:
烧录工具桌面版【推荐】:https://www.nordicsemi.com/Products/Development-tools/nrf-connect-for-desktop/download




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
zhanzr21 发表于 2023-8-5 12:22 | 显示全部楼层
乔老师威武 这么快就把环境搞定了
jobszheng 发表于 2023-8-6 23:19 | 显示全部楼层
谢谢 乔老师了
这么看,官方给的资料还是非常充分的,只是咱们在国内访问起来不是太方便。
袁胜富 发表于 2023-8-8 07:38 来自手机 | 显示全部楼层
访问太特吗气人了
袁胜富 发表于 2023-8-8 07:38 来自手机 | 显示全部楼层
资料很丰富,下载不下来,需要科学上网
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

110

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部