Skip to content

Latest commit

 

History

History
171 lines (150 loc) · 12.6 KB

File metadata and controls

171 lines (150 loc) · 12.6 KB

CCStudio

Docker镜像可在以下位置获取:

Github Actions工作流: zfb132/build-ccstudio-project
测试仓库: zfb132/mmw_oob

软件配置情况

  1. 该仓库目前理论上支持的CCStudio版本:
  • 10.x(已测试版本10.0.0.0001010.4.0.00006
  • 11.x(已测试版本11.0.0.0001211.2.0.00007
  • 12.x(已测试版本12.0.0.0000912.8.1.00005
  • 20.x(已测试版本20.2.0.00012
  1. 支持的Ubuntu版本: ubuntu 20.04及以上版本(已测试版本20.0422.0424.04
  2. 支持安装指定版本的mmWave SDK,已测试版本03.06.02.00-LTS
  3. 支持安装指定版本的SYS/BIOS,已测试版本6.73.01.01

本仓库目的是提供一个在Linux系统上安装Code Composer Studio的Docker镜像,方便在Linux系统(无桌面环境)上使用CCStudio进行TI芯片的开发,尤其是适用于CI/CD场景。用户也可以参考本仓库的configure.sh脚本在自己的Linux系统上安装CCStudio

容器内部最重要的三个目录:

  • /ccs_projects:CCStudio项目目录(运行容器必须挂载本地目录到此目录,因为entrypoint.sh脚本会在此目录下查找项目文件)
  • /workspaces:CCStudio工作空间目录(容器内部CCS的工作空间目录为/workspaces,编译结果也存放在此目录下)
  • /opt/ti:TI系列产品的安装目录(容器内部CCStudio、mmwave SDK、SYS/BIOS的安装目录)

不同版本的CCStudio在Linux系统的安装说明:

不同版本的CCStudio命令行程序的使用说明:

构建镜像

自动

使用make命令自动构建镜像

# 查看可用的目标
make list

# 构建指定的镜像
make ubuntu24.04-20.2.0.00012-mmw

# 逐个构建镜像
make all

# 并行构建镜像(但是输出日志会混在一起)
make -j $(nproc) all

# 生成docker-compose.yaml文件用于并行构建镜像
make gen_compose

# 使用docker-compose构建镜像
docker compose -f docker-compose.yaml --parallel 2 build

手动

构建镜像的脚本如下:

#   --network host
#   --build-arg "HTTP_PROXY=http://127.0.0.1:9900/" \
#   --build-arg "HTTPS_PROXY=http://127.0.0.1:9900/" \
#   --progress=plain --no-cache

# MMWSDK_COMPONENTS或BIOS_VERSION参数若为空,表示不安装对应组件
export UBUNTU_VERSION=24.04
export CCSTUDIO_VERSION=20.2.0.00012
export CCS_COMPONENTS="PF_MMWAVE,PF_C6000SC,PF_TM4C"
export MMWSDK_VERSION="03.06.02.00-LTS"
export MMWSDK_COMPONENTS="ALL"
export BIOS_VERSION="6.73.01.01"
# 使用major.minor版本号作为ccstudio版本标识
export CCS_VERSION_SHORT=$(echo ${CCSTUDIO_VERSION} | cut -d '.' -f 1-2)
export tag="whuzfb/ccstudio:${CCS_VERSION_SHORT}-ubuntu${UBUNTU_VERSION}"
docker build -t ${tag} . \
  --build-arg "OS_VERSION=${UBUNTU_VERSION}" \
  --build-arg "CCS_VERSION=${CCSTUDIO_VERSION}" \
  --build-arg "CCS_COMPONENTS=${CCS_COMPONENTS}" \
  --build-arg "MMWSDK_VERSION=${MMWSDK_VERSION}" \
  --build-arg "MMWSDK_COMPONENTS=${MMWSDK_COMPONENTS}" \
  --build-arg "BIOS_VERSION=${BIOS_VERSION}"

运行

从Docker Hub拉取镜像whuzfb/ccstudio

# 拉取最新版本的ccstudio镜像(20.2-ubuntu24.04-mmw)
docker pull whuzfb/ccstudio:latest

或者使用本地构建的镜像

挂载本地的ccs项目目录到容器内的/ccs_projects目录下并启动构建:

# 假设本地项目目录为 ./mmw_oob
git clone --recursive https://github.com/zfb132/mmw_oob.git ./mmw_oob
# 该目录下包含out_of_box_6843_isk_mss.projectspec文件,且包含Debug编译配置
# 运行以下命令可以在容器内编译该项目
# 如果需要保存结果,那么使用 -v ./results:/workspaces (容器内部CCS的工作目录为/workspaces)
# 默认时区为UTC,可以通过设置 -e TZ=... 来更改时区(例如 -e TZ=Asia/Shanghai)
mkdir ./results
docker run \
  -e TZ=Asia/Shanghai \
  -v ./mmw_oob:/ccs_projects \
  -v ./results:/workspaces \
  -it --rm --name ccstudio whuzfb/ccstudio:latest \
  "out_of_box_6843_isk_mss.projectspec" "Debug"

CCStudio组件

可安装的产品系列列表:

Product family Description OS
PF_MSP430 MSP430 ultra-low power MCUs windows-x64, linux-x64, osx
PF_MSP432 SimpleLink™ MSP432™ low power + performance MCUs windows-x64, linux-x64, osx
PF_CC2X SimpleLink™ CC13xx and CC26xx Wireless MCUs windows-x64, linux-x64, osx
PF_CC3X SimpleLink™ Wi-Fi® CC32xx Wireless MCUs windows-x64, linux-x64, osx
PF_CC2538 CC2538 IEEE 802.15.4 Wireless MCUs windows-x64, linux-x64, osx
PF_C28 C2000 real-time MCUs windows-x64, linux-x64, osx
PF_TM4C TM4C12x ARM® Cortex®-M4F core-based MCUs windows-x64, linux-x64, osx
PF_PGA PGA Sensor Signal Conditioners windows-x64, linux-x64, osx
PF_HERCULES Hercules™ Safety MCUs windows-x64, linux-x64, osx
PF_SITARA Sitara™ AM3x, AM4x, AM5x and AM6x MPUs (will also include AM2x for CCS 10.x) windows-x64, linux-x64
PF_SITARA_MCU Sitara™ AM2x MCUs (only supported in CCS 11.x and greater) windows-x64, linux-x64
PF_OMAPL OMAP-L1x DSP + ARM9® Processor windows-x64, linux-x64
PF_DAVINCI DaVinci (DM) Video Processors windows-x64, linux-x64
PF_OMAP OMAP Processors windows-x64, linux-x64
PF_TDA_DRA TDAx Driver Assistance SoCs & Jacinto DRAx Infotainment SoCs windows-x64, linux-x64
PF_C55 C55x ultra-low-power DSP windows-x64, linux-x64
PF_C6000SC C6000 Power-Optimized DSP windows-x64, linux-x64
PF_C66AK_KEYSTONE 66AK2x multicore DSP + ARM® Processors & C66x KeyStone™ multicore DSP windows-x64, linux-x64
PF_MMWAVE mmWave Sensors windows-x64, linux-x64
PF_C64MC C64x multicore DSP windows-x64, linux-x64
PF_DIGITAL_POWER UCD Digital Power Controllers windows-x64, linux-x64

预编译镜像

Docker镜像的编译配置如下表所示:

Docker Tag Ubuntu Version CCS Version CCS Components mmWave SDK Version mmWave SDK Components SYS/BIOS Version
20.2-ubuntu24.04-mmw 24.04 20.2.0.00012 PF_ALL 03.06.02.00-LTS ALL "" (skip)
20.2-ubuntu24.04 24.04 20.2.0.00012 PF_ALL "" (skip) ALL "" (skip)
20.2-ubuntu22.04-mmw 22.04 20.2.0.00012 PF_ALL 03.06.02.00-LTS ALL "" (skip)
20.2-ubuntu22.04 22.04 20.2.0.00012 PF_ALL "" (skip) ALL "" (skip)
20.2-ubuntu20.04-mmw 20.04 20.2.0.00012 PF_ALL 03.06.02.00-LTS ALL "" (skip)
20.2-ubuntu20.04 20.04 20.2.0.00012 PF_ALL "" (skip) ALL "" (skip)
12.8-ubuntu24.04-mmw 24.04 12.8.1.00005 PF_ALL 03.06.02.00-LTS ALL "" (skip)
12.8-ubuntu24.04 24.04 12.8.1.00005 PF_ALL "" (skip) ALL "" (skip)
12.8-ubuntu22.04-mmw 22.04 12.8.1.00005 PF_ALL 03.06.02.00-LTS ALL "" (skip)
12.8-ubuntu22.04 22.04 12.8.1.00005 PF_ALL "" (skip) ALL "" (skip)
12.8-ubuntu20.04-mmw 20.04 12.8.1.00005 PF_ALL 03.06.02.00-LTS ALL "" (skip)
12.8-ubuntu20.04 20.04 12.8.1.00005 PF_ALL "" (skip) ALL "" (skip)
11.2-ubuntu24.04-mmw 24.04 11.2.0.00007 PF_ALL 03.06.02.00-LTS ALL "" (skip)
11.2-ubuntu24.04 24.04 11.2.0.00007 PF_ALL "" (skip) ALL "" (skip)
11.2-ubuntu22.04-mmw 22.04 11.2.0.00007 PF_ALL 03.06.02.00-LTS ALL "" (skip)
11.2-ubuntu22.04 22.04 11.2.0.00007 PF_ALL "" (skip) ALL "" (skip)
11.2-ubuntu20.04-mmw 20.04 11.2.0.00007 PF_ALL 03.06.02.00-LTS ALL "" (skip)
11.2-ubuntu20.04 20.04 11.2.0.00007 PF_ALL "" (skip) ALL "" (skip)
10.4-ubuntu24.04-mmw 24.04 10.4.0.00006 PF_ALL 03.06.02.00-LTS ALL "" (skip)
10.4-ubuntu24.04 24.04 10.4.0.00006 PF_ALL "" (skip) ALL "" (skip)
10.4-ubuntu22.04-mmw 22.04 10.4.0.00006 PF_ALL 03.06.02.00-LTS ALL "" (skip)
10.4-ubuntu22.04 22.04 10.4.0.00006 PF_ALL "" (skip) ALL "" (skip)
10.4-ubuntu20.04-mmw 20.04 10.4.0.00006 PF_ALL 03.06.02.00-LTS ALL "" (skip)
10.4-ubuntu20.04 20.04 10.4.0.00006 PF_ALL "" (skip) ALL "" (skip)

参考