利用CCS创建工程

所使用的编程素材已放在github

在Code Composer Studio Setup中添加芯片

选用的芯片是F2818 Device Simulator

然后点击 Save & Quit,自动启动CCS

Files
|- GEL files
|	|- sim2818.gel
|- Projects

说明

sim2818.gel:全局扩展语言,c语言的***版,在这里可以写启动删除,加载文件时的操作

创建项目

Project --> new Project --> 输入工程名及修改保存位置

Files
|- GEL files
|	|- sim2818.gel
|- Projects
	|- HelloDSP.pjt(Debug)
		|- Dependent Projects
		|- Documents
		|- DSP/BIOS Config
		|- Generated Files
		|- Include
		|- Libraries
		|- Source

为了在目录存储清爽,工程目录下新建几个文件夹:includecmdlibrarysource并将编程素材拷贝过来

HelloDSP(Project Name)
|- cmd
	|- FLASH.cmd
	|- SRAM.cmd: 对储存器的分配方案的调试
|- include
	|- DSP28_Adc.h
	|- DSP28_CpuTimers.h
	|- DSP28_DefaultIsr.h
	|- DSP28_DevEmu.h
	|- DSP28_Device.h
	|- DSP28_ECan.h
	|- DSP28_Ev.h
	|- DSP28_GlobalPrototypes.h
	|- DSP28_GlobalVariable.h
	|- DSP28_Gpio.h
	|- DSP28_Mcbsp.h
	|- DSP28_PieCtrl.h
	|- DSP28_PieVect.h
	|- DSP28_Sci.h
	|- DSP28_Spi.h
	|- DSP28_SysCtrl.h
	|- DSP28_Xintf.h
	|- DSP28_XIntrupt.h 
|- library
	|- rts2800_ml.lib
|- Debug
	|- ...
|- source
	|- DSP28_Adc.c
	|- DSP28_CpuTimers.c
	|- DSP28_DefaultIsr.c
	|- DSP28_ECan.c
	|- DSP28_Ev.c
	|- DSP28_GlobalVariableDefs.c
	|- DSP28_Gpio.c
	|- DSP28_InitPeripherals.c
	|- DSP28_Mcbsp.c
	|- DSP28_PieCtrl.c
	|- DSP28_PieVect.c
	|- DSP28_Sci.c
	|- DSP28_Spi.c
	|- DSP28_SysCtrl.c
	|- DSP28_Xintf.c
	|- DSP28_XIntrupt.c
|- HelloDSP.pjt
|- HelloDSP.sbl
|- HelloDSP.paf2
|- ...

将编程素材中的source和library所有文件及cmd中的SRAM.cmd添加进来,include无需添加

Files
|- GEL files
|	|- sim2818.gel
|- Projects
	|- HelloDSP.pjt(Debug)
		|- Dependent Projects
		|- Documents
		|- DSP/BIOS Config
		|- Generated Files
		|- Include
		|- Libraries
			|- rts2800_ml.lib
		|- Source
			|- DSP28_Adc.c
			|- DSP28_CpuTimers.c
			|- DSP28_DefaultIsr.c
			|- DSP28_ECan.c
			|- DSP28_Ev.c
			|- DSP28_GlobalVariableDefs.c
			|- DSP28_Gpio.c
			|- DSP28_InitPeripherals.c
			|- DSP28_Mcbsp.c
			|- DSP28_PieCtrl.c
			|- DSP28_PieVect.c
			|- DSP28_Sci.c
			|- DSP28_Spi.c
			|- DSP28_SysCtrl.c
			|- DSP28_Xintf.c
			|- DSP28_XIntrupt.c
		|- SRAM.cmd

修改include存放位置

右键项目名 --> Build Options --> Compiler --> Preprocessor --> Include Search Path --> 输入..\include;.\include

说明

..\include:根目录的下一层文件夹中的include
.\include:根目录下的include

编写函数,起名mainx.c,并加入到工程下的source目录下

#include "DSP28_Device.h"

void main()
{
	while(1)
	{}
}

修改Stack Size参数

右键项目名 --> Build Options --> Linker --> Stack Size (-stack) --> 800

全部编译

编译后,所有头文件都会加入进来

全部评论

相关推荐

面试官全程关摄像头1.自我介绍一下2.React和Vue哪个更熟悉一点3.你在之前那段实习经历中有没有什么技术性的突破(我只是实习了44天工作28天,我把我能说的都说了)4.你封装的哪个表单组件支不支持动态传值5.自己在实习阶段Vue3项目封装过hook吗6.hook有什么作用7.Vue2和Vue3的响应式区别(我说一个是proxy是拦截所有的底层操作,Object.defineProperty本身就是一个底层操作,有些东西拦截不了,比如数组的一些操作还有等等,面试官就说实在要拦截能不能拦截????我心想肯定不行呀,他的底层机制就不允许吧)8.pinia和vuex的区别(这个回答不出来是我太久没用了)9.pinia和zustand的区别,怎么选(直接给我干懵了)(我说react能用pinia吗  他说要用的话也可以)10.渲染一万条数据,怎么解决页面卡顿问题(我说分页、监听滚轮动态加载,纯数据展示好像还可以用canvas画)(估计是没说虚拟表单,感觉不满意)11.type和interface的区别12.ts的泛型有哪些作用(我就说了一个结构相同但是类型不同的时候可以用,比如请求响应的接口,每次的data不同,这里能用一个泛型,他问我还有什么)13.你项目用的是React,如果让你再写一遍你会选择什么14.pnpm、npm、yarn的区别15.dependencies和devdependencies的区别总而言之太久没面试了,上一段实习的面试js问了很多。结果这次js一点没问,网络方面也没考,表现得很一般,但是知道自己的问题了  好好准备,等待明天的影石360和周四的腾讯了  加油!!!
解zj:大三的第一段面试居然是这样的结局
查看15道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务