请选择 进入手机版 | 继续访问电脑版

12360技术网 - 专业IT技术发表平台

 立即注册  找回密码
查看: 9042|回复: 4

esp-idf版本更新及切换方法

[复制链接]

20

主题

34

帖子

364

积分

中级会员

Rank: 3Rank: 3

积分
364
发表于 2020-1-23 18:10:02 | 显示全部楼层 |阅读模式
ESP-IDF 版本简介

ESP-IDF 的 GitHub 仓库时常更新,特别是用于开发新特性的 master 分支。
如有量产需求,请使用稳定版本。
发布版本

您可以通过以下链接访问各个版本的配套文档:
ESP-IDF 在 GitHub 平台上的完整发布历史请见 发布说明页面。您可以在该页面查看各个版本的发布说明、配套文档及相应获取方式。
此外,您还可以直接前往文档页面,查看部分 ESP-IDF 版本的配套文档,具体可通过点击页面左下角的小三角标志,在不同版本间切换。
我该选择哪个版本?


  • 如有量产需求,请使用 最新稳定版本。稳定版本已通过人工测试,后续更新仅修复 bug,主要特性不受影响(更多详情,请见 版本管理)。
  • 如需尝试/测试 ESP-IDF 的最新特性,请使用 最新版本(在 master 分支上)。最新版本包含 ESP-IDF 的所有最新特性,已通过自动化测试,但尚未全部完成人工测试(因此存在一定风险)。
  • 如需使用稳定版本中没有的新特性,但同时又不希望受到 master 分支更新的影响,您可以将一个最适合您的稳定版本 更新至一个预发布版本更新至一个发布分支
有关如何更新 ESP-IDF 本地副本的内容,请参考 更新 ESP-IDF 章节。
版本管理

ESP-IDF 采用了 语义版本管理方法,即您可以从字面含义理解每个版本的差异。其中

  • 主要版本(例 v3.0)代表有重大更新,包括增加新特性、改变现有特性及移除已弃用的特性。
    升级至一个新的主要版本(例 v2.1 升级至 v3.0)意味着您可能需要更新您的工程代码,并重新测试您的工程,具体可参考 发布说明页面 的重大变更 (Breaking Change) 部分。

  • 次要版本(例 v3.1)代表有新增特性和 bug 修复,但现有特性不受影响,公开 API 的使用也不受影响。
    升级至一个新的次要版本(例 v3.0 升级至 v3.1)意味着您可能不需要更新您的工程代码,但需重新测试您的工程,特别是 发布说明页面 中专门提到的部分。

  • Bugfix 版本(例 v3.0.1)仅修复 bug,并不增加任何新特性。
    升级至一个新的 Bugfix 版本(例 v3.0 升级至 v3.0.1)意味着您不需要更新您的工程代码,仅需测试与本次发布修复 bug(列表见 发布说明页面)直接相关的特性。

查看当前版本

查看 ESP-IDF 本地副本的版本,请使用 git 命令:
  1. cd $IDF_PATHgit describe --tags --dirty
复制代码
此外,由于 ESP-IDF 的版本也已编译至固件中,因此您也可以使用宏 IDF_VER 查看 ESP-IDF 的版本(以字符串的格式)。ESP-IDF 默认引导程序可以在设备启动时打印 ESP-IDF 的版本,但注意代码中的版本信息仅会在源代码重新编译时才会更新,因此打印出来的版本可能并不是最新的。
几个 ESP-IDF 版本的例子:
版本字符串含义v3.2-dev-306-gbeb3611camaster 分支上的预发布版本。- v3.2-dev:为 v3.2 进行的开发。- 306:v3.2 开发启动后的 commit 数量。- beb3611ca:commit 标识符。v3.0.2稳定版本,标签为 v3.0.2。v3.1-beta1-75-g346d6b0eav3.1 的 beta 测试版本(可参考 更新至一个发布分支)。- v3.1-beta1 - 预发布标签。- 75:添加预发布 beta 标签后的 commit 数量。- 346d6b0ea:commit 标识符。v3.0.1-dirty稳定版本,标签为 v3.0.1。- dirty 代表 ESP-IDF 的本地副本有修改。Git 工作流

乐鑫 ESP-IDF 团队的 (Git) 开发工作流程如下:

  • 新的改动总是在 master 分支(最新版本)上进行。master 分支上的 ESP-IDF 版本总带有 -dev 标签,表示“正在开发中”,例 v3.1-dev。
  • 这些改动将首先在乐鑫的内部 Git 仓库进行代码审阅与测试,而后在自动化测试完成后推至 GitHub。
  • 新版本一旦完成特性开发(在 master 分支上进行)并达到进入 beta 测试的标准,则将该版本签出至一个新分支(例  release/v3.1)。此外,该分支还打上预发布标签(例 v3.1-beta1)。您可以在 GitHub 平台上查看 ESP-IDF 的完整 分支列表标签列表。Beta 预发布版本可能仍存在大量“已知问题”(Known Issue)。
  • 随着对 beta 版本的不断测试,bug 修复将同时增加至该发布分支和 master 分支。而且,master 分支可能也已经开始为下个版本开发新特性了。
  • 当测试快结束时,该发布分支上将增加一个 rc 标签,代表候选发布 (Release Candidate) ,例 v3.1-rc1。此时,该分支仍属于预发布版本。
  • 如果一直未发现或报告重大 bug,则该预发布版本将最终增加“主要版本”(例 v4.0)或“次要版本”标记(例 v3.1),成为正式发布版本,并体现在 发布说明页面
  • 后续,该版本中发现的 bug 都将在该发布分支上进行修复。人工测试完成后,该分支将增加一个 bugfix 版本标签(例 v3.1.1),并体现在 发布说明页面
更新 ESP-IDF

请根据您的实际情况,对 ESP-IDF 进行更新。
注解
在参考本指南时,请首先获得 ESP-IDF 的本地副本,具体步骤请参考 入门指南 中的介绍。
更新至一个稳定发布版本

(推荐量产用户)如需更新至一个新的 ESP-IDF 发布版本,请参考以下步骤:

  • 请定期查看 发布说明页面 ,了解最新发布情况。
  • 如有新发布的 bugfix 版本(例 v3.0.1 或 v3.0.2)时,请将新的 bugfix 版本更新至您的 ESP-IDF 目录:
  1. cd $IDF_PATHgit fetchgit checkout vX.Y.Zgit submodule update --init --recursive
复制代码

  • 如有主要版本或次要版本新发布时,请查看发布说明中的具体描述,并决定是否升级您的版本。具体命令与上方描述一致。
注解
如果您之前在安装 ESP-IDF 时使用了 zip 文件包,而非通过 Git 命令,则您将无法使用 Git 命令进行版本升级,此属正常情况。这种情况下,请重新下载最新 zip 文件包,并替换掉之前 IDF_PATH 下的全部内容。
更新至一个预发布版本

您也可以将您的本地副本签出(命令 git checkout)至一个预发布版本或 rc 版本,具体方法请参考 更新至一个稳定发布版本 中的描述。
预发布版本通常不体现在 发布说明页面。更多详情,请查看完整 标签列表。使用预发布版本的注意事项,请参考 更新至一个发布分支 中的描述。
更新至 master 分支

注解
ESP-IDF 中 master 分支上的代码会时时更新,因此使用 master 分支相当在“流血的边缘试探”,存在一定风险。
如需使用 ESP-IDF 的 master 分支,请参考以下步骤:

  • 本地签出至 master 分支:
    1. cd $IDF_PATHgit checkout mastergit pullgit submodule update --init --recursive
    复制代码
  • 此外,您还应在后续工作中不时使用 git pull 命令,将远端 master 上的更新同步到本地。注意,在更新 master 分支后,您可能需要更改项代码,也可能遇到新的 bug。
  • 如需从 master 分支切换至一个发布分支或稳定版本,请使用 git checkout 命令。
重要
强烈建议您定期使用 git pull 和 git submodule update --init --recursive 命令,确保本地副本的及时更新。旧的 master 分支相当于一个“快照”,可能存在未记录的问题,且无法获得支持。对于半稳定版本,请参考 更新至一个发布分支
更新至一个发布分支>

从稳定性来说,使用“发布分支”相当于在使用 master 分支和稳定版本之间进行折衷,包含一些 master 分支上的新特性,但也同时保证可通过 beta 测试且基本完成了 bug 修复。
更多详情,请前往 GitHub 查看完整 标签列表
举例,您可以关注 ESP-IDF v3.1 分支,随时关注该分支上的 bugfix 版本发布( 例 v3.1.1 等):
  1. cd $IDF_PATHgit fetchgit checkout release/v3.1git pullgit submodule update --init --recursive
复制代码
您每次在该分支上使用 git pull 时都相当于把最新的 bugfix 版本发布更新至您的本地副本中。
注解
发布分支并不会有专门的配套文档,建议您使用与本分支最接近的版本。
                                                                                                                                       
                                                    
  • 点赞                        1                        
  • 收藏                        
  • 分享                                                                                                                        
  •                                                         
                                      
    • 文章举报                           
                                                
                                                                        
                                            
                                                        Justice_Gao                                                                发布了74 篇原创文章 · 获赞 112 · 访问量 29万+                                                                                            私信                                                            关注
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

x




上一篇:软件测试面试题合集【乐搏TestPRO】
下一篇:lerna管理前端packages的最佳实践
回复

使用道具 举报

0

主题

14

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
发表于 2020-1-24 17:14:24 | 显示全部楼层
楼主太厉害了!楼主,I*老*虎*U![www.12360.co]
回复

使用道具 举报

0

主题

18

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
发表于 2020-2-11 06:50:56 | 显示全部楼层
其实我一直觉得楼主的品味不错!呵呵![www.12360.co]
回复

使用道具 举报

0

主题

14

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
发表于 2020-2-19 11:57:53 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享![www.12360.co]
回复

使用道具 举报

16

主题

29

帖子

331

积分

中级会员

Rank: 3Rank: 3

积分
331
发表于 7 天前 | 显示全部楼层
我看不错噢 谢谢楼主![www.12360.co]
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

12360技术网

GMT+8, 2020-2-29 21:26 , Processed in 0.122324 second(s), 47 queries .

本网站内容收集于互联网,Www.12360.Co不承担任何由于内容的合法性及健康性所引起的争议和法律责任。 欢迎大家对网站内容侵犯版权等不合法和不健康行为进行监督和举报。

© 2019-2020 Www.12360.Co

快速回复 返回顶部 返回列表