C语言在DSP嵌入式系统中的应用与开发

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:sz10088
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:当前的计算机程序应用大都以嵌入式系统为主,且是以DSP核心构建而成的。这一系统的应用与开发模式主要是采用了C语言汇编的方法,依托DSP系统的存在周期和开发周期对其进行移植性的调整与提升,进而降低嵌入式系统的缺陷,提升嵌入式系统的稳定性。所以,很多DSP开发人员对于C语言的应用较为广泛,且开发的系统稳定性和运算与命令执行效率较高。研究将针对当前C语言在DSP嵌入式系统中的开发模式和应用方法展开研究,并且会提出相应的问题和解决问题的策略与方法,进而实现对系统的完整构建。同时,还会从现实应用角度对其进行C语言DSP嵌入式系统开发过程中的注意事项说明,以此降低技术人员在后期应用C语言开发DSP嵌入式系统过程中发生问题的概率。
  关键词:C语言;DSP;嵌入式系统;语言开发
  中图分类号:rrP311 文献标识码:A
  文章编号:1009-3044(2020)29-0204-02
  1 引言
  随着当今时代的发展,信息技术得到了飞速的进步,且快速渗透到了人们的日常生活中,成为人们生活与工作的重要组成部分。在这一模式下,社会的发展对于信息技术的依赖程度更大,且信息技术本身的发展也更加多元化与理想化。在这一背景下,DSP技术被广泛应用于其中,主要领域有:电子通信行业、无线电软件应用行業、仪器仪表行业、自动控制行业、人工智能行业等。这就为当今时代背景下的DSP技术提供了深度发展的机会,同时也为DSP嵌入式产品的应用带来了全新的发展空间。当前人们对DSP嵌入式产品的应用主要来自以下几种原因:第一是自从控制器被发明之后,仅仅配备了语言编辑功能的软件开发功能,并没有配备高级语言的应用功能;第二是汇编语言程序生成是二进制,其代码少,且运行和执行速度飞快;第三是介于储存器对价格和空间的限制,无法对其进行广泛的应用。所以,在这一背景下,DSP嵌入式产品成为其中的佼佼者,并且有效解决了上述问题。在当今,C语言在DSP嵌入式系统中的应用具备较大的优势:首先是可移植性良好且开发周期可控;第二是调试和后期检测与维护工作开展较为方便。介于以上两大特色,大家对于C语言在嵌入式产品中的应用和开发更加热衷。
  2 C语言在TMS320VC33芯片的开发过程
  在对其进行开发的过程中,需要结合下文中叙述的四个步骤开展实施:首先是通过对C语言的编辑完成源程序;其次是完成好编译工作,设计好链接;然后是通过在线仿真对其进行检测;最后是利用固化程序整个系统的设计与开发。
  2.1 编辑源代码
  在对源代码进行编辑的过程中,需要结合Code Composer的背景对其进行工程的建设,以此实现对CSRJ.MAK的构建。在此,需要构建一个C源代码文件,将其设计为CSRJ.C,具体内容为C语言源程序。另外,还需要筹建一个VC33.H的头文件,在后续的程序开发与设计过程中需要应用到TMS320VC33寄存器,通过该方法可以对其进行有效的定义。最后,将以上两个文件进行组合,并一同添加到CSRJ.MAK工程中。
  2.2 编译和链接
  需要从TI公司的COFF文件格式对其进行分析与研究。Code Composer编译器构建的目标文件一般为公共目标文件,格式为COFF。在这一格式的应用中,能够有效促进模块化编程的管理效果,且可以提升程序的可移植性,强化程序的可读性能。这对于后续代码的管理与村村器的管理有着重要的影响作用,而且应用的方法也会更加灵活,操作的便利性会大大提高。由此可见,该方法的应用能够为高级语言的汇编提供相应的基础,带来有效的帮助。在COFF文件中,最主要的就是要把SECTION进行概念的定义。SECTION是COFF文件中最小的单位,在储存器中占据空间的模式为数据块模式。而且,在同一目标文件中,不同的SECTION是相互分离的,且是不受干预的。因此,SECTION 一般可以划分为两个方面:第一方面是完成初始化的部分;第二方面是未进行初始化的部分。已经完成初始化的部分其中含有程序数据和程序代码;未完成初始化的部分能够为数据提供储存的空间,且可以有效保留数据信息。
  3 C语言在DSP嵌入式系统开发中需注意的问题
  3.1 内存依赖
  为了有效提升代码的优化性能,促进编译器对指令执行和处理的能力与效率,需要对其内存依赖关系进行设计与研究。在这一过程中,需要做到对指令之间的关系确认,且需要完善指令的准确性。一般情况下,一条指令需要在另一条指令的执行状态下完成,所以这两条指令之间就存在相应的依赖关系。如果编译器无法有效识别指令之间存在的关系是否为依赖关系,那么就需要通过人工的方法对其进行明确,为编译器提供相应的记忆服务。在此,可以利用“restrict”的关键字输入方法对其进行声明变量的处理,或者可以利用命令优化的方法对编译器进行通知。Code Composer可以为其提供4条优化指令,第一是Level 0寄存器级别优化指令;第二是Level 1局部级别优化指令;第三是Level 2函数级别优化指令;第四是Level 3文件级别优化指令。结合相关基础对其进行分析,如果使用第三种方法可以实现简单便捷的操作,进而体现一步到位的特征。但是,在现实环境中,这一情况需要适时而定,很多比较大的应用系统并不支持第三种方式在其中应用,而且无法实现对大系统代码的优化,如果强行应用,甚至会导致大系统发生瘫痪和死循环的问题。所以,在对其进行应用的时候,需要结合实际需求对其进行性能的匹配分析,以此避免系统和程序发生不执行、执行混乱、系统崩溃等问题的发生。
  3.2 变量声明
  在进行函数调用的过程中,需要兼顾全局变量的关系,并且要尽量地去使用全局变量。这样,能够大大降低变量堆栈的问题,提升寄存器的应用效率,扩大寄存器的应用空间。除此之外,在Code Composer背景下对其进行全局变量的声明处理,或者利用初始化的方法,会导致双倍储存空间的占用。为了避免这一情况的发生,降低储存空间的占用量,需要本着节约资源的概念对其进行数据量的分析与研究,然后将数据量较大的内容通过特殊定义的方法进行空间资源占用的压缩。进而实现对变量声明的有效处理。在此,通过一组数据对其进行分析与解释。   如果通过常规方法对其进行理解和定义,那么:
  Biao_xyx[2] [5]={1.22, 3.55, 4.67, 9.53, 8.11, 6.97, 9.45,7.54,8.16,1.08);在编译完成之后对其进行查看,通过对.map文件的分析与研究发现,数据在.cinit段一共占据了12个字符空间,而在.bss段中一共占用了10个字符空间。
  如果通过特殊方法对其进行理解和定义,那么:
  Asm(“.global_biao_xyx“);
  Asm(“.sect\“.data_chabiaoV’‘);
  Asm(¨biao_xvx: .float l.22, 3.55, 4.67, 9.53, 8.1l“);
  Asm(“.float 6.97, 9.45, 7.54, 8.16, 1.08“);
  extern float biao_xyx[2][3];
  在编译完成之后对其进行查看,通过对.map文件的分析与研究发现,数据在.data_chabiao段中一共占用了10个字符的空间。
  3.3 应用TI提供的功能函数和固有函数
  TI在C语言的开发过程中能够为其提供较好的帮助与较大的支撑,且可以为C语言的开发带来具有实际应用价值的固有函数。如果在这一过程中应用了一半的C语言赌气进行函数编写,或者通过个人编写的方式对其进行设计,会在这个设计系统设计与开发过程中消耗更多的时间与精力,且会造成各种问题。最后,解决问题的时间、编译的时间、编译的准确性、问题的处理深度等均是后期程序应用的潜在威胁。为了避免这一情况的发生,需要应用TI提供的功能函数和固有函数对其进行相应的干预和处理。
  3.4 编写循环体
  在对数据进行处理的过程中,对于循环体的应用比较广泛,且应用的次数较多。循环体能够处理大量的数据信息,而且会耗费较多的时间。在此需要特别注意的问题有:在应用循环体对其进行程序编写的时候,切不可通过包含调用的方法对其进行系统设计与开发;在应用循环体对其进行设计的过程中,切不可在其中体现过多的指令和命令内容;在应用多重循环方法对其进行设计的时候,若内层循环体相对外层较短,需要建立全新的循环模式,放弃原有的循环体,通过内外结合的循环方法对其进行全新的设计与应用;在应用循环体的时候,需要将与循环无关的代码和语言进行相应的移植,使其处于循环体以外的部分。这样可以降低循环的时间,提升循环的效率与质量。
  3.5 浮点格式的转换
  为了让硬件设备得到更好的运行效率,实现更高的运行能力,TMS320VC33应用了浮点格式对其进行相应的支撑与帮助。在这一模式下,DSP系统软件的通信模块将会被大力开发,且会结合浮点格式对其进行数据处理与数据传输。在此,需要注意的问题有:切记在使用该系统的时候需要了解外部系统所应用的是什么格式,并且要对其进行及时的格式转换与处理,以此实现硬件设备的运行效率不受影响。
  4 总结
  研究结合‘rMS320VC33芯片的开发为大背景,分别研究了C语言的开发与架构方式,以及DSP嵌入式系统在应用过程中需要注意的问题有哪些。通过该方法能够为后续的系统开发与应用提供更多的帮助,进而满足研究人员对工作效率、系统运行能力等各方面的需求。
  参考文献:
  [1]边倩,林智慧.用C语言实现DSP程序设计的研究[J].电子技术与软件工程,2016(23):251.
  [2]王培人,李宝龙.基于DSP的NAND FLASH芯片控制实现[J].哈尔滨商业大学學报(自然科学版),2016,32(5):563-567.
  [3]徐哲,王中秀,全奎旺.嵌入式DSP系统C语言硬件编程技术探讨[J].科技传播,2016,8(2):153-154.
  [4]陶新民,李震,姜述杰.基于DSP和C语言的变压器振动信号采集与分析系统[J].应用科技,2015,42(5):1-5.
  [5]袁博文.基于嵌入式DSP系统C语言硬件编程技术浅谈[J].电脑迷,2017(12):61.
  [6]冯瑛敏.基于DSP的嵌入式IP语音通信系统设计与开发[D].长沙:湖南大学,2007.
  【通联编辑:代影】
  作者简介:殷莉(1980-),女,江苏常州人,硕士,副教授,研究方向为计算机信息化,软件;温赟(1979-),女,江苏常州人,高校副教授,硕士,研究方向:计算机信息化、电子商务。
其他文献
摘要:随着互联网的迅速发展,所带动的消费领域变革也日新月异,传统消费金融在“互联网 ”的环境下得到了创新,互联网消费金融也应运而生。大学生作为最有潜力的消费人群,在薄弱的经济基础上却有着极强的消费欲望,从而造就了互联网消费金融在大学校园中迅速成长。据调查,截至2019年,全国高校学生人数已达到4000多万人,超过7成的学生有网贷需求,潜在市场规模达到上千亿。因此,大学生群体一定是未来信贷和消费市
摘要:高校智慧校园建设是最近几年高校校园建设_[作中的一个重要内容,同时也是提升高校校园服务质量,增强高校校园管理强度的重要途径。受到信息技术的影响,现代高校教育管理工作遇到很大冲击和挑战,新时期要想让高校校园变得更加富有个性化和人性化的特点就必须努力打造以信息技术、网络技术为基础的智慧校园。本文将以高校智慧校园建设的现状及存在的问题作为出发点进行分析,重点结合实际存在的问题找到对应的解决方案。 
摘要:该文总结了我院信息管理与信息系统专业课程联动改革在《信息系统设计与开发》课程中的教学实践,结合管理科学与工程专业类教学质量国家标准,采用“P-D-C-A”思想在课程规划、课程实施、课程考核、课程反思四个环节的改革进行阐述。该项改革取得了良好的成效,强化了学生的信息技术应用能力,学生反馈良好。  关键词:信息系统设计;联动改革;信息技术应用能力  中图分类号:G642 文献标识码:A
摘要:基于移动平台的课堂教学模式将借助移动平台打破现有教学模式,实现课前监督,课中解决重点、难点,课后强化练习,任何一个环节都能有效监控学生的学习状态,并有效改进教学模式。  关键词:数字化教学资源;移动学习;评价体系  中图分类号:TP311文献标识码:A  文章编号:1009-3044(2020)25-0140-02  1引言  数据库原理与应用是计算机及其相关专业比较重要的一门专业基础课程,
摘要:本文使用LoadRunner 对开发的银行系统进行相应的性能测试。从性能需求分析出发,设计相应的测试用例,录制测试脚本并对脚本进行相应的二次开发,实现模拟真实多用户并发操作,设计场景并对场景进行合理配置,最后对测试运行结果进行整理并分析,得出系统性能指标的满足情况以及系统的瓶颈。  关键词:LoadRunner;脚本;性能测试  中图分类号:TP311 文獻标识码:A  文章编号:10
摘要:地方性石油文化作为中国传统石油文化的重要组成部分,在对其地域文化的利用与传承,当地石油产业的开发与推广等多方面开展中起到了关键性作用,通过以大庆地域为例的石油地域背景进行分析与探索,提出了地方性特色石油文化数据库的共建理念,为发展石油文化及地域性石油文化提供自己的建议与新想法。  关键词:石油文化;数据库;大庆;地域性  中图分类号:TP311 文献标识码:A  文章编号:1009-3044
摘要:在常规的程序设计教学中,递归算法能在运行过程中实现自我调用,能将大问题层层转化为小规模相似问题来进行求解,虽然其理解上抽象难懂但却能够轻巧地解决很多复杂问题,是结构化程序教学上重点和难点。通过对递归算法原理的分析,提出抓住三个要点及构造递归表达式的学习方法。结合Scratch简洁的编程风格,通过举例提出基于Scratch的递归算法教学引导思路,并分析探讨更有效的递归教学方法。  关键词:递归
摘要:随着智能终端的普及,移动互联技术蓬勃发展,将移动终端引入课堂以优化教学成了教育领域的一个热门话题,项目组成员将雨课堂智慧教学平台成功引入c程序设计课程教学,在基于雨课堂教学数据采集和分析的基础上,本文对混合式教学的效果进行了评价和分析。  关键词:移动终端;雨课堂;c程序设计  中图分类号:TP311 文献标识码:A  文章编号:1009-3044(2019)30-0149-03  1研究背
摘要:目前Office套件中的Excel和Access组件在职場中都是应用很广的办公软件,它们各自都有自己擅长的领域。在实际学习和使用过程中它们大多是被作为独立的学习对象进行的,本文利用实际案例来说明将Excel和Access结合起来解决问题,充分利用它们各自的长处,能够更好地解决问题、提高工作效率。  关键词:Excel;Access;数据处理;查询  中图分类号: TP311 文献标识码
摘要:线上线下混合式教学模式已经是高校目前教学流行趋势,而应用型高校更加注重学生动手能力,为使学生充分地利用在校时间自主学习,增强他们的实践能力,提高学习效果,以《C语言程序设计》课程为例,探讨基于微课的模块化教学设计,在模块化教学内容的基础上,设计录制相应的微课视频,运用现代教育技术实现线上线下混合式教学。  关键词:微课;模块化;C语言  中图分类号:TP311 文献标识码:A   文章