Zephyr笔记1 - 在Windows下搭建开发环境
<p style="text-indent: 2em;">Zephyr版本号:<span style="color: rgb(255, 0, 0);">2.2.0</span></p><p style="text-indent: 2em;">开发板:<span style="color: rgb(255, 0, 0);">STM32F429IGT6(野火STM32F429挑战者 V2开发板)</span></p><p style="text-indent: 2em;">开发环境:<span style="color: rgb(255, 0, 0);">Windows 7 64位</span></p><p style="text-indent: 2em;">这里选择的是Zephyr当前最新的Release版本2.2.0进行说明的,我的电脑是Windows 7 64位系统,对于其他版本的Zephyr,配置步骤应该差不多。</p><p style="text-indent: 2em;">在后续的文章中,我将在野火的挑战者V2开发板运行Zephyer,并讲解使用Eclipse和JLink调试Zephyer的方法。</p><p style="text-indent: 2em;">为了防止公开链接被和谐,文章所需资源,请关注博主公众号,发送关键字 "zephyr开发环境" 进行获取。</p><p class="artical_littlestyle1">1、安装Chocolatey</p><p style="text-indent: 2em;">Chocolatey的安装可参考我的博文:<a href="http://www.only2fire.com/archives/116.html" target="_blank" title="Chocolatey离线安装方法">Chocolatey离线安装方法</a>,当然安装好了的就请忽略。<br/></p><p class="artical_littlestyle2">2、安装依赖</p><p style="text-indent: 2em;">使用Chocolatey安装指定工具时,如果电脑中已经存在了该工具,可选择不安装该工具。<br/></p><p>(1).以管理员身份打开命令提示符(按Windows键,在提示符下键入“cmd.exe”,然后右键单击结果并选择“以管理员身份运行”)。</p><p>(2).禁用全局确认,以避免必须确认单个程序的安装:</p><p><span style="color: rgb(0, 112, 192);">choco feature enable -n allowGlobalConfirmation</span></p><p>(3).安装Cmake:</p><p><span style="color: rgb(0, 112, 192);">choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'</span></p><p style="text-indent: 2em;">安装完Cmake之后,记得将<span style="color: rgb(0, 112, 192);">C:\Program Files\CMake\bin</span>(Cmake的默认安装路径)添加进系统环境变量的path中。</p><p>(4).安装其余工具:</p><p><span style="color: rgb(0, 112, 192);">choco install git python ninja dtc-msys2 gperf</span></p><p>(5).安装west:</p><p style="text-indent: 2em;"><span style="color: rgb(255, 0, 0);">首先关闭之前的管理员命令提示符窗口,然后打开常规命令提示符窗口(不要有管理员权限的命令提示符窗口)</span>,接着执行命令:<span style="color: rgb(0, 112, 192);">pip3 install west</span>。</p><p class="artical_littlestyle3">3、获取Zephyr-2.2.0源代码</p><p style="text-indent: 2em;">Zephyr的多用途west工具简化了获取Zephyr源代码和Zephyr需要使用到的外部模块。使用west 将Zephyr的所有git存储库克隆到新目录zephyr_new中。</p><p style="text-indent: 2em;">选择一个存放Zephyr的目录,然后在此目录中打开命令提示符,执行下述命令:</p><p><span style="color: rgb(0, 112, 192);">west init zephyr_new</span></p><p><span style="color: rgb(0, 112, 192);">cd zephyr_new</span></p><p><span style="color: rgb(0, 112, 192);">west update</span></p><p style="text-indent: 2em;">如果执行完<span style="color: rgb(0, 112, 192);">west update</span>命令之后,出现类似错误:<span style="color: rgb(255, 0, 0);">ERROR: update failed for projects: civetweb, hal_stm32</span>,那么再执行一次<span style="color: rgb(0, 112, 192);">west update</span>命令应该就可以了:</p><p style="text-align:center"><img src="/uploads/AilsonJack/2020.05.09/1589037178107506.png" onclick="preview_image('/uploads/AilsonJack/2020.05.09/1589037178107506.png')"/></p><p style="text-indent: 2em;">切换到2.2.0代码的分支:</p><p><span style="color: rgb(0, 112, 192);">cd zephyr</span></p><p><span style="color: rgb(0, 112, 192);">git checkout -b v2.2-branch origin/v2.2-branch</span></p><p style="text-align:center"><img src="/uploads/AilsonJack/2020.05.09/1589037178909380.png" onclick="preview_image('/uploads/AilsonJack/2020.05.09/1589037178909380.png')"/></p><p class="artical_littlestyle4">4、安装所需的Python软件包</p><p style="text-indent: 2em;">我们下载的Zephyr源代码中包含一个requirements.txt文件,我们将使用该文件来安装Zephyr项目使用的其他Python工具:</p><p><span style="color: rgb(0, 112, 192);">pip3 install -r scripts\requirements.txt</span></p><p class="artical_littlestyle1">5、安装软件开发工具链</p><p style="text-indent: 2em;">工具链包括用于构建Zephyr应用程序的必要工具,包括:编译器,汇编器,链接器及其依赖性。由于这里将使用STM32F429IGT6,因此下载安装ARM工具链即可。</p><p style="text-indent: 2em;">在<a href="https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm" target="_blank" title="https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm">https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm</a>下载编译工具链,或者使用我这里提供的下载好的编译工具链,我使用的是2019q4。解压"<span style="color: rgb(0, 112, 192);">gcc-arm-none-eabi-9-2019-q4-major-win32.zip</span>",重命名为<span style="color: rgb(0, 112, 192);">2019q4</span>,我这里的存放路径为:<span style="color: rgb(0, 112, 192);">F:\SoftWare\linux_enviroment\gnu_tools_arm_embed\2019q4</span>。</p><p style="text-indent: 2em;">环境变量设置:</p><p style="text-indent: 2em;">(1).在系统变量下面点击新建,变量名:<span style="color: rgb(0, 112, 192);">ZEPHYR_TOOLCHAIN_VARIANT</span>,变量值:<span style="color: rgb(0, 112, 192);">gnuarmemb</span>。</p><p style="text-indent: 2em;">(2).在系统变量下面点击新建,变量名:<span style="color: rgb(0, 112, 192);">GNUARMEMB_TOOLCHAIN_PATH</span>,变量值:<span style="color: rgb(0, 112, 192);">F:\SoftWare\linux_enviroment\gnu_tools_arm_embed\2019q4</span>。</p><p style="text-indent: 2em;">(3).将编译工具链的路径(<span style="color: rgb(0, 112, 192);">F:\SoftWare\linux_enviroment\gnu_tools_arm_embed\2019q4\bin</span>)添加到系统环境变量的Path中。</p><p style="text-indent: 2em;">添加完上述环境变量之后,记得保存。</p><p class="artical_littlestyle2">6、编译HelloWorld应用</p><p style="text-indent: 2em;">确定命令提示符的路径在Zephyr2.2.0源代码目录中,执行下述命令:</p><p><span style="color: rgb(0, 112, 192);">zephyr-env.cmd</span></p><p><span style="color: rgb(0, 112, 192);">west build -p auto -b stm32f429i_disc1 samples/hello_world</span></p><p style="text-indent: 2em;">编译成功的输出信息如下:</p><p style="text-align:center"><img src="/uploads/AilsonJack/2020.05.09/1589037178369971.png" onclick="preview_image('/uploads/AilsonJack/2020.05.09/1589037178369971.png')"/></p><p style="text-indent: 2em;">当然了,当前编译出的二进制文件并不能在野火挑战者V2上运行,后续的文章会讲解如何修改代码使Zephyr能够在野火挑战者V2运行。敬请关注。</p><p style="text-indent: 2em;">如果这篇文章对你有帮助,记得点赞和关注博主就行了^_^。</p>
你可能也喜欢:
暂无评论,要不要来个沙发
发表评论
JLink V9掉固件修复(灯不亮) 3Zephyr笔记2 - 在STM32F429上运行HelloWorld 2计算NandFlash要传入的行地址和列地址 1Linux MMC子系统 - 6.eMMC 5.1工作模式-设备识别模式 0Linux MMC子系统 - 5.eMMC 5.1工作模式-引导模式 0Linux MMC子系统 - 4.eMMC 5.1常用命令说明(2) 0
标签云
Linux嵌入式实用技巧ARM内核学习问题集合CC++编程语言阅读笔记汇编Linux内核完全注释Windows驱动开发计算机基础ARM11ARMv7-ASTM32IDESublimeLinux内核学习eMMCMMC子系统Ubuntu操作系统OfficeVMWareAPUEgccRTOS中断漫游世界随笔感悟开发工具软件应用编程VsCodearmccarmclang编译器ZephyrSPIJLink网卡驱动安装各种芯片库函数NFSμCOS内核sambaFlashUnix命令与脚本输入法Linux内核设计与实现gitRIFFWAVJATGFTPar8161安装centos有线上网μCGUI字库工程建立右键菜单网络文件系统Firefox百度NTFS文件系统CodeBlocksCentOS数据结构算法PhotoShop51KeilQTUltraEditscanfglibc宏定义UIDGID优先级娱乐天地SourceInsight磁盘扇区总线I2CPDFBComparePythonI2SFPUMakefileSWDCPUARP软件推荐FileZilla