Zephyr内核详解,第0篇 开发环境

                                                                  Zephyr内核详解,第0篇 开发环境

         Zephyr是什么就不赘述,总之是一款遵循GPL的linux基金会的开源RTOS,以下的一系列文章均基于这款系统展开;嵌入式行业只讲理论不是实践就是耍流氓,先介绍下实验环境,

先从如何搭建环境开始说起:

1.开发板:st nucleo-l476rg

2.开发环境:macos mojave (10.14)

3.zephyr版本:v1.13.0

4.交叉编译:gcc-arm-none-eabi-7-2018-q2-update-mac

5.烧录工具:open-ocd V0.10.0

下面逐个说明:

1.关于开发版,建议购买原厂的能大大降低硬件问题导致的各种问题

2.开发环境可以支持windows/linux/mac这里我选择mac,需要注意的是现阶段zephyr sdk是不支持mac的,需要自己搭建环境,下面会介绍详细步骤

3.zephyr版本可以直接在官网下载最新的release版本就行,我用的是v1.13.0。www.zephyrproject.org,也可以使用git clone GitHub - zephyrproject-rtos/zephyr: Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.

下载最新的版本。

4.交叉编译环境,可以在arm的官网下载,我这里用的是gcc-arm-none-eabi-7-2018-q2-update-mac,我的安装目录是:/usr/local/opt/gcc-arm-none-eabi-7-2018-q2-update下载地

址:GNU Toolchain | GNU Arm Embedded Toolchain Downloads – Arm Developer

5.烧录工具open-ocd V0.10.0,安装之前先安装brew(The Missing Package Manager for macOS (or Linux) — Homebrew),然后使用下面命令安装必要等工具。brew install cmake ninja gperf ccache dfu-util qemu dtc python3 openocd minicom

这些工具包默认的安装目录是:/usr/local/Cellar/,open-ocd的安装目录是/usr/local/Cellar/open-ocd

6.安装zephyr必备等工具,pip3 install -r zephyr/scripts/requirements.txt

6.以上工具在我的环境下测试都是可以使用的,成功编译并烧录到开发版。

注意事项,需要先设置如下的环境变量,否则会编译或者烧录错误:

注意事项一.也可以把这些命令写成一个shell脚本例:setenv-stm32.sh,使用source setenv-stm32.sh来执行。

export GNUARMEMB_TOOLCHAIN_PATH=~/Applications/gcc-arm-none-eabi-8-2018-q4-major

export ZEPHYR_BASE=~/zephyr14git/zephyrproject/zephyr

export ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb

source ~/zephyr14git/zephyrproject/zephyr/zephyr-env.sh

注意事项二.

openocd默认支持的board在/usr/local/Cellar/open-ocd/0.10.0/share/openocd/scripts/board如果执行west flash或ninja flash命令的时候提示找不到xxx.cfg文件,可以去网络上找对应脚本放进去,

笔者就是找了一个esp32版本的opeocd(Open On-Chip Debugger v0.10.0-esp32-20190313 (2019-03-13-09:59)),然后直接替换掉homebrew安装目录下ßß的所有文件省得设置环境变量。

注意事项三.

如果要重新完全编译或者切换board类型,需要删除cmake生成的所有零时文件,可以使用ninja pristine或west build -t pristine。使用ninja clean或west build -t clean删除除.config文件之外的零时文件。

注意事项四。

官方建议使用west init zephyrproject/cd zephyrproject/west update来下载代码到本地,但是国内github访问很慢,这里有一个手动的方法。

1.在官网通过http方式下载整个源码压缩包

编译方法一,直接在zephyr原目录编译helloworld:

1.zephyr根目录执行:source zephyr.sh

2.执行:mdkir ./sample/helloword/build && cd ./sample/helloword/build

3.执行:cmake -GNinja -DBOARD=nucleo_l476rg ..

4.执行:ninja

5.执行:连接开发板到mac,执行ninja flash

6.执行:minicom -D /dev/tty.usbmodem143420

6.重启开发版,恭喜你helloworld已经完成。

编译方法二,

创建<home>/app目录作为app的主目录,并拷贝ZEPHYR_BASE/sample/helloword全部文件到/app目录下,然后执行west build -b <board>/或者cmake -GNinja -DBOARD=<board> . |_____app

||____CMakeLists.txt

||____prj.conf

||____setenv-stm32.sh

||____sample.yaml

||____build

||____README.rst

||____src

|| |____main.c

|____zephyrproject(zephyr base)

转载请注明出处

Cstyle.z.zhou@outlook.com   //  http://blog.csdn.net/CStyle_0x007

图片

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值