Raspi4 切换QNX系统

欢迎入群交流:Linux技术 1057240994,QNX技术 498877133,分享开发经验、交流技术运用、协力问题解决,最后实现共同成长。

术语

缩写 说明 备注
SDP Software Development Platform
VCP Virtual COM Port Driver

需知

  • 选用了 Pi 4 Board (Model B )做为实验平台;

  • QNX 仅提供了树莓派 64-bit 格式的BSP 包;

  • 环境要求

    1. 适配的BSP压缩包;
    2. 在主机上安装好 QNX SDP 8.0 环境;
    3. 在主机上安装好 VCP 虚拟串口驱动;
    4. 终端连接程序;
  • 系统要求:QNX OS 8.0

安装

  1. 下载 BSP 包

    从 QNX 官网 [链接] 先下载 QNX Software Center 并安装,再从QNX Software Center 下载zip格式的BSP压缩包。下载后的BSP位于 SDP 8.0 工作目录下的子目录 bsp 中。

  2. Ubuntu 终端直接解压

    shell 复制代码
    # 进入SDP
    $ cd ~/Workspaces/qnx800/bsp/
    
    # 解压bsp包
    $ unzip BSP_raspberrypi-bcm2711-rpi4_br-hw-rel_be-800_SVN999745_JBN198.zip -d BSP_Qnx_Raspi4
    
    # 创建版本管理
    $ cd BSP_Qnx_Raspi4/
    $ git init . && git add .
    $ git commit -m "[Add] First commit"

    资源一览

  3. 树莓派SD卡制作

    方便成见,使用树莓派官方工具 Raspberry Pi Imager 先制作一下可以正常使用的SD卡,再二次修改以支持 QNX IFS。

    建议选用 Class 10 (or UHS-1) microSD cards,

  4. 镜像切换

    二次修改就是将原Raspberry Pi OS引导替换为QNX IFS引导,所以需要两个条件:

    1. SD卡中放入 QNX IFS镜像

      ifs-rpi4.bin 文件位于BSP包images目录下,手动拷贝至SD卡中;

    2. 修改 "config.txt"文件,告知硬件引导 IFS 镜像;

      替换如下部分内容:

      复制代码
      [rpi4]
      arm_64bit=1
      force_turbo=1
      enable_uart=1
      gpu_mem=16
      max_framebuffers=2
      kernel=ifs-rpi4.bin

演示

串口日志:

问题记录

串口打印乱码

  • 排查思路:

    1. 串口工作模式错误;

      串口配置参数:115200,8n1;

    2. 排除供电不足

      4B 供电要求:5V 3A适配器,没有符合要求的适配器时,可以另外加一路单独的电源供电,不要直接使用串口电源。

    3. 排除资源错误

      重新制作资源;

参考

相关推荐
Jackilina_Stone6 个月前
【QNX】QNX侧查看CPU的信息
cpu·监测·qnx
李先静6 个月前
如何用 SSH 访问 QNX 虚拟机
ssh·awtk·qnx
星原飞火7 个月前
2-6-1-1 QNX编程入门之进程和线程(三)
开发语言·车载系统·系统架构·qnx·blackberry·线程和进程
星原飞火7 个月前
2-2-18-16 QNX系统架构之自适应分区
车载系统·系统架构·qnx·blackberry
星原飞火7 个月前
2-2-18-12 QNX系统架构之网络架构
网络·车载系统·系统架构·qnx·blackberry·qnet
星原飞火8 个月前
2-2-18-13 QNX系统架构之原生网络(Qnet)
网络·车载系统·系统架构·qnx·blackberry·qnet
林多10 个月前
【Qnx】使用ClockCycles完成计时功能
超时·定时器·时钟周期·qnx·clockcycles
橘色的喵1 年前
PTPD 在 QNX 系统上的授时精度验证与误差排查
ptp·时间同步·时钟同步·qnx·ptpd·so_timestamp
橘色的喵1 年前
自定义线程管理类:解决std::thread()线程创建失败的优化方案
线程·thread·qnx·eagain·task_size