0. 写在前面
由于要接触国产 DSP 银河飞腾 FT-M 6678 的移植开发,但自己对这方面还不太熟悉,所以打算记录一下开发过程。首先面对的是 SRIO 的开发。
1. CSL 库
1.1 什么是 CSL 库?
CSL 是 Chip Support Library(芯片支持库)的简称,它是由芯片厂商(如 TI、飞腾等)为自家 DSP 或处理器提供的一套底层硬件抽象与驱动函数库。其核心作用是把复杂的寄存器操作封装成易用的 C 语言 API,让开发者不需要直接啃数据手册就能完成外设的初始化、配置和日常控制。
它由各个分立的模块组成,并被编译为库文件。每个模块对应一个单独的外设。使用 CSL 可以方便片上外设的使用,缩短开发周期,提高程序的可移植性。CSL 文件主要分为两个部分,一部分是实现的接口函数,另一部分是配合使用的数据定义文件,两者配合使用来共同实现功能 。
TI 的 C6678 已经提供了较为完全的 CSL 库,飞腾(FT)的 FT-M 6678 则在 TI 的 CSL 库基础上进行了相应的改进。有关 TI 的 CSL 安装请参考 PROCESSOR-SDK-C667X 软件开发套件 (SDK) | 德州仪器 TI.com.cn 。这里我所使用的版本是 pdk_C6678_1_1_2_6
,相应的 CSL 库路径为 E:/ti/Packages/pdk_C6678_1_1_2_6/packages/ti/csl
。
1.2 TI 和 FT 的 CSL 库比较
有关这一部分的比较,详见见飞腾官方提供的资料:
FT-M6678手册及交付物V3.1/3. FT-M6678 Project/2. FT-M6678 软件例程/1. CSL(片上支持库)_V1.0/TI提供的CSL库文件说明-V1.0.pdf
参考着这个 pdf 文档,可以自行将 FT-M 6678 的 CSL 库编写出来,实验室里有一个师兄就是这样做的,编写整理了一个名为 csl_m6678
的库出来。
同时可以肯定的是,SRIO 为 FT-M 6678 的自主部件,如果想要使用,就得去参考官方交付物里提供的示例程序。