blackfin应用程序开发基础知识

blackfin应用程序开发基础知识

ID:33860828

大小:173.28 KB

页数:15页

时间:2019-03-01

blackfin应用程序开发基础知识_第1页
blackfin应用程序开发基础知识_第2页
blackfin应用程序开发基础知识_第3页
blackfin应用程序开发基础知识_第4页
blackfin应用程序开发基础知识_第5页
资源描述:

《blackfin应用程序开发基础知识》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ABlackfinOnlineLearning&DevelopmentBlackfin在线培训课程课程单元:Blackfin®应用程序开发基础知识主讲人:JoeBeauchemin第一章:简介第1a节:课程安排第二章:VisualDSP++构建流程第2a节:C代码导入概述第2b章:编译器基础知识第2c节:连接器基础知识第三章:控制连接器第3a节:连接过程概述第3b节:连接器使用说明文件(LDF)第3c节:连接器的工作原理第3d节:优化连接器第3e节:ExpertLinker第4章:面向Blackfin处理器的C语言编程第4a节:概述第4b节:利用头文件第4c节:编写高

2、效率的C代码第五章:实例说明第5a节:OggVorbis概述第5b节:优化策略第6章:结束语第6a节:总结第一章:简介第1a节:课程安排大家好,欢迎参加“Blackfin®应用程序开发基础知识”课程。我是模拟器件公司(ADI)的Blackfin应用工程师,我的名字叫JoeBeauchemin。在今天这个单元,我们讨论的内容均基于VisualDSP++®开发环境。我们将讨论如何将现有的C语言程序代码直接导入Blackfin处理器,并在其上运行。与此同时,我们还要讨论软件开发流程和构建流程,即通过编译器和连接器,生成需要在©2006AnalogDevices,Inc.Bl

3、ackfin处理器上运行的可执行代码。我们还将讨论Blackfin编程过程中的一些特殊“陷阱”,并介绍一些在开发流程后期进行系统级优化测试时可以用到的基本代码优化策略。最后,我们将演示一种仅借助优化程序和启用指令高速缓冲存储器的极其简单的两步式优化策略。利用这个优化策略,用户可以轻而易举地实现代码优化。在课程安排方面,我们首先将介绍基于VisualDSP++开发环境的软件构建流程。其中,我们将特别介绍连接器——它可以说是整个开发流程中最为重要的组件。这是因为,只要理解了连接器,你就能在接下来的开发过程中,根据自己的需要,将代码和数据映射到适当的存储空间中,充分实现系统

4、级优化。为此,我们还要介绍连接器的使用说明文件。之后,我们将讨论一些适用于Blackfin处理器的C语言编程技巧,这些是针对Blackfin处理器编程的专门知识。最后,我们将介绍几种创建高效率C代码的方法,并演示一个实例——直接利用从网络下载的代码,在VisualDSP++开发环境下构建应用程序。第二章:VisualDSP++构建流程第2a节:C代码导入概述首先,我们要介绍基于VisualDSP++开发环境的软件构建流程。如果用户导入Blackfin处理器的C代码能够兼容ANSIC语言,那么,就能直接在Blackfin上进行构建并执行这个“现成的”代码程序。由于Bla

5、ckfin处理器的片上内存空间是有限的,所以,当代码很大时,其运行速度就会很慢。如果代码非常大,超过了内存容量,就会溢出至外接SDRAM存储器,而这个接口显然会降低代码的运行速度。在开始进行编程时,所有优化选项均默认设置为关闭状态。因为在优化状态下,很难对代码进行调试。因此,生成的代码将是未经优化、但功能健全的。此外,处理器将采用默认时钟设置,并且关闭指令高速缓冲存储器。本幻灯片列出了在软件开发流程中需要使用的文件类型。在最左侧的是源文件(C语言文件或汇编语言文件),这些文件将与C运行头(称为“basiccrt.s”)一同输入编译器。待会,我们将单独讨论这个运行头。编

6、译器和汇编器将生成扩展名为.doj的对象文件。这些对象文件包含了连接器对应用进行解析,并将其映射至相应存储段所必须的所有信息。从根本上讲,对象文件中的所有代码和数据都具备标签信息。连接器将利用这些对象文件、第三方库代码或者用户自己生成的库代码(通称为“DLB文件”)以及连接器使用说明文件(我们称之为“LDF文件”),解析所有这些标签信息,并生成被称为“DXE文件”的可执行文件。实际上,我们将在EZ-KITLite™评估板上运行这个可执行文件,所以,今天的课程将以此结束。这个可执行文件可以在目标处理器或模拟器上运行,而在一个“最终应用”中,光有这个可执行文件还不够,用户

7、还需要借助其他组件,将这个可执行文件从外接存储器中映射至适当的内存区。这个文件被称为“引导映像”,即,加载程序文件。这个加载程序文件可能还需要调用一个被称为“引导代码”的组件,即一个单独的DXE文件。因为,如果代码溢出至外接存储器,那么,硬件就必须在向该存储器导入数据之前,对其进行初始化。因此,在最终完成的应用软件中,必须将这个“初始化代码”或“引导©2006AnalogDevices,Inc.代码”置于可执行代码之前。前面我已经说了,今天的课程将从源文件开始,到可执行文件结束。第2b章:编译器基础知识在上一张幻灯片中,我曾提到名为basiccrt.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。