康奈尔rtems笔记(1)

目标依赖文件

为了最大化复用代码,RTEMS目标相关代码分为三个层次

    CPU相关

    板子相关

    外设相关

2.1 CPU相关

  具体代码在cpukit/score/cpu,可以把no_cpu作为起点来学习,里面有详细的注释和介绍。这个部分只关心在GCC编译时会有区别的部分,尽管有很多CPU,但是实际上CPU核心代码的数量其实不多的。RTEMS_CPU规定了使用的CPU模型。

2.2 板子相关

  这部分代码的作用是作为RTEMS和某个具体的板子的粘合剂,也就是驱动。具体代码在cpu/src/lib/bsp, 一个BSP可以适用于多个板子,根据我之前的理解

2.3 外设相关的

  这部分代码的作用是剪裁可复用的代码来适应特定的板子。libchip库就是一个标准控制器的可复用集合。具体代码在c/src/lib/libchip

扫描二维码关注公众号,回复: 4922449 查看本文章

2.4 开发前需要先问问自己的问题

  这个BSP是否已经存在了?

  是否有相似的BSP存在了?

  这个板子的CPU是否已经支持了?

2.5 CPU相关的执行文件

  这一部分代码在cpukit/score/cpu/CPU,CPU.h包含了所需要用到的信息。

2.6 CPU相关的支持文件

  这部分代码一般会提供开发帮助。比如,支持文件会提供,标准中断函数,或者浮点错误,或者由CPU自己控制的外设,这部分代码一般在c/src/lib/libcpu/CPU

  如果是和CPU模型相关的,一般在c/src/lib/libcpu/CPU/CPU_MODEL

  configure.ac在每个c/src/lib/libcpu/CPU里面包含了应该被运用的子目录

2.7 BSP结构

  BSP都放在了 c/src/lib/libbsp里面, 里面的子文件如果是常用的功能,需要按照文中列出的几个名字来命名。

猜你喜欢

转载自blog.csdn.net/qq_21856675/article/details/82954144
今日推荐