2. 开发环境搭建与Hello World

任务目标

在CEVA-X DSP平台上完成首个可运行程序:搭建最小交叉编译环境,编写Hello World程序并编译通过,生成可在CEVA-X目标板上加载的.out可执行文件。本案例聚焦于工具链验证与编译流程打通,不涉及硬件调试。

环境依赖

  • CEVA-X DSP开发板或模拟器(如CEVA-XM4/XM6)
  • CEVA Toolbox(含C编译器cxcc、汇编器、链接器)
  • 主机系统:Linux x86_64或Windows(以Linux为例)

实现代码

创建hello.c,内容如下:

#include <stdio.h>

int main(void) {
    printf("Hello from CEVA-X!\n");
    return 0;
}

编译与运行

  1. 设置环境变量(假设Toolbox安装在/opt/ceva/toolbox):
export PATH=/opt/ceva/toolbox/bin:$PATH
export CEVA_BASE=/opt/ceva/toolbox
  1. 编译生成可执行文件:
cxcc -c hello.c -o hello.o
cxcc hello.o -o hello.out

若需指定具体DSP架构(如XM4),添加-arch xm4参数。

  1. 在模拟器上运行(若使用硬件则通过JTAG加载):
cxsim hello.out

验证方法

  • 编译通过:上述命令无报错,生成hello.o与hello.out文件。
  • 运行输出:模拟器终端显示Hello from CEVA-X!,退出码为0。
  • 文件检查:执行file hello.out,输出包含CEVA或DSP标识,确认生成的是目标平台可执行格式。

常见问题

  • 找不到cxcc:检查PATH是否包含Toolbox的bin目录,或使用路径调用。
  • 链接错误:确认stdio.h路径在Toolbox的include目录下;若使用硬件运行,需链接对应的运行时库(-lc)。
  • 架构不匹配:编译时未指定-arch,默认架构可能与模拟器/目标板不一致,需显式指定。

本案例验证了CEVA-X工具链的完整编译链路,后续所有算法移植均基于此环境进行。