Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Internal CodeReview and Training Course Management by CEMC

License

Notifications You must be signed in to change notification settings

uicm-mas/openSCA

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

项目目的

  • 用于课题组小范围CodeReview,不改变源码
  • 增加注释,提高代码可读性,加强与SCA-2.2.2标准的对应关系
  • 建议配合VSCode, Understand和Github-Desktop工具进行高效的分析和同步更新

以下为openSCA代码的原使用说明(COPYRIGHT belongs to JF)

openSCA

本项目基于SCA2.2.2标准进行开发,完全符合SCA2.2.2标准,已在多个项目中投入使用。

编译环境

  1. 宿主机操作系统:建议Ubuntu 16.04及以上版本 宿主机硬件版本:ARMv7_CortexA9;
  2. 交叉编译器现支持两类:jLinux、PetaLinux2015.4。
    获取编译器路径:https://github.com/JFounderSDR/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为具体安装路径,请根据实际情况更改。

  1. 编译前请先执行如下命令:
source ~/gcc-linaro-6.5.0-2018.12-i686_arm-linux-gnueabihf/settings64.sh

配置目录下的configure.cmake文件,配置选项如下:

load picture failed

  1. 设置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")

如图:

load picture failed

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++

  1. 编译前请先执行如下命令:
source ~/Xilinx-2015.4/SDK/2015.4/settings64.sh

配置目录下的configure.cmake文件,配置选项如下:

load picture failed

  1. 设置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")

如图:

load picture failed

编译步骤

  1. 编译本项目,首先从GitHub拉取sdrLibrary仓库,新建openSCA/libs目录,然后将sdrLibrary中ace_tao、boost、
    runtime_env、tiny1xml四个文件夹直接拷贝到openSCA/libs目录下。
    sdrLibrary仓库地址为:(https://github.com/JFounderSDR/sdrLibrary.git)
  2. 拉取examples仓库,将拉取到的examples文件夹直接拷贝到OpenSCA目录下,
    examples仓库地址为:(https://github.com/JFounderSDR/examples.git)
  3. 拉取testsuite仓库,将拉取到的testsuite文件夹直接拷贝到OpenSCA目录下,
    testsuite仓库地址为:(https://github.com/JFounderSDR/testsuite.git)
  4. 新建openSCA/build目录,在此目录下执行"cmake ../"命令
  5. 步骤3执行成功后,继续执行"make"命令,生成目标文件

运行环境

jLab实验平台 1.0
load picture failed

依赖的开源项目

1、ACE+TAO-2.0a
2、boost 1.69.0
3、tinyxml

补充说明

项目还提供如下内容:

  1. 可直接运行的demo,仓库地址:(https://github.com/JFounderSDR/demos)
  2. 说明文档,仓库地址:(https://github.com/JFounderSDR/documents)
  3. 第三方库源码:仓库地址:(https://github.com/JFounderSDR/thirdparty)
  4. 组件和逻辑设备开发实例代码,仓库地址:(https://github.com/JFounderSDR/examples)
  5. 测试实例代码,仓库地址:(https://github.com/JFounderSDR/testsuite)
  6. openSCA-SDK,仓库地址:(https://github.com/JFounderSDR/sdrSDK)
  7. 根文件系统和编译器,仓库地址:(https://github.com/JFounderSDR/jRootfs-and-Toolchains)
  8. 内核源码,仓库地址:(https://github.com/JFounderSDR/jLinux)
  9. uboot,仓库地址:(https://github.com/JFounderSDR/jU-Boot)

项目描述

  本项目为开源版本,供开发者学习、研究之用,实现了部分基础接口,如加载波形、卸载波形、
设置与查询属性、启动与停止波形,且未对性能进行优化,如加载波形时采用的是串行加载波形组件的方式,耗时较长。

  介方商业版openSCA在实现完整SCA接口的基础上又做了增强型设计,且对性能进行了优化。

开源版与商业版的区别

开源版 商业版
SCA接口实现情况 基础接口 所有接口
ace_tao库是否优化 未优化 优化
波形加载方式 串行加载 并行加载
心跳服务 不支持 支持
聚合服务 不支持 支持
分布式加载 不支持 支持
跨节点连接 不支持 支持
事件服务 不支持 支持

如对商业版openSCA感兴趣,可发邮件至[email protected]进行咨询。

工具支持

介方同时提供SDR集成开发环境和平台监控软件jLab_Monitor。

  SDR集成开发环境为用户提供模型驱动支撑,支持波形建模、节点建模、模型库管理、波形算法开发等功能,
用户可通过此工具生成平台包并一键导入至jLab实验平台运行。

load picture failed

  jLab_Monitor为平台监控软件,提供波形的加载、卸载、属性配置与查询、启动与停止波形等功能。

load_picture_failed

如对上述工具感兴趣,可发邮件至[email protected]进行咨询。

About

Internal CodeReview and Training Course Management by CEMC

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 88.5%
  • Makefile 9.6%
  • HTML 1.1%
  • C 0.3%
  • IDL 0.2%
  • Perl 0.2%
  • Other 0.1%