apache-mynewt-core-1.7.0 + apache-mynewt-nimble-1.2.0 + mcuboot-1.4.0
写这篇文档主要有两个原因:
1、mynewt 1.7.0版本里面删除了bootloader源码,使用的是开源mcuboot 工程。因此编译boot工程需要整合
2、前面 “mynewt 学习一:bleprph“ 这篇文档里面整合nimble协议栈时没有按照mynewt 工程原生文件架构处理
一、了解一下1.7.0更新哪些内容
二、整合nimble、mcuboot到工程项目里面
1)、相关源码下载
apache-mynewt-core-1.7.0 - https://mirrors.tuna.tsinghua.edu.cn/apache/mynewt/apache-mynewt-1.7.0/apache-mynewt-core-1.7.0.tgz
apache-mynewt-nimble-1.2.0 - https://mirrors.tuna.tsinghua.edu.cn/apache/mynewt/apache-nimble-1.2.0/apache-mynewt-nimble-1.2.0.tgz
mcuboot-1.4.0 - https://github.com/JuulLabs-OSS/mcuboot/archive/v1.4.0.zip
2)、mcuboot 整合到 apache-mynewt-core-1.7.0
将mcuboot-1.4.0\boot\ 目录下 boot_serial 、bootutil、mynewt 3个文件复制到 apache-mynewt-core-1.7.0\boot\目录下
将这个文件bootutil\pkg.yml、mynewt\flash_map_backend\pkg.yml、mynewt\pkg.yml 里面的@mcuboot/ 字段删除掉,如下图:
3)、nimble 整合到 apache-mynewt-core-1.7.0
将apache-mynewt-nimble-1.2.0 文件夹 nimble、porting 复制到 apache-mynewt-core-1.7.0\net\ 目录下,有重复的并等的替换
将apache-mynewt-nimble-1.2.0 文件夹 apps\bleprph 复制到 apache-mynewt-core-1.7.0\apps\ 目录下,有重复的并等的替换
将apache-mynewt-nimble-1.2.0 文件夹 nimble\drivers\native、nimble\drivers\nrf51、nimble\drivers\nrf52 复制到 apache-mynewt-core-1.7.0\\hw\drivers\nimble\ 目录下,有重复的并等的替换
将hw\drivers\nimble\native\pkg.yml、hw\drivers\nimble\nrf51\pkg.yml、hw\drivers\nimble\nrf52\pkg.yml 里面按如下方框里面红色字体做对应修改
将mgmt\newtmgr\transport\ble\pkg.yml 文件按如下修改
三、创建工程、编译