ITPub博客

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

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

Linux操作系统 作者:百无聊赖的呆 时间:2024-07-04 16:39:33 0 删除 编辑

图片

前言

础光实时操作系统(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 defconfig
            
            
            bash quickstart.sh
            
            
            
            # zynqmp_r5平台: ARCH=arm MACH=zynqmp_r5 bash quickstart.sh defconfig ARCH=arm MACH=zynqmp_r5 bash quickstart.sh
            # mps2_m3平台: ARCH=arm MACH=mps2_m3 bash quickstart.sh defconfig ARCH=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

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

                    图片

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



                    来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70020053/viewspace-3021237/ ,如需转载,请注明出处,否则将追究法律责任。

                    下一篇: 没有了~
                    请登录后发表评论 登录
                    全部评论

                    注册时间:2022-07-15

                    • 博文量
                      4
                    • 访问量
                      2944