嵌入式系统与单片机|技术阅读
登录|注册

您现在的位置是:嵌入式系统与单片机 > 技术阅读 > YY3568 Debian11+RT-Thread混合内核部署

YY3568 Debian11+RT-Thread混合内核部署

RK3568 Debian11+RT-Thread混合内核部署方案

方案:3个核(Linux或Debian) + 1个核(RT-Thread)


以下视频为:YY3568混合部署的演示视频。
欢迎关注视频号,我们将准备一场直播,讲解如何在YY3568混合部署Debian+RT-Thread




Debian-AMP工程

  • amp工程,下载链接:http://dd.youyeetoo.cn:5000/sharing/HhtpwagEr
  • 登录下载链接,然后点击 “下载” 按钮进行下载。
  • 将下载好的固件迁移到ubuntu中。
  • 编译构建

    搭建编译环境

    sudo apt-get update

    sudo apt-get install scons git gnupg flex bison gperf libsdl1.2-dev \
    libesd-java libwxgtk3.0-dev squashfs-tools build-essential zip curl \
    libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils \
    xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev \
    lib32readline-dev gcc-multilib libswitch-perl libssl-dev unzip zip device-tree-compiler \
    liblz4-tool python-pyelftools python3-pyelftools -y

    解压工程压缩包:

    youyeetoo@youyeetoo:~$ tar -zxvf YY3568-Debian11_AMP.tar.gz

    编译代码:

  • 进入工程目录:
  • youyeetoo@youyeetoo:~$ cd YY3568-Debian11
  • 全量编译:
  • youyeetoo@youyeetoo:~/YY3568-Debian11$ ./build.sh
    • 编译过程, 选择youyeetoo_yy3568_emmc_defconfig:

    • 编译完成结果:
    • 固件生成目录:you_project/output/firmware

    资源保护

    Linux/Debian + RTT AMP模式下,不同系统间会存在资源的竞争。所以在RTT中使用到的的一些外设、时钟等资源时最好都在rk3568-amp.dtsi文件中保护一下,避免和Linux/Debian那边的资源冲突

    CPU划分

    • RK3568是由四个64位Cortex-A55核组成,YY3568的AMP方案采用3个核心跑Linux或Debian,1个核心跑RT-Thread。所以需要对其进行约束。
    • 约束方法:修改Linux或者Debian端的内核设备树:rk3568-amp.dtsi,修改如下:

    内存划分

    分区内存起始地址内存大小说明
    RTT SRAM0xfdcc000064K系统SRAM
    RTT固件0x028000008MRTT 固件空间
    共享内存0x078000004M共享内存,可以被所有CPU访问
    RPMSG内存0x07c000005MRPMSG共享内存
    • 约束方法:修改Linux或者Debian端的内核设备树:rk3568-amp.dtsi,修改如下:

    总线仲裁

    • 以串口为例,Linux/Debian使用串口2作为调试串口,RT-Thread使用串口4作为调试串口。
    • 串口总线仲裁约束方法:修改Linux或者Debian端的内核设备树:rk3568-amp.dtsi,修改如下:

    工具准备

    USB驱动安装

  • USB驱动下载,下载链接:https://pan.baidu.com/s/1WHxhBwtLSpMFWFBzpbr2-g?pwd=u6z1 提取码:u6z1
  • USB驱动安装:
  • 烧录工具安装

  • 烧录工具下载,下载链接:https://pan.baidu.com/s/1xFL6Mqf7RqCi40dxZ8OEUg 提取码:nngs
  • 运行烧录工具:
  • 固件烧录

    导入固件

  • 选择你编译出来的固件:
  • 进入loader模式

  • loader模式:在Loader模式下,bootloader会进入升级状态,等待主机命令,用于固件升级等。要进入Loader模式,必须让bootloader在启动时检测到RECOVERY(恢复)键按下,且USB处于连接状态。

  • 进入loader模式:

    • 先断开电源适配器连接。
    • 双口USB Type-A数据线一端连接主机,一端连接开发板,一定要接图示接口
    • 按住设备上的 RECOVERY (恢复)键并保持
    • 接上电源
    • 大约2~3秒后,松开RECOVERY键
  • 烧录工具会提示:出现一个LOADER设备,点击 “升级” 按钮。
  • 烧录完成
  • 运行演示

  • 准备工作:板子需要接两个串口:Linux系统(串口2)RT-Thread(串口4)。注意:两个内核的调试串口的波特率:1500000

  • 运行效果: