光子课堂 | 础光实时操作系统快速入门

图片

前言

础光实时操作系统(Photon RTOS)是一个由国科础石研发,并且符合AUTOSAR CP R20-11规范的实时操作系统, 它用于车辆底盘控制,汽车状态监控等场景,现已开源。

目前已具有任务管理、多核启动、中断处理等众多功能,更多详情可点击链接 :https://gitee.com/kernelsoft/photon-rtos

今天这篇文章主要讲解如何从无到有,快速上手础光实时操作系统。

首先从口袋掏出电脑、显示器、鼠标、键盘~

图片

  • 环境搭建

工具

名字

建议版本

虚拟机

VirtualBox

7.0.6

VMware

16.1.0

Linux系统

Ubuntu(建议)

22.04

础光实时操作系统开发环境为Linux,作者目前采用的方法是VirtualBox 7.0.6+Ubuntu 22.04。当然,也可根据自己喜好与习惯进行选择。

虚拟机和Ubuntu的安装教程较多,这里就不过多阐述了。

  • 准备工作

    • 础光实时操作系统代码路径:https://gitee.com/kernelsoft/photon-rtos

    • Toolchains路径:https://gitee.com/kernelsoft/toolchains

1、拉取代码

# 创建目录用于存放代码mkdir RTOS# 进入目录cd RTOS# 拉取PhotonRTOSgit clone https://gitee.com/kernelsoft/photon-rtos.git# 拉取toolchainsgit clone --depth=1 https://gitee.com/kernelsoft/toolchains.git

Toolchains是国科础石基础软件开发编译器工具链,用于编译相关系统项目。

2、配置依赖工具

# 进入photon-rtoscd photon-rtos# 只有在配置时运行一次,后续开发无需再次运行bash quickstart.sh devel# 安装qemusudo apt install qemu-system-arm

quickstart.sh是常用脚本功能集合,可通过指令bash quickstart.sh usage 查看使用方法。

qemu 是一个支持跨平台虚拟化的虚拟机,有User mode和System mode两种模式,在system mode配置下能模拟出整个计算机。

接下来就能够编译和运行代码了。

  • 编译与运行

目前础光实时操作系统支持3个平台,默认是使用的mps2_m3平台

架构(arch)

平台(mach)

arm

zynqmp_r5

mps2_m3

tricore

tc397

1、生成.config文件

# 若使用的是默认的arm,mps2_m3平台,则直接输入bash quickstart.sh defconfig
# 若是其他平台,如arm,zynqmp_r5平台,则需要指定ARCH和MACH:ARCH=arm MACH=zynqmp_r5 bash quickstart.sh defconfig

2、编译、运行代码​​​​​​​

# 若使用的是默认的arm,mps2_m3平台,则直接输入bash quickstart.sh
# 若是其他平台,如arm,zynqmp_r5平台,则需要指定ARCH和MACH:ARCH=arm MACH=zynqmp_r5 bash quickstart.sh

可看到系统在完成初始化后,自动运行各类单元测试,测试结束后关闭系统。

图片

3、编译与运行总结

# 默认(arm, mps2_m3)平台:bash quickstart.sh defconfigbash quickstart.sh
# zynqmp_r5平台:ARCH=arm MACH=zynqmp_r5 bash quickstart.sh defconfigARCH=arm MACH=zynqmp_r5 bash quickstart.sh
# mps2_m3平台:ARCH=arm MACH=mps2_m3 bash quickstart.sh defconfigARCH=arm MACH=mps2_m3 bash quickstart.sh
  • 调试支持

我们已经成功运行了础光实时操作系统,可以试着修改代码,然后通过gdb查看代码运行情况。

1、安装调试工具​​​​​​​

sudo apt install gdb-multiarch

gdb-multiarch 是一个经过交叉编译后的、支持多架构版本的 gdb。

2、 调试​​​​​​​

# 若使用的是默认的arm,mps2_m3平台,则直接输入bash quickstart.sh gdb
# 若是其他平台,如arm,zynqmp_r5平台,则需要指定ARCH和MACH:ARCH=arm MACH=zynqmp_r5 bash quickstart.sh gdb

图片

图片

新建一个终端,调试elf格式的内核:

gdb-multiarch ./photon

进入gdb后,连接到qemu:

target remote:1234

连接成功后,就可通过指令进行调试了。

图片

通过以上内容,可以快速入门础光实时操作系统,欢迎大家感受它的魅力,同时也希望大家提出宝贵意见。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值