[OpenAirInterface实战-6] :OAI在github中源代码的存放结构

Posted 文火冰糖的硅基工坊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[OpenAirInterface实战-6] :OAI在github中源代码的存放结构相关的知识,希望对你有一定的参考价值。

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:[OpenAirInterface实战-6] :OAI在github中源代码的存放结构_文火冰糖(王文兵)的博客-CSDN博客


目录

第1章 基本信息

1.1 4G/5G RAN目标系统的架构

1.2 协议栈

1.3 源代码的位置

1.4 软件license

1.5 说明

第2章 源代码的目录结构

2.1 build目标代码

2.2 nfapi     openair1 PHY与openair2 MAC接口

2.3 openair1 (L1: PHY+RF)

2.4 openair2 (L2 + L3)

2.5 openair3



第1章 基本信息

1.1 4G/5G RAN目标系统的架构

[OpenAirInterface实战-2] :OAI 4G LTE&5G NR目标系统架构与协议栈_文火冰糖(王文兵)的博客-CSDN博客

 注意,上述架构,分为3大组成部分, RCC, RAC, RRU

RRU: RU =>  L1_Low + RF simulator  =》 openair1 

RAC: DU => RLC, MAC, L1-High        =》 openair2

RRC: CU => RRC, PDCP层              =》 openair2

F1接口:RRC与RLC接口                   =》  openair2

nFAPI接口:L1-High与L1-Low接口    =》  nFAPI

UE核心网对等层:                               =》  openair3

1.2 协议栈

1.3 源代码的位置

Files · develop · oai / openairinterface5G · GitLab

1.4 软件license

OpenAirInterface是OpenAirInterface软件联盟许可下的产品。当前,它受控于:OAI Public License V1.1。

1.5 说明

本文只包括UE和基站的代码结构,不包括EPC和5G核心网的源代码。

(1)EPC代码:Home · OPENAIRINTERFACE/openair-epc-fed Wiki · GitHub

(2)5G NR核心网代码:

第2章 源代码的目录结构

2.1 build目标代码

openairinterface5g
├── ci-scripts        : Meta-scripts used by the OSA CI process. Contains also configuration files used day-to-day by CI. =》存放持续集成所需要所有脚本和配置文件。


├── cmake_targets     : Build utilities to compile (simulation, emulation and real-time platforms), and generated build files.  =》 存放交叉编译所需要的各种工具以及交叉编译生成的目标文件。


├── common            : Some common OAI utilities, other tools can be found at openair2/UTILS. =》存放一些公共的OAI工具,这些工具,主要用于目标系统。


├── doc               : Contains an up-to-date feature set list and starting tutorials. =》支持的功能列表以及快速入门帮助文件。


├── executables       : Top-level executable source files.  =》可执行文件


├── LICENSE           : License file.


├── maketags          : Script to generate emacs tags. =》Emacs,著名的集成开发环境和文本编辑器。Emacs被公认为是最受专业程序员喜爱的代码编辑器之一,另外一个vim。

2.2 nfapi     openair1 PHY与openair2 MAC接口

├── nfapi             : Contains the NFAPI code. A local Readme file provides more details. =》 N

FAPI接口的源代码文件, nFAPI是openair1的PHY层与openair2 MAC层之间的接口。   

2.3 openair1 (L1: PHY+RF)

├── openair1          : 3GPP LTE Rel-10/12 PHY layer / 3GPP NR Rel-15 layer. A local Readme file provides more details.  =》 物理层代码,包括LTE R10/12和NR R15, 包括基站和UE.
│   ├── PHY                     =》 PHY + RF 源代码
│   ├── SCHED                =》4G基站侧调度器代码
│   ├── SCHED_NBIOT   =》NBIOT调度器 
│   ├── SCHED_NR        =》 5G 基站侧调度器
│   ├── SCHED_NR_UE =》 5G UE侧调度器
│   ├── SCHED_UE        =》4GUE侧调度器代码
│   └── SIMULATION    :  => PHY RF simulation. (包括部分PHY的仿真和RF的全部仿真)

 2.4 openair2 (L2 + L3)

├── openair2          : 3GPP LTE Rel-10 RLC/MAC/PDCP/RRC/X2AP + LTE Rel-14 M2AP implementation. Also 3GPP NR Rel-15 RLC/MAC/PDCP/RRC/X2AP.
│   ├── COMMON
│   ├── DOCS          =》 文档说明
│   ├── ENB_APP    =》 4G LTE 基站侧负责空口与核心网接口的桥接
│   ├── F1AP           =》 4G+5G RRC与RLC的接口,也是openair2与openair3的接口
│   ├── GNB_APP   =>  5G GNB 基站侧负责空口与核心网接口的桥接
│   ├── LAYER2/RLC/   : with the following subdirectories: UM_v9.3.0, TM_v9.3.0, and AM_v9.3.0.             => 4G + 5G共用RLC层
│   ├── LAYER2/PDCP/PDCP_v10.1.0   => 4G + 5G共用PDCP层
│   ├── M2AP       ???
│   ├── MCE_APP   ???
│   ├── NETWORK_DRIVER             =》 传输层驱动程序,用于硬件加速
│   ├── NR_PHY_INTERFACE           =》NR  基站MAC层与PHY层的接口
│   ├── NR_UE_PHY_INTERFACE    =》NR  手机MAC层与PHY层的接口
│   ├── PHY_INTERFACE                   =》LTE 基站/手机MAC层与PHY层的接口
│   ├── RRC                                         =》RRC层                 
│   ├── UTIL                                         =》工具
│   └── X2AP                                       =》 X2AP接口

2.5 openair3

├── openair3          : 3GPP LTE Rel10 for S1AP, NAS GTPV1-U for both ENB and UE.
│   ├── COMMON   =》 核心网的common代码 ???
│   ├── DOCS
│   ├── GTPV1-U     =》 GTPV1
│   ├── M3AP    =?????
│   ├── MME_APP     => MME APP
│   ├── NAS               => NAS层消息
│   ├── S1AP             => S1AP
│   ├── SCTP
│   ├── SECU           => Security
│   ├── TEST          
│   ├── UDP
│   └── UTILS


└── targets           : Top-level wrappers for unitary simulation for PHY channels, system-level emulation (eNB-UE with and without S1), and realtime eNB and UE and RRH GW. => 硬件环境仿真。???


作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:[OpenAirInterface实战-6] :OAI在github中源代码的存放结构_文火冰糖(王文兵)的博客-CSDN博客

以上是关于[OpenAirInterface实战-6] :OAI在github中源代码的存放结构的主要内容,如果未能解决你的问题,请参考以下文章

[OpenAirInterface实战-8] :OAI编译遇到的问题与解决方法汇总

[OpenAirInterface实战-4] :OAI支持的4G LTE功能集

[OpenAirInterface实战-2] :OAI LTE目标系统架构与协议栈

[OpenAirInterface实战-1] :什么是OAI?OAI常见问题解答

[OpenAirInterface实战-13] :OAI 基站配置文件详解

[OpenAirInterface实战-10] :OAI nFAPI的软件组织结构和软件协议栈架构