Zephyr学习(二)开发环境搭建

一.概述

Zephyr支持在Windows、Linux和MacOS环境下开发,这里只介绍如何在Windows下搭建zephyr的开发环境。

二.步骤

2.1安装msys2

msys2是一个Linux模拟环境,类似于ArchLinux。

安装完成后,要添加源(这与Linux环境是类似的),这里我添加的是清华大学的源,修改C:\msys64\etc\pacman.d\mirrorlist.mingw32,在开始处加入以下一行:

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686

修改C:\msys64\etc\pacman.d\mirrorlist.mingw64,在开始处加入以下一行:

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64

修改C:\msys64\etc\pacman.d\mirrorlist.msys,在开始处加入以下一行:

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch

安装完成后会看到有三种启动方式,分别是MSYS2 MinGW 32-bit、MSYS2 MinGW 64-bit和MSYS2 MSYS,这里要选择MSYS2 MSYS这种。

2.2安装依赖

启动MSYS2 MSYS后,分别执行以下命令:

pacman -Syu
pacman -S git cmake make gcc dtc diffutils ncurses-devel python3 gperf

2.3编译安装Ninja

分别执行以下命令:

git clone git://github.com/ninja-build/ninja.git && cd ninja
git checkout release
./configure.py --bootstrap
cp ninja.exe /usr/bin/

2.4下载Zephyr源码

这里下载到~/work目录下,执行以下命令:

cd ~/work
git clone --config core.autocrlf=false https://github.com/zephyrproject-rtos/zephyr.git

2.5安装相关python模块

zephyr里有很多python脚本,因此需要安装所需的模块:

curl -O ‘https://bootstrap.pypa.io/get-pip.py‘
./get-pip.py
rm get-pip.py
cd ~/work/zephyr
pip install --user -r scripts/requirements.txt

2.6安装交叉工具链

这里我以ARM(Cortex M系列)平台作为学习,所以需要安装arm交叉工具链,建议安装7.x版本的,用最新的8.x版本的会编译出错。我选择安装在C:\gnuarmemb目录下。

2.7编译应用

设置环境变量:

export ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb
export GNUARMEMB_TOOLCHAIN_PATH=/c/gnuarmemb
unset ZEPHYR_SDK_INSTALL_DIR

如果不想每次运行MSYS2 MSYS后都手动输入以上命令,那么可以将以上命令添加到C:\msys64\home\lkn\.bash_profile文件。

我的开发板主控是nrf52832,这里以编译最简单的hello_world程序(串口打印出hello world等字符)为例:

cd ~/work/zephyr
source zephyr-env.sh
cd samples/hello_world
mkdir build
cd build
cmake -GNinja -DBOARD=nrf52_pca10040 ..
ninja

编译成功的话会如下图所示:

编译生成的文件在./zephyr目录下,可以看到有zephyr.elf、zephyr.bin和zephyr.hex三种格式的固件。

2.8安装固件下载、调试工具

2.8.1安装Jlink

2.8.2安装nRF5x-Command-Line-Tools

这是Nordic对Jlink的封装,是专门针对Nordic的芯片的,主要用于擦除flash、烧写固件等操作。安装后会有nrfjprog.exe文件,然后将该文件所在的目录添加到系统环境变量中。

2.9在开发板上运行zephyr

打开cmd窗口,进入到固件生成的目录下,给开发板上电,连接好jlink调试器,连接好串口。

下载固件到开发板:

nrfjprog -f nrf52 --program zephyr.hex --sectorerase

让程序跑起来(复位系统):

nrfjprog -f nrf52 --reset

这时可以看到串口输出如下:

说明zephyr系统已经在开发板上成功跑起来了。

原文地址:https://www.cnblogs.com/lknlfy/p/10225796.html

时间: 2024-07-30 20:39:15

Zephyr学习(二)开发环境搭建的相关文章

我的Java学习笔记 -开发环境搭建

开始学习Java~ 一.Java简介 Java编程语言是一种简单.面向对象.分布式.解释型.健壮安全.与系统无关.可移植.高性能.多线程和动态的语言. Java分为三个体系: JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版) JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版) JavaME(J2ME)(Java 2 Platform Micro Edition,java

Django学习笔记 开发环境搭建

为什么使用django?1.支持快速开发:用python开发:数据库ORM系统,并不需要我们手动地构造SQL语句,而是用python的对象访问数据库,能够提升开发效率.2.大量内置应用:后台管理系统admin:用户认证系统auth:会话系统sessions.3.安全性高:表单验证,SQL诸如,跨站点攻击.4.易于扩展:django使用应用来划分逻辑功能.对于一个成熟的网站,如果需求变更了,只需要增加一个应用就可以了.学习django的知识储备:python基础,数据库SQL,HTTP协议,HTM

PHP学习_开发环境搭建_AapcheHTTPD的安装

记住一句话 PHP是ApacheHTTPD的一个模块 PHP是运行在服务器端的,靠的就是ApacheHTTPD去解析并加载PHP. 什么都不说,直接上一张图 学习这个PHP的开发,也是一个偶然的机会 也是因为学习开发微信公众号,才选择自学的这门课程 花费将近有半天的时间,在PHP中文网上看了传智播客老师录制的PHP学习视频 平台地址 :http://www.php.cn/php/php-tutorial.html 虽然PHP最终运行是在Apache服务器上,因为它是Apache的一个模块. 但是

React Native学习笔记 -- 开发环境搭建

工欲善其事,必先利其器.这次主要介绍mac osx下React Native的开发环境的搭建. homebrew mac上的包管理工具,用于安装nodejs和其他一些工具软件,在terminal输入下面命令进行安装: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 如果在安装过程中遇到提示ACCES: permission denied(

Android 学习之开发环境搭建(2015/1/28)

作者:thoughtInShare 出处:http://www.cnblogs.com/thoughtInShare 欢迎转载,也请保留这段声明.谢谢! 1.Android 开发环境的需要如下三个工具: (1) JRE(Java Runtime Environment) (2)ADT(Android Develop Tool) 此工具包含了 Eclipse 及 Android SDK(Android Software Development Kit) (3)NDK(Native Developm

python学习之——开发环境搭建

最终选用 eclipse+pydev,网上相关资料也是极多的~~~ 1.安装python: 2.安装eclipse: 3.eclipse中安装pydev,eclipse中help—>ecliple marketplace 中搜索pydev,下载并安装: 使用marketplace避免无效路径对安装pydev插件的影响. 4.重启eclipse,windows—>perferences—>pydev—>python interpreter  添加python解释器,也就是python

android快速上手(二)android开发环境搭建及hello world

基本了解了java语法,下一步,我们一起开启hello world的神秘之旅. (一)android开发环境搭建 之前搭建android开发环境是件非常费力的事情,下载Eclipse,安装ADT等,如今android官方给我们提供了全套配置. https://developer.android.com/sdk/index.html 搭建android开发环境之前记得先安装jdk (二)开启Hello World之旅 (1)创建Hello World项目 安装完带ADT的Eclipse,打开Ecl

Android安卓开发环境搭建应用游戏项目实战知识体系_极客学院

Java是Android开发的主要语言,所以掌握Java语言基础非常重要,本阶段讲解了Java的基本语法,要深入掌握Java语言,可以通过Java学习路径图学习. 17课程 10小时 19分钟 1.Java编程基础知识入门:变量与数据类型 本课学习变量的命名.定义和初始化及整数.浮点.字符数据类型. 25课时,141分钟 626人学习 2.Java语言Switch语句详解 本课学习switch语句,switch语句是分支语句的一组,适用于判断同一变量的多种状态,进行流程控制. 5课时,17分钟

Redis学习系列二之.Net开发环境搭建及基础数据结构String字符串

一.简介 Redis有5种基本数据结构,分别是string.list(列表).hash(字典).set(集合).zset(有序集合),这是必须掌握的5种基本数据结构.注意Redis作为一个键值对缓存系统,其所有的数据结构,都以唯一的key(字符串)作为名称,然后通过key来获取对应的数据. 二..Net开发环境搭建 这个版本,暂时不考虑并发问题,后续的文章会说!第一步:安装StackExchange.Redis包,我用的是2.0.519版本的. 第二步:编写代码,采用扩展方法的链式编程模式+as

8086汇编语言学习(二) 8086汇编开发环境搭建和Debug模式介绍

1. 8086汇编开发环境搭建 在上篇博客中简单的介绍了8086汇编语言.工欲善其事,必先利其器,在8086汇编语言正式开始学习之前,先介绍一下如何搭建8086汇编的开发环境. 汇编语言设计之初是用于在没有操作系统的裸机上直接操作硬件的,但对于大部分人来说,在8086裸机上直接进行编程将会面临各种困难.好在我们可以使用软件模拟器来模拟硬件进行8086的学习实践.在<汇编语言>中作者推荐通过windows环境下的masm和debug进行学习. masm介绍: masm是一款DOS下的汇编工具包,