系统开发

更新时间:
2024-04-25
下载文档

系统开发

板级适配

本节主要介绍了 DSP 上的板级适配。

板级适配包括两个方面,一个是具体硬件所需的板卡适配,另一个是根据不同的应用场景所需的系统配置。当用户直接使用官方板卡或者与官方板卡兼容时,那么 SylixOS 对该板卡的硬件部分本身就是支持的,用户只用考虑系统需求就可以了,配置的文件主要包括下图中红框标记的部分:

  • evm6678.c & evm6678.h

    板级源文件:BSP 中可配置的回调接口。

  • evm6678.xml

    板卡 XML:包括 BSP 的内存、中断、外设等资源配置项。配置手册参考:《DSP6678 代码生成工具 xml 配置手册》。

  • evm6678.mk

    板卡组件配置:用于各功能组件的支持和拆卸。

  • SylixOSBSP.ld

    链接脚本:在 lite 或 tiny 模式中,应用程序与 BSP 是绑定在一起的,那么用户可以将应用程序相关的内存段配置追加到该链接脚本当中。

系统模式切换

  1. Lite 模式(兼容传统开发模式)

    1. 首先打开 .reproject 文件,修改 Profile 的值为 “dsp-lite”
    2. 然后打开 config.mk 文件,修改 BASE_MODE 的值为 lite
    3. 之后在集成开发环境中,刷新 BSP 工程,此时 BSP 工程就转为了 Lite 模式
    4. 最后将 BSP 的依赖的 Base 调整为 Lite 版本的 Base 即可。
  2. Tiny 模式(精简模式)

    1. 首先打开 .reproject 文件,修改 Profile 的值为 “dsp-tiny”
    2. 然后打开 config.mk 文件,修改 BASE_MODE 的值为 tiny
    3. 之后在集成开发环境中,刷新 BSP 工程,此时 BSP 工程就转为了 tiny 模式
    4. 最后将 BSP 的依赖的 Base 调整为 Tiny 版本的 Base。
  3. Load 模式(动态装载模式)

    1. 首先打开 .reproject 文件,修改 Profile 的值为 “dsp”
    2. 然后打开 config.mk 文件,修改 BASE_MODE 的值为 load
    3. 之后在集成开发环境中,刷新 BSP 工程,此时 BSP 工程就转为了 Load 模式
    4. 最后将 BSP 的依赖的 Base 调整为 Load 版本的 Base。
  4. ECS 轻量级实时容器

    DSP 处理器不同于 ARM、x86-64 等处理器,其不具有 MMU(内存管理单元),不能进行虚拟地址的管理,因此 DSP 的 ECS 不能支持内存隔离。ECS 容器及 VSOA 的配置和使用,详见 任务关键型云原生open in new window

驱动开发

本节介绍了 DSP 上的驱动开发。

用户在开发 DSP 驱动时,需要考虑其特殊的芯片结构,与其他通用芯片相比,DSP 拥有多级内存和 Cache,多级中断,没有 MMU,使用 MPAX 完成虚拟地址映射和保护。本节描述了单核情况下设备驱动的开发,如果需要在多核间共享外设,除了需要考虑共享方案,还要考虑核间通信、以及核间的 Cache 维护。

  1. RealEvo-IDE 开发环境自带使用手册,在菜单栏依次点击 Help > Open SylixOS Driver User Manual 打开《SylixOS 设备驱动程序开发》。

  2. 参考《SylixOS 设备驱动程序开发》,编写自己的驱动程序。文中描述了 SylixOS 驱动编写过程中需要注意的内核原理及其使用方法,它们包括:SylixOS 驱动的并发与同步原理、SylixOS 内存管理、Cache 管理、SylixOS 中断系统、SylixOS 时钟管理、DMA 系统等。

文档内容是否对您有所帮助?
有帮助
没帮助