版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CCSV5.5中DSP/BIOS的搭建说明:鉴于目前网络上关于如何在CCS5.5中怎么运用DSP/BIOS的详细抬导十分不全面,本人在搜索过程中也是一头雾水,故写此文档,第一便于大家互相学习交流,第二方便本单位后续技术积累。文中截图系本人亲自操作截取。1:创建常规CCS5.5工程1)打开CCS,选择FileNewCCSProject2)在Projectname栏输入要创建的工程名字,以test为例。3)在Family栏选定你所使用的DSP的家族系列,以C6000为例。4)在Variant栏选定你所使用的DSP系列,以C674xFloating-pointDSP为例,在后面的选框中选中具体的DS
2、P型号。以TMS320C6748为例。5)在Connection栏选择你所使用的仿真器型号。6)Advancedsettings高级选项,主要时选择芯片的大小端,编译器版本,一般情况下这里不需要设置。7)在Projecttemplatesandexamples栏选中带main.c的空白工程。8)点击Finish按钮,完成。2:引入DSP/BIOS系统注1:因为刚才在创建工程的时候已经产生了一个名为C6748.cmd的链接命令文(Q)件,在这里需要删除这个链接命令文件,因为DSP/BIOS在创建的过程中会产生一份新的链接命令文件。并且新的链接命令文件会把一些用到的应用库包含进来,例如bios.a
3、62/rtdx.lib,rts64plus.lib等程序库。大多数DSP/BIOS生成的链接命令文件会满足所有的存储段分配,也可以后续再通过MEM管理器进行控制。注2:假如你的工程之前有包含vectors.asm源文件,同样需要移除这个文件,因为DSP/BIOS会自动定义硬件中断向量表。就是说假如你使用了DSP/BIOS系统,中断向量的管理权也就交给了DSP/BIOSo好的,做好以上准备工作后,下面我们就开始一步一步的创建DSP/BIOS的应用,我们这里以一个最简单的应用例程进行说明,在这里会带领大家创建一个包含有两个任务的应用程序,第一个任务执行把LED点亮的工作,第二个任务执行把LED点灭
4、的工作。添加DSP/BIOS配置到当前工程1)选择FileNewDSP/BIOSv5.xConfigurationFile。2)检查Filename栏的tcf文件名是否和你的工程名一致。这里名为test.tcfo点击Next按钮。3)选择所属的器件型号平台,我的是ti.platforms.evm6748,点击Next按钮。4)将默认选中三个DSP/BIOS特性选中,点击Finish按钮。Real-TimeAnalysis若禁止,贝ljLOG、STS不可用。RTDX若禁止,则实时分析数据不可实现。TSKManager允许你使用信号量和任务让出功能。注:在这里会有一个叫做“指定xdc工具安装的”对
5、话框弹出,我目前也不清楚在这里不指定会有什么影响,点击ok跳过貌似也没有什么影响,不知道是不是我的CCS安装引起的这个问题,有待研究,总之你先点击ok就行了,接着点击yes按钮。创建tcf文件完毕。在这里你可以先编译一下你所创建的工程,如果你是按照我所描述的步骤进行创建的话,编译应该是没有错误可以通过编译的。注:编译通过后你可以在左侧工程导航栏的Debug文件夹下看到一系列DSP/BIOS所创建的文件,如testcfg_c.c文件:testcfg.cmd文件testcfg.h文件testcfg.s62文件testcfg.h62定义DSP/BIOS结构体和内容。链接命令文件包含DSP/BIOS模
6、块头文件、声明对象的外部变量。DSP/BIOS配置的汇编文件汇编语言头文件不好意思这一步忘记截图了,过程比较简单,照着做就行了。3:添加任务和信号量这一步就是创建DSP/BIOS各个管理模块的对象,首先对全局属性进行一下必要的设置,在左侧的工程导航栏双击test.tcf打开管理器。3.1:全局属性设置选中System栏下的GlobalSettings,右键,选择属性按钮,进行如下设置,这里主要是设置CPU运行的时钟,因为我将來要把我的DSP运行在300MHz的频率,外部接的晶振是25MHz,所以设置如下。:卞ConfigurationToolD:workspiace_v5_5nnetad3ta
7、pluginsogclipsErtscxdctoo1sbijildDefinitionsDSPFileEditViewObjectHelpEstimatedDataSi2e:2976曰;爲iSystem卜璽GlobalSettings;回烯MEMMemorySectionManage曲BUF-BufferManager血POOL-AllocatorManager罔SYS-SystemSettings數HOOK-ModuleHookManagerqPWRMPowerManager由焉Instrumerrtation囱Scheduling囱“琢Synchronization3.2:LOG模块的设置
8、LOG模块可以帮助我们调试将來的代码,可以利用模块本身的LOG_printf函数在CCS环境里面打印信息,对我们调试代码十分有用。而且占用的CPU资源很小,几乎不影响CPU的性能。下面说说具体的配置方法。选择Instrumentation子目录下的LOG-EventLogManager,右键选择InsertLOG,在打开的对话框中为你要创建的模块起个名字,一般以trace命名。如图:EstimatedDataSize:2976EstMin.StackSizeMZLOG-EventLogManagerproperties耳ISystem燮GlobalSettings|田嘩MEM-MemorySe
9、ctionManager”曲BUF-BufferManager?POOL-AllocatorManager!“HsvsSystemSettings甑HOOK-ModuleHookManagerL-0PWRMPowerManager&QLOG-EventLogManagerZJIi1Scheduling田年SynchronizationInput/OutputTSK_ledoff的任务。优先级分别为2和3。两个任务一个用來点亮led,个用來灭掉led。这样程序运行起来就会看到led在闪烁。创建的任务后如图:剤宦Instrumentation自QgSchedulingIjCLK-ClockMana
10、gerPRD-PeriodicFunctionManag1由HWIHardwareInterruptServi口Priority9LJPriority8口Priority7匚Priority6口Priority5-C1Priority-1(Suspendedtasks)0ICeunctionManager軒那Synchronization由,画Lnput/OutputTSKedoffTSKedon宙澎SWISoftwareInterruptMana;Ib&ebsessesb上述只是创建了任务,接下來还要在为每个任务指定一个函数入口划称。选中TSKJedon,右键选择属性,进行设置,在弹出的对话
11、框中选择Function选项,在Taskfunction:栏输入要调用的函数入口名称,这里我命名为taskledon。Instrumentation白.illn注:taskledon前面要加上一个下划线,这一点一定不能忘记。tfincludegpio.hvoidDelay(unsignedintdelay)while(delay-);主函数,我手里的板子在GP2_1上接的是一只Led。对应管脚号为34,主函数再此小工程里主要完成GPIO的初始化工作。intmain(void)PSCModuleControlCSOCPSCREGS,HN_PSC_6PI0,PSCPOWERDOMAINALWAYS
12、ON,PSC_MDCTL_NEXT_ENABLE);HWREG(0 x01C14138)=0X08000000U;GPIODirModeSet(SOC_GPIO_0_REGSJ34,GPIO_DIR_OUTPUT);GPIOPinWriteCSOCGPIOREGS,34?GPIO_PIN_LOW);Delay(5000000);GPIOPinWriteCSOCGPIOREGS,34?GPIO_PIN_HIGH);SEM_pos七(&SEM0);return0;voidtaskledon()while(l)SEM_pend(&SEM0,SYS_FOREVER);GPIOPinWriteCSOCG
13、PIOREGS,34?GPIO_PIN_LOW);TSK_sleep(500);/Delay(5000000);SEM_pos七(&SEM1);LOGprintf(&trace?TaskledonDONE);voidtaskledoff()while(l)SEM-Pend(&SEMl,SYS_FOREVER);GPIOPinWrite(SOC_GPIO_0_REGS,34,GPI0_PIN_HIGH);TSK_sleep(500);/Delay(5000000);SEM_pos七(&SEM0);LOG_printf(&trace?TaskledoffDONE1);3.5:创建信号灯上述代码两个
14、任务之间依赖信号灯來触发任务进入就绪状态,实现任务之间的同步和通信。信号灯有一个内部计数器,计有效的资源数,若信号灯大于o,任务请求该信号灯不会被阻塞。SEM_pend(semztimeout):等待一个信号灯,如果信号灯值大于0,则对计数值做简单的减1并返回,否则等待SEM_post发布信号。超时参数允许任务等待直到超时,或无限等待(SYS_FOREVER),或者不等待(取值0),返回值代表请求信号灯是否成功。SEM_post(sem):发布信号灯。若有任务等待该信号灯,SEM_post会从等待队列中将该任务删除并将其放入就绪队列等待调度。如果没有任务等待这个信号,SEM_post则简单将计
15、数值加1并返回。细心的你可能己经发现上述贴出來的示例代码用到了两个信号灯,分别为SEM0,SEMlo其中SEM0用來调度点亮LED的任务taskledon,SEMI用來调度灭掉LED的任务taskledoffo创建方法选择Synchronization子目录的SEM-SemaphoreManager,右键选择插入选项。|“QPRD-PeriodicFunctionManager!宙IHWI-HardwareInterruptService田碁SWI-SoftwareInterruptManai宙&TSK-TaskManager亩IDL-IdleFunctionManagerJ曰“輝Synchr
16、onization|缭SEMSemaphoreManaigeri.7MBX-MailboxManager!匸QUEAtomicQueueManager=“鲁LCK-ResourceLockManager亩Input/Output如上图所示,创建两个信号灯,创建好后如下图所示:白毎Synchronization白噺SEMSemaphoreManagerL*SEMOIl*鈕n:”gMBXMailboxManocier这样就可以在程序里面使用信号灯了。4:运行4.1:编译编译没有错误。4.2:运行运行过程中可以看到LED在不停的闪烁。暂停后可以看到的CCS界面的LOG模块的打印信息如下图:曰Cons
17、ole目RTOSObjectView(ROV)阕爲testoutJ占ViewableModulesKNLLogsti.bios,rov.LOGseqnumtimestampmessagebLOG.systemoTaskledorDONELOGlrace1TosklcdoffDONEMBXMEMSEMSWITSKTaskledonDONETaskledoffDONETaskledonDONETaskledoffDONETaskledonDONETaskledoffDONETakledonDONETaskledoffDONE护MLicensedLE到此,恭喜你己经可以搭建简单的DSP/BIOS应用工程了。chin HYPERLINK mailto:a_a_EstimatedDataSize:5912EstBUF-BufferManPOOL-AllocatorSYSSystemSettHOOKModulePWRMPowerfuQgSchedulingiCLKClockMan,”盟PRD-PeriodicFt匡tHWIH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青岛职业技术学院《婚姻家庭与继承法》2023-2024学年第一学期期末试卷
- 青岛远洋船员职业学院《蒸发冷却空调原理与设备》2023-2024学年第一学期期末试卷
- 企业战略管理与市场定位分析
- 青岛幼儿师范高等专科学校《清洁生产与实践》2023-2024学年第一学期期末试卷
- 企业环保责任与法规遵守策略
- 提升轮岗培训效果的案例分析
- 人工智能技术在环保领域的应用
- 利用汇报提升幼儿园科学教育效果
- 青岛农业大学海都学院《室内专题项目人文性展览空间设计》2023-2024学年第一学期期末试卷
- 青岛农业大学海都学院《OpenG图形编程》2023-2024学年第一学期期末试卷
- 资产评估过程中应急预案
- 暂缓执行房产拍卖申请书
- ECFA货物贸易早期收获计划台湾方面降税产品清单(台2011年税则)
- 西方景观设计思潮影响下的遗址公园景观设计实践-以西安环城公园为例的开题报告
- 15D500-15D505 防雷与接地图集(合订本)
- 投标文件澄清通知 澄清函
- 病毒性心肌炎临床路径
- 幼儿园故事课件:《小马过河》
- 注塑机设备点检与保养作业指导书
- 《无人机载荷与行业应用》 课件全套 第1-6章 无人机任务载荷系统概述- 未来展望与挑战
- 品质部人员配置规划(整理)
评论
0/150
提交评论