# openSCA
**Repository Path**: yasun/openSCA
## Basic Information
- **Project Name**: openSCA
- **Description**: OpenSCA核心框架完全符合SCA2.2.2标准规范,已在多个项目中投入使用,为SCA4.1或SRTF核心框架的研究及开发提供很大的参考价值。
- **Primary Language**: C++
- **License**: GPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 3
- **Created**: 2024-03-08
- **Last Updated**: 2024-03-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# openSCA
OpenSCA是由上海介方信息技术有限公司(jFounder)孵化及运营的开源项目,该项目依据SCA2.2.2标准构建的SCA软件平台适用于通信、导航、雷达、电子对抗等多各种类型无线电平台,同时为SCA4.1/SRTF软件无线电平台的研究及研制提供参考,目标是促进国内软件无线电技术的发展。
## 编译环境
1. 宿主机操作系统:建议Ubuntu 16.04及以上版本 宿主机硬件版本:ARMv7_CortexA9;
2. 交叉编译器现支持两类:jLinux、PetaLinux2015.4。
获取编译器路径:https://gitee.com/opensca/jRootfs-and-Toolchains
jLinux:arm-linux-gnueabihf-gcc、arm-linux-gnueabihf-g++
版本:6.5.0 (Linaro GCC 6.5-2018.12)
PetaLinux2015.4:arm-xilinx-linux-gnueabi-gcc、arm-xilinx-linux-gnueabi-g++
版本:4.9.2 (Sourcery CodeBench Lite 2015.05-17)
3. cmake,版本不低于3.5;
## 编译设置
本项目使用CMake工具进行编译,需要先配置交叉编译器的环境变量。
### jLinux:
1. 安装Linaro_SDK
2. 新建gcc-linaro-6.5.0-2018.12-i686_arm-linux-gnueabihf/settings64.sh脚本,添加如下内容:
> export PATH=$PATH:/home/jf-yt/gcc-linaro-6.5.0-2018.12-i686_arm-linux-gnueabihf/bin/
export CPLUS_INCLUDE_PATH=/home/jf-yt/gcc-linaro-6.5.0-2018.12-i686_arm-linux-gnueabihf/include/
export C_INCLUDE_PATH=/home/jf-yt/gcc-linaro-6.5.0-2018.12-i686_arm-linux-gnueabihf/include/
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/home/jf-yt/gcc-linaro-6.5.0-2018.12-i686_arm-linux-gnueabihf/include/
export LD_LIBRARY_PATH=/home/jf-yt/gcc-linaro-6.5.0-2018.12-i686_arm-linux-gnueabihf/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=$LIBRARY_PATH:/home/jf-yt/gcc-linaro-6.5.0-2018.12-i686_arm-linux-gnueabihf/lib
export CXX=arm-linux-gnueabihf-g++
export CC=arm-linux-gnueabihf-gcc
/home/jf-yt为具体安装路径,请根据实际情况更改。
3. 编译前请先执行如下命令:
```
source ~/gcc-linaro-6.5.0-2018.12-i686_arm-linux-gnueabihf/settings64.sh
```
配置目录下的configure.cmake文件,配置选项如下:
[](https://gitee.com/opensca/openSCA/blob/master/jLinux_compile_config.png)
4. 设置openSCA/cmake/common/compiler_setting.cmake文件
> SET(CMAKE_C_COMPILER "${COMPILER_DIR}/bin/arm-linux-gnueabihf-gcc")
SET(CMAKE_CXX_COMPILER "${COMPILER_DIR}/bin/arm-linux-gnueabihf-g++")
SET(CMAKE_AR "${COMPILER_DIR}/bin/arm-linux-gnueabihf-ar")
SET(CMAKE_FIND_ROOT_PATH
"${COMPILER_DIR}/lib")
如图:
[](https://gitee.com/opensca/openSCA/master/jLinux_compiler_setting.png)
### PetaLinux2015.4:
1. 安装Xilinx_SDK
2. 在Xilinx-2015.4/SDK/2015.4/settings64.sh脚本中,添加如下内容:
> export CC=arm-xilinx-linux-gnueabi-gcc
export CXX=arm-xilinx-linux-gnueabi-g++
3. 编译前请先执行如下命令:
```
source ~/Xilinx-2015.4/SDK/2015.4/settings64.sh
```
配置目录下的configure.cmake文件,配置选项如下:
[](https://gitee.com/opensca/openSCA/master/PetaLinux_compile_config.png)
4. 设置openSCA/cmake/common/compiler_setting.cmake文件
> SET(CMAKE_C_COMPILER "${COMPILER_DIR}/SDK/2015.4/gnu/arm/lin/bin/arm-xilinx-linux-gnueabi-gcc")
SET(CMAKE_CXX_COMPILER "${COMPILER_DIR}/SDK/2015.4/gnu/arm/lin/bin/arm-xilinx-linux-gnueabi-g++")
SET(CMAKE_AR "${COMPILER_DIR}/SDK/2015.4/gnu/arm/lin/bin/arm-xilinx-linux-gnueabi-ar")
SET(CMAKE_FIND_ROOT_PATH
"${COMPILER_DIR}/SDK/2015.4/lib"
"${COMPILER_DIR}/SDK/2015.4/gnu/arm/lin/arm-xilinx-linux-gnueabi/lib"
"${COMPILER_DIR}/SDK/2015.4/gnu/arm/lin/arm-xilinx-linux-gnueabi/libc")
如图
[](https://gitee.com/opensca/openSCA/master/PetaLinux_compiler_setting.png)
## 编译步骤
1. 编译本项目,首先从GitHub拉取sdrLibrary仓库,新建openSCA/libs目录,然后将sdrLibrary中ace_tao、boost、
runtime_env、tiny1xml四个文件夹直接拷贝到openSCA/libs目录下。
sdrLibrary仓库地址为:(https://gitee.com/opensca/sdrLibrary.git)
2. 拉取examples仓库,将拉取到的examples文件夹直接拷贝到OpenSCA目录下,
examples仓库地址为:(https://gitee.com/opensca/examples.git)
3. 拉取testsuite仓库,将拉取到的testsuite文件夹直接拷贝到OpenSCA目录下,
testsuite仓库地址为:(https://gitee.com/opensca/testsuite.git)
4. 新建openSCA/build目录,在此目录下执行"cmake ../"命令
5. 步骤3执行成功后,继续执行"make"命令,生成目标文件
## 运行环境
jLab实验平台 1.0
[](https://gitee.com/opensca/openSCA/master/jLab%E5%AE%9E%E9%AA%8C%E5%B9%B3%E5%8F%B0.png)
## 依赖的开源项目
1、ACE+TAO-2.0a
2、boost 1.69.0
3、tinyxml
## 补充说明
项目还提供如下内容:
1. 可直接运行的demo,仓库地址:(https://gitee.com/opensca/demos)
2. 说明文档,仓库地址:(https://gitee.com/opensca/documents)
3. 第三方库源码:仓库地址:(https://gitee.com/opensca/thirdparty)
4. 组件和逻辑设备开发实例代码,仓库地址:(https://gitee.com/opensca/examples)
5. 测试实例代码,仓库地址:(https://gitee.com/opensca/testsuite)
6. openSCA-SDK,仓库地址:(https://gitee.com/opensca/sdrSDK)
7. 根文件系统和编译器,仓库地址:(https://gitee.com/opensca/jRootfs-and-Toolchains)
8. 内核源码,仓库地址:(https://gitee.com/opensca/jLinux)
9. uboot,仓库地址:(https://gitee.com/opensca/jU-Boot)
## 项目描述
本项目为开源版本,供开发者学习、研究之用,实现了部分基础接口,如加载波形、卸载波形、
设置与查询属性、启动与停止波形,且未对性能进行优化,如加载波形时采用的是串行加载波形组件的方式,耗时较长。
介方商业版openSCA在实现完整SCA接口的基础上又做了增强型设计,且对性能进行了优化。
### 开源版与商业版的区别
| | 开源版 | 商业版 |
| ------ | ----- | ------ |
| SCA接口实现情况 | 基础接口 | 所有接口 |
| ace_tao库是否优化 | 未优化 | 优化 |
| 波形加载方式 | 串行加载 | 并行加载 |
| 心跳服务 | 不支持 | 支持 |
| 聚合服务 | 不支持 | 支持 |
| 分布式加载 | 不支持 | 支持 |
| 跨节点连接 | 不支持 | 支持 |
| 事件服务 | 不支持 | 支持 |
如对商业版openSCA感兴趣,可发邮件至victor@onetek.net进行咨询。
## 工具支持
介方同时提供SDR集成开发环境和平台监控软件jLab_Monitor。
SDR集成开发环境为用户提供模型驱动支撑,支持波形建模、节点建模、模型库管理、波形算法开发等功能,
用户可通过此工具生成平台包并一键导入至jLab实验平台运行。
[](gitee.com/opensca/openSCA/master/IDE.png)
jLab_Monitor为平台监控软件,提供波形的加载、卸载、属性配置与查询、启动与停止波形等功能。
[](https://gitee.com/opensca/openSCA/master/jMonitor.png)
如对上述工具感兴趣,可发邮件至victor@onetek.net进行咨询。