CCS5 DSP2812工程文件构建
更新时间:2024-02-02 00:28:01 阅读量: 教育文库 文档下载
- ccs5.5安装教程推荐度:
- 相关推荐
总的说一个完整的工程需要由库文件(.lib),头文件(.h),源文件(.c)和 CMD 文件(.CMD)组成,缺一不可。至于各文件内容将在以后中详细说明 (1)TI 库的移植 1、库文件(.lib)
rts2800_ml.lib --- 大存储器模式 IQmath.lib --- Q化数学函数库
2、TI库 源文件 头文件 DSP281x_common DSP281x_headers 注意
DSP281x_SWPrioritizedDefaultIsr.c DSP281x_SWPiroritizedPieVect.c DSP281x_XintfBootReset.asm 这三个文件有需要时才添加 3、CMD 文件
4、修改TI库两个头文件
a、DSP281x_headers\\include\\DSP281x_Device.h #define TARGET 1
//--------------------------------------------------------------------------- // User To Select Target Device:
#define DSP28_F2812 TARGET #define DSP28_F2811 0 #define DSP28_F2810 0
b、DSP281x_common\\include\\DSP281x_Examples.h
#define CPU_RATE 6.667L // for a 150MHz CPU clock speed (SYSCLKOUT) //#define CPU_RATE 7.143L // for a 140MHz CPU clock speed (SYSCLKOUT) 5、编写文件 包含头文件
#include \#include \(2)TI库文件解释 文件 描述
DSP281x_GlobalPrototypes.h 这个文件包含外设详细的函数原型 DSP281x_Adc.c ADC具体函数和宏 DSP281x_CpuTimers.c CPU-Timer具体函数和宏 DSP281x_Ecan.c 增强CAN详细函数和宏 DSP281x_Ev.c EV详细函数和宏 DSP281x_Gpio.c GPIO详细函数和宏 DSP281x_Mcbsp.c McBSP详细函数和宏 DSP281x_PieCtrl.c PIE控制详细函数和宏 DSP281x_Sci.c SCI详细函数和宏 DSP281x_Spi.c SPI详细函数和宏
DSP281x_SysCtrl.c
系统控制(看门够,时钟,pll等) 详细函数和宏 DSP281x_Xintf.c XINTF详细函数和宏 DSP281x_Xintrupt.c 外部中断详细函数和宏 DSP281x_CodeStartBranch.asm
当代码导入Flash,OTP或H0 SARAM存储器时,此程序确定代码从哪个分支开始执行。在使用包含的c 初始程序之前,需要关闭看门狗。
若程序从xintf zone 7引导执行,择使用DSP281x_XintfBootReset.asm替代。 DSP281x_XintfBootReset.asm
这个文件说明程序从xintf zone 7引导。 在使用包含的c 初始程序之前,需要关闭看门狗。如果代码导入Flash,OTP或H0 SARAM存储器时,使用DSP281x_CodeStartBranch.asm代替它。
DSP281x_DBGIER.asm
汇编函数控制来自C的DEBIER寄存器 DSP281x_usDelay.asm
在微秒内插入一个延时的汇编函数。这个函数是依赖时钟周期的,它必须从具有0 等待-状态的 RAM执行。
DSP281x_CSMPasswords.asm
包含在工程中,编译代码安全模式密码和保留位置。 DSP281x_SWPrioritizedDefaultlsr.c
默认的中断服务外壳程序。 你可以选择填充一个函数或将你的ISR重新映射到PIE向量表。注意:这个文件对DSP\\BIOS 工程没有用。 DSP281x_SWPrioritizedLevel.h
DSP281x_Defaultlsr.c中的ISR函数原型声明。注意: 这个文件对DSP\\BIOS 工程没有用。 DSP281x_SWPrioritizedPieVect.c
DSP281x_Defaultlsr.c中创建带指向ISR函数指针的PIE向量表初始化。为了初始化到默认的ISR位置,这个示例能够被拷贝到PIE向量表。 DSP281x_Defaultlsr.c
完整PIE向量表的中断服务外壳程序(ISRs)。可以选择填充一个函数或将你的ISR重新映射到PIE向量表。注意:这个文件对DSP\\BIOS 工程文件没有用。 DSP281x_Defaultlsr.h
DSP281x_Defaultlsr.c中的ISR函数原型声明。注意: 这个文件对DSP\\BIOS 工程文件没有用
DSP281x_PieVect.c
此处是DSP281x_Defaultlsr.c中ISR函数的一个实例,创建一个带指针的PIE向量表结构初始化。为了初始化到默认的ISR位置,可以拷贝这个实例到PIE向量表。 详情请看
DSP281x_HeaderFiles_QuickStart_Readme.pdf DSP281x_HeaderFiles_QuickStart中文版.doc (3)CMD文件
1、用于分配编译产生的各个段至存储器 ,用来分配存储空间的 DSP281x_headers\\cmd\\DSP281x_Headers_BIOS.cmd DSP281x_headers\\cmd\\DSP281x_Headers_nonBIOS.cmd 2、CMD 文件又分成两种。
一种是分配 RAM 空间的-- 微计算机模式(仿真模式) ,用来将程序 load 到 RAM 内进行调试,因为我们大部分时间都是在调试程序,所以多用这类 CMD,
另一种是分配 FLASH 空间-----微处理器模式,当程序调试完毕后,需要将其烧写到 FLASH 内部进行固化,这个时侯我们就需要使用这类 CMD 文件了 注:复位时,芯片采样XMP/MC引脚,以判断采用何种模式运行。
如果XMP/MC=1(微处理器模式),第7外部接口(XINTF zone 7)使能,复位向量从外部存储器中取得。此时,必须确保复位向量指向有效的代码执行地址。当然,这种模式只有在具有外部接口的器件上才可以采用,如2812。
如果XMP/MC=0(微计算机模式),第7外部接口(XINTF zone 7)不使能,使能内部boot ROM。此时,复位向量从内部boot ROM中取得。没有外部接口的芯片在内部将XMP/MC拉低,以保证总会使能内部boot ROM。(建议此时用0殴电阻) 详情请看
281x上电引导顺序.doc
TMS320x281x Boot ROM Reference Guide.pdf (4)实战建立自己的工程文档
1、这里只讨论CCSv5 建立的方法,其实是大同小异的,平时多点即可
选择自己的Workspace
建立工程
其他的选择默认即可,点Finish 即可完成
若没有Project Explorter 可以在View点即查看, 现在点击Project ->Build Project 进行工程编译
在Console中可以看到xx.out文件即编译成功,可以下载程序并调试烧写等工作 (若没有Console 可以在View点击打开)
若编译时出现问题可在Problems查看
2、工程文件已经完成一半,下面进行复制文件(请参考前四步)
DSP281x_headers DSP281x_common 可在TI官网下载,也可以用我的,都是一样的
回到CCSv5 点击工程文件右键,Refresh 重新载入文件(这效果比CCS3.3好) 3、以下取消没有用的文件
没有作用的文件如下(灰色的):
接着删除建立工程时自动生成的文件 2812_RAM_lnk.cmd 或者采用上面文件即消
建立USER文件夹,便于文件管理,如下
注意F2812.cmd 为FLASH启动的CMD文件,我将其剪切到USER文件 并在main函数中添加代码FLASH启动代码 #if 1
// Copy InitFlash function code and Flash setup code to RAM
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart); // This function must reside in RAM InitFlash(); #endif
2812_RAM_lnk.cmd 为RAM启动的CMD文件,若使用RAM模式,请取消FLASH启动代码,即可 4、添加头文件路径
添加如下:
有人说没有必要添加那么多文件夹,答案是的,确实没有必要添加那么多,但是多了也没有影响,何必在这些方面讨论
添加好后重译rebuild一下文件,(当遇到不太明白的错误时,建议先clear 再rebuild工程) 5、以下为修改文件如下
执行build project时,运行的时候出现“warning: creating .stack section with default size of 400 (hex) words.”的警告信息,解决方法在 在CMD文件添加以下代码 -stack 0x400
或者参考“编译问题收集” 6、再添加 cpu_def.h
其定义一些自已试用的数据类型 如以下: typedef CPU_INT08U uint8; //[0 255]
typedef CPU_INT16U uint16; //[0 65 535]//typedef unsigned int uint16; typedef CPU_INT32U uint32; //[0 4 294 967 295]//typedef unsigned long uint32; typedef CPU_INT08S sint8;
typedef CPU_INT16S sint16;//typedef signed int sint16; typedef CPU_INT32S sint32; //typedef signed long sint32; typedef sint8 int8;
可参考DSP281x_Device.h 自行编写 #ifndef DSP28_DATA_TYPES #define DSP28_DATA_TYPES typedef int int16; typedef long int32; typedef long long int64; typedef unsigned int Uint16; typedef unsigned long Uint32; typedef unsigned long long Uint64;
typedef float float32; typedef long double float64; #endif
再在includes.h添加其头文件,添加方法请看步骤4、5
7、备份点击工程文件右键,“clear project” 然后在到文件夹存放的地方压缩即可 然后点击工程文件右键“Delete”(方便以后添加)
(8)添加TargetConfigurationFile 就是仿真器的连接文件,我以XDS100V1为例,其他的仿真器也是大同小异的
建立好之后,一定要点击rebuild 工程
意义一个工程只能有一个TargetConfigurationFile 可以在view->TargetConfiguration 打开管理,对多余的进行管理
点击绿色小虫即进入调试模式
其他的观察变量、设置断点 Graph.....在以后课程进行介绍
(9)以上方面已经建立自己的工程模板,以下就介绍如何调用工程模板,方法如下 解压缩我们(7)步骤中的压缩文件,按以下操作
选择压缩后的文件夹
点击Finish即可导入应用
点击Rename 文便自己以后管理,以下以LED为例
“rebuild”一下,即可建立自己新的工程文件
其他项目也以此方法
题外话,有人说DSP281x_common 、DSP281x_headers 很多工程都用到,没有必要每个工程有份,但这样做法一个好处时方便与人交流,程个工程文件是独立的。在
可以看出,不会受外部的文件的影响。导入其他人做的工程时,编译不通过一般情况下都是
#include search path 设置不正常造成的,修改一下即可。 (5)编译问题收集
(1)执行build project时,运行的时候出现“warning: creating .stack section with default size of 400 (hex) words.”的警告信息,不知,以为是CMD文件出现问题,看了半天都找到原因,
提示说可以用stack options修改,却没在help里迅速找到解决办法。网上搜了一下,结合CCS4.0版本解答如下:
依然在 右键工程--build propertie--C2000 linker--basic options
即stack,head sizez处都填入0x400即可,此处估计得根据具体的芯片类型来填,有多种选择,但不能超过最大的范围。 或者在CMD文件添加以下代码 -stack 0x400
(2)warning #10247-D: creating output section \#10247-D: creating output section \解决方法
DSP281x_CSMPasswords.asm 程序加密代码的出错,这个只能在FLASH模式下才能工作,取消其的编译即可
参考资料:
DSP281x_HeaderFiles_QuickStart_Readme.pdf DSP281x_HeaderFiles_QuickStart中文版.doc IQmath_v15a.pdf
Programming TMS320x28xx and 28xxx Peripherals in C C++.pdf
原文地址: 【DSP2812学习心得】一、构建完整工程文件》http://blog.sina.com.cn/s/blog_7e7fa4c80101fkyb.html
程序下载地址一:
http://www.pudn.com/downloads567/sourcecode/embedded/detail2333593.html 程序下载地址二:http://download.csdn.net/detail/dvd1478/5973301
正在阅读:
CCS5 DSP2812工程文件构建02-02
职业生涯规划书 汽车系新能源05-09
城市商业银行竞争力分析及其发展战略07-25
南京信息工程大学2012-2014学年教学信息员名单11-17
中级职称考试(地图制图与地理信息系统)2014大纲知识点汇总(全)06-30
热血海贼王教你如何玩转宝石系统06-10
处理师生矛盾11-27
劳务所目标监管工作意见03-12
180222 英语学习高级阅读材料03-08
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 构建
- DSP2812
- 文件
- 工程
- CCS5
- ENOVIA R2016x软件功能模块说明 V1.0
- 《企业会计准则解释第3号》(财会8号)
- 三年级下册语文第五单元测验
- 9a好2012年普通高等教育专升本工作的通知 - 图文
- 如何设计清洗橡胶制品项目可行性研究报告(技术工艺+设备选型+财务概算+厂区规划)投资方案
- 薛海涛三述报告
- 建筑施工安全文明施工标准化规定
- 会计
- 小学数学毕业班总复习资料
- G207、G353、S233常德沅澧城镇快速干线津市至石门公路改建工程(澧县段)A5标段- 副本 - 图文
- 上半年考核情况通报
- 国际三字代码(详细) - 图文
- 六个一党支部情况汇报
- 关于统借统还
- 2014-2015第二学期java程序设计(选修)复习题
- 江苏省中小学教师专业技术资格条件(试行)苏职称(2009)14号
- 选线设计B
- 洛阳市城乡居民医保政策宣传
- 大学生村官考察期主要考察内容
- 水环境容量计算