zoukankan      html  css  js  c++  java
  • Zephyr学习(二)开发环境搭建

    一.概述

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

    二.步骤

    2.1安装msys2

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

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

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

    修改C:msys64etcpacman.dmirrorlist.mingw64,在开始处加入以下一行:

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

    修改C:msys64etcpacman.dmirrorlist.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:msys64homelkn.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系统已经在开发板上成功跑起来了。

  • 相关阅读:
    Spring Boot → 08:嵌入式Servlet容器自定义
    Spring Boot → 09:使用外置Servlet容器_tomcat9.0
    Spring Boot → 07:错误处理机制
    Spring Boot → 06:项目实战-账单管理系统
    Spring Boot → 05:Web开发
    zzz Objective-C的消息传递机制
    Objective-C中的SEL、IMP和Class类型(转)
    zzzObjective-C的动态特性
    zzz KVC/KVO原理详解及编程指南
    zzzzz iOS绘图教程
  • 原文地址:https://www.cnblogs.com/lknlfy/p/10225796.html
Copyright © 2011-2022 走看看