如何在CCS3.3中建立一个简单的工程
2个回答
展开全部
CCS建立一个完整的工程,至少需要以下4个文件:存储器分配cmd文件、C语言系统库rts2xx.lib、包含main函数的c源文件、矢量跳转表asm汇编文件。
(1)cmd命令文件是用来分配存储空间的。
(2)rts2xx.lib是C语言系统库,包含了编译器提供的所有功能:①初始化C语言环境(入口地址是_c_int0),②设置堆栈,③提供标准的c语言函数库。
(3)有且只有一个包含main函数的c源文件,系统库初始化完毕后就把控制权交给main()函数了。
(4)矢量跳转表文件,通常是汇编文件(asm)形式,此文件需要准确的定位在程序的起始地址,其内容是汇编语句中的无条件跳转语句“B”。
程序执行的常规流程是:矢量表的第一条指令可设置为"B _c_int0” ,从而在上电复位后,把控制权交给系统库,系统库初始化完毕后,把控制权交给main()函数。
注意:(1)不用添加头文件到工程,在编译时,根据制定的路径,头文件会自动被扫描到工程。
(2)Ti公司的历程中使用了头文件sysvecs.h包含跳转语句"B”来实现矢量跳转表文件。
下面详细说明创建工程的步骤
1. 打开CCS3.1,假设仿真器驱动已经配置好。Project-New...打开创建工程窗口Project Creation。在Project中输入Hello,Location可以选择MyProjects目录。CCS会根据输入的Project名字,在Location制定的目录下创建一个Hello的文件夹。
在CCS的File View中会出现如下项目结构
下面要给项目添加或者新建文件,点击工具栏上的新建文件图标,或者菜单:File→New→Source File,或者直接用快捷键Ctrl+N
这样会建立一个标题为Untitled的文本编辑窗口,用户在这里编写.cmd、.asm、.c、.h等各种类型的文件编写完成后别忘记保存。
可以创建cvectors.asm,roam.cmd,hello.c三个文件,并添加到工程中,单击Project→Add Files to Project,会弹出一个对话框,选择不同的文件类型,往工程里添加文件。添加完用户编写的3个文本文件后,再添加库文件rts2xx.lib(位于目录C:\CCStudio_v3.1\C2400\cgtools\lib)。到这步,一个完整的工程就建立起来了。
2. 设置编译选项,菜单Project→Build Options...,弹出的对话框选择Linker选项卡
单击菜单Project→Build,会在工程文件所在的目录下生成out可执行文件hello.out.
单击菜单File→Load Program,将hello.out文件下载到LF2407A中,在下载程序前,LF2407A必须设置成MP方式,将mp/mc*拉高,或者较复杂的通过GEL语言设置寄存器SCSR1的mp/mc*位)。
按下F5,程序在DSP中运行,窗口的stdout中显示 “hello,DSP world”.
(1)cmd命令文件是用来分配存储空间的。
(2)rts2xx.lib是C语言系统库,包含了编译器提供的所有功能:①初始化C语言环境(入口地址是_c_int0),②设置堆栈,③提供标准的c语言函数库。
(3)有且只有一个包含main函数的c源文件,系统库初始化完毕后就把控制权交给main()函数了。
(4)矢量跳转表文件,通常是汇编文件(asm)形式,此文件需要准确的定位在程序的起始地址,其内容是汇编语句中的无条件跳转语句“B”。
程序执行的常规流程是:矢量表的第一条指令可设置为"B _c_int0” ,从而在上电复位后,把控制权交给系统库,系统库初始化完毕后,把控制权交给main()函数。
注意:(1)不用添加头文件到工程,在编译时,根据制定的路径,头文件会自动被扫描到工程。
(2)Ti公司的历程中使用了头文件sysvecs.h包含跳转语句"B”来实现矢量跳转表文件。
下面详细说明创建工程的步骤
1. 打开CCS3.1,假设仿真器驱动已经配置好。Project-New...打开创建工程窗口Project Creation。在Project中输入Hello,Location可以选择MyProjects目录。CCS会根据输入的Project名字,在Location制定的目录下创建一个Hello的文件夹。
在CCS的File View中会出现如下项目结构
下面要给项目添加或者新建文件,点击工具栏上的新建文件图标,或者菜单:File→New→Source File,或者直接用快捷键Ctrl+N
这样会建立一个标题为Untitled的文本编辑窗口,用户在这里编写.cmd、.asm、.c、.h等各种类型的文件编写完成后别忘记保存。
可以创建cvectors.asm,roam.cmd,hello.c三个文件,并添加到工程中,单击Project→Add Files to Project,会弹出一个对话框,选择不同的文件类型,往工程里添加文件。添加完用户编写的3个文本文件后,再添加库文件rts2xx.lib(位于目录C:\CCStudio_v3.1\C2400\cgtools\lib)。到这步,一个完整的工程就建立起来了。
2. 设置编译选项,菜单Project→Build Options...,弹出的对话框选择Linker选项卡
单击菜单Project→Build,会在工程文件所在的目录下生成out可执行文件hello.out.
单击菜单File→Load Program,将hello.out文件下载到LF2407A中,在下载程序前,LF2407A必须设置成MP方式,将mp/mc*拉高,或者较复杂的通过GEL语言设置寄存器SCSR1的mp/mc*位)。
按下F5,程序在DSP中运行,窗口的stdout中显示 “hello,DSP world”.
展开全部
1、要在Memory Section Manager属性中为“Segment For DSP/BIOS Objects” 和 “Segment For malloc()/free()”分配Dynamic Memory Heaps,必须首先在要分配的段(比如,IRAM)中勾选“create a heap in this memory“,并给出heaps size。
2、要把*.tcf文件生成的*.cmd文件手动加入工程中,否则编译报错如下:
------------------------------ test.pjt - Debug ------------------------------
Warning: The project has no cmd file while the Text Linker is selected
[Linking...] "D:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -@"Debug.lkf"
<Linking>
>> warning: creating output section .gblinit without SECTIONS specification
>> warning: creating output section .mem without SECTIONS specification
>> warning: creating output section .rtdx_data without SECTIONS specification
>> warning: creating output section .sys without SECTIONS specification
>> warning: creating output section .clk without SECTIONS specification
>> warning: creating output section .hst1 without SECTIONS specification
>> warning: creating output section .hst without SECTIONS specification
>> warning: creating output section .pip without SECTIONS specification
>> warning: creating output section .hst0 without SECTIONS specification
>> warning: creating output section .hwi_vec without SECTIONS specification
>> warning: creating output section .swi without SECTIONS specification
>> warning: creating output section .printf without SECTIONS specification
>> warning: creating output section .sts without SECTIONS specification
>> warning: creating output section .tsk without SECTIONS specification
>> warning: creating output section .TSK_idle$stk without SECTIONS specification
>> warning: creating output section .idlcal without SECTIONS specification
>> warning: creating output section .idl without SECTIONS specification
>> warning: creating output section .LOG_system$buf without SECTIONS
specification
>> warning: creating output section .log without SECTIONS specification
>> warning: creating output section .sysinit without SECTIONS specification
2、要把*.tcf文件生成的*.cmd文件手动加入工程中,否则编译报错如下:
------------------------------ test.pjt - Debug ------------------------------
Warning: The project has no cmd file while the Text Linker is selected
[Linking...] "D:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -@"Debug.lkf"
<Linking>
>> warning: creating output section .gblinit without SECTIONS specification
>> warning: creating output section .mem without SECTIONS specification
>> warning: creating output section .rtdx_data without SECTIONS specification
>> warning: creating output section .sys without SECTIONS specification
>> warning: creating output section .clk without SECTIONS specification
>> warning: creating output section .hst1 without SECTIONS specification
>> warning: creating output section .hst without SECTIONS specification
>> warning: creating output section .pip without SECTIONS specification
>> warning: creating output section .hst0 without SECTIONS specification
>> warning: creating output section .hwi_vec without SECTIONS specification
>> warning: creating output section .swi without SECTIONS specification
>> warning: creating output section .printf without SECTIONS specification
>> warning: creating output section .sts without SECTIONS specification
>> warning: creating output section .tsk without SECTIONS specification
>> warning: creating output section .TSK_idle$stk without SECTIONS specification
>> warning: creating output section .idlcal without SECTIONS specification
>> warning: creating output section .idl without SECTIONS specification
>> warning: creating output section .LOG_system$buf without SECTIONS
specification
>> warning: creating output section .log without SECTIONS specification
>> warning: creating output section .sysinit without SECTIONS specification
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询