[RA4 & RA6] 【瑞萨RA × Zephyr评测】1、Zephyr linux开发环境搭建

[复制链接]
131|1
sujingliang 发表于 2026-4-19 09:23 | 显示全部楼层 |阅读模式
本帖最后由 sujingliang 于 2026-4-19 09:26 编辑

FPB_RA6E2已经做了Zephyr适配,直接安装Zephyr开发环境就可以进行FPB_RA6E2开发。
fpb_ra6e2.png

关于Zephyr命令行开发环境的搭建可以参考Zephyr的官方地址:https://docs.zephyrproject.org/latest/develop/getting_started/index.html



开发环境的搭建主要包括:

1、在搭建命令行Zephyr开发环境
2、获取源代码
3、构建、烧录并运行示例应用程序



一、安装依赖


  1. sudo apt install --no-install-recommends git cmake ninja-build gperf \
  2.   ccache dfu-util device-tree-compiler wget python3-dev python3-venv python3-tk \
  3.   xz-utils file make gcc gcc-multilib g++-multilib libsdl2-dev libmagic1


主要依赖
Tool Min. Version
CMake 3.20.5
Python 3.12
Devicetree compiler 1.4.6
由于系统之前已经安装了一些依赖,所以主要安装了device-tree-compiler
DTCVERSOIN.png
二、获得Zephyr,安装ython依赖1、建立python虚拟环境
  1. python3 -m venv ~/zephyrproject/.venv
2、激活python虚拟环境(以后每次进入Zephyr命令行,先执行激活命令)
  1. source ~/zephyrproject/.venv/bin/activate
3、安装west在 Zephyr RTOS 开发环境中,West 是一个官方提供的多用途工具(命令行工具),它的名字来源于 “West” 是 “Zephyr’s meta-tool” 的简称。既管理依赖(拉取外部模块),又负责执行构建和运行任务。
  1. pip install west

4、获得Zephyr源代码
  1. west init ~/zephyrproject
  2. cd ~/zephyrproject
  3. west update
5、将当前工作区的 Zephyr 安装,作为一个CMake配置包,注册到系统的CMake用户包注册表中,让CMake能够自动找到Zephyr
  1. west zephyr-export
6、使用west packages安装python依赖
  1. west packages pip --install
三、安装Zephyr SDK
  1. cd ~/zephyrproject/zephyr
  2. west sdk install
Zephyr软件开发套件(SDK)包含适用于Zephyr支持的每种架构的工具链,其中包括构建Zephyr应用程序所需的编译器、汇编器、链接器和其他程序。它还包含其他主机工具,如用于模拟、烧录和调试Zephyr应用程序的自定义QEMU和OpenOCD构建。
SDK会被安装到:~/zephyr-sdk-<version>/以上安装过程中,可能会遇到意外中断的情况,再次执行安装命令可以从断点继续安装。四、编译Blinky例程1、编译
  1. source ~/zephyrproject/.venv/bin/activate
  2. cd ~/zephyrproject/zephyr
  3. west build -p always -b fpb_ra6e2 samples/basic/blinky
2、烧录fpb_ra6e2配置了2中烧录方式:

flash.png
开发板上已经自带JLINK,因此选择JLINK烧录,但是首先要使linux支持jlink:
  • 访问SEGGER 官方网站:https://www.segger.com/downloads/jlink/,选择对应的 Linux 64-bit (deb) 格式的安装包
  • 安装 .deb 安装包:sudo dpkg -i <安装包名字>.deb
  • 验证安装:JLinkExe -v


jlink烧录:
  1. west flash

main.c
  1. #include <stdio.h>
  2. #include <zephyr/kernel.h>
  3. #include <zephyr/drivers/gpio.h>

  4. /* 1000 msec = 1 sec */
  5. #define SLEEP_TIME_MS   1000

  6. /* The devicetree node identifier for the "led0" alias. */
  7. #define LED0_NODE DT_ALIAS(led0)

  8. /*
  9. * A build error on this line means your board is unsupported.
  10. * See the sample documentation for information on how to fix this.
  11. */
  12. static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(LED0_NODE, gpios);

  13. int main(void)
  14. {
  15.         int ret;
  16.         bool led_state = true;

  17.         if (!gpio_is_ready_dt(&led)) {
  18.                 return 0;
  19.         }

  20.         ret = gpio_pin_configure_dt(&led, GPIO_OUTPUT_ACTIVE);
  21.         if (ret < 0) {
  22.                 return 0;
  23.         }

  24.         while (1) {
  25.                 ret = gpio_pin_toggle_dt(&led);
  26.                 if (ret < 0) {
  27.                         return 0;
  28.                 }

  29.                 led_state = !led_state;
  30.                 printf("LED state: %s\n", led_state ? "ON" : "OFF");
  31.                 k_msleep(SLEEP_TIME_MS);
  32.         }
  33.         return 0;
  34. }
在~/zephyrproject/zephyr/boards/renesas/fpb_ra6e2/fpb_ra6e2.dts中定义如下:
  1.                 compatible = "gpio-leds";

  2.                 led1: led1 {
  3.                         gpios = <&ioport2 7 GPIO_ACTIVE_HIGH>;
  4.                         label = "LED1";
  5.                 };

  6.                 led2: led2 {
  7.                         gpios = <&ioport2 6 GPIO_ACTIVE_HIGH>;
  8.                         label = "LED2";
  9.                 };
  10.         };


  11.         aliases {
  12.                 led0 = &led1;
  13.                 led1 = &led2;
  14.                 sw0 = &button0;
  15.                 watchdog0 = &wdt;
  16.         };
可以看到main.c中led0对应dts中的p207

实际运行效果:
1.jpg




韶华倾负 发表于 2026-4-19 21:16 | 显示全部楼层
west update 拉取源码超时失败,国内网络懂的都懂,别硬等,直接给 git 换国内镜像源,或者挂代理,我换源之后几分钟就拉完了,不然卡一下午都搞不定;还有 python 虚拟环境一定要每次打开终端都激活,不然 west 指令直接报错,新手最容易忽略这个细节。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

111

主题

179

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部
0