Specifications | Microsoft Word - Basics of Building a Blackfin Application.doc JMitch2 |
Business section |

Specifications | Microsoft Word - Basics of Building a Blackfin Application.doc JMitch2 |
Business section |
Specifications | Microsoft Word - Basics of Building a Blackfin Application.doc JMitch2 |
Suggested Link Details/Purchase | |
Content | © 2006 Analog Devices, Inc. 代码”置于可执行代码之前。前面我已经说了,今天的课程将从源文件开始,到可 执行文件结束。 第2b章:编译器基础知识 在上一张幻灯片中,我曾提到名为basiccrt.s的C运行头。这个组件有什么用?C运 行头负责设置处理器的C运行时间、堆栈指针和启用周期计数器;如果需要使用数 据和/或指令高速缓冲存储器,C运行头还提供了一个设置向导,引导用户配置高速 缓存;此外,用户还可以利用C运行头,更改芯片的时钟频率和电压设置。用户可 以在开发后期,通过“Project Options(项目选项)”窗口,修改C运行头。此外,当 用户打开项目向导时,C运行头也将启动,如左侧窗口所示。如果在这个对话框中 选择了“Yes(是)”,并单击“Next(下一步)”,那么,这个启动向导将显示一系 列选项设置界面,引导用户完成高速缓存配置和所有相关设置。 那么,这个软件构建流程将从哪里开始入手?首先,是位于左侧的C语言文件, 即,cFile1.c。其中,我只定义了一个简单的主函数,以及一个被称为func1的函 数。我们将这个C语言文件导入C编译器,然后,这个编译器将生成一个扩展名为.s 的中间文件。在这个过程中,编译器负责将C源代码转译成Blackfin处理器运行这 个程序所需的汇编代码。汇编器利用这个汇编代码,生成对象文件(如右侧方框所 示),其中包含标签信息。这个是名为“program(程序)”的对象段,对于所有用 户未明确指定其代码段名称的代码,编译器将默认向其分配“program”代码段名 称。这些是我们刚才定义的主函数和func1函数的汇编代码。此外,下面是一个堆 栈段。这个堆栈段里保存了本地变量和其他帧指针及堆栈指针信息,以及C运行时 环境自动备份和恢复的寄存器。 在上一张幻灯片中,我们介绍了名为“program”的编译器生成对象段。这张幻灯片 列举了几种编译器自动生成的标签类型。凡是与代码相关的数据,都被命名为 “program”,凡是全局公告的数据都被命名为“data1”。在这张幻灯片列出的标签类 型中,这两个代码段名称最为重要。因为,连接器要利用这些标签,解析用户输入 的所有对象文件,以生成可执行文件。用户也可以自定义代码段名称,这张幻灯片 举例说明了如何命名代码段。这里,在左侧的源代码中,我们仅通过扩展名 “section(”sdram0”)”,告知编译器,希望将这个整数阵列标签为“sdram0”,而不 是将其解析为通常会被映射到外接SDRAM存储器中的“data1”代码段。同样地,用 户可以灵活地命名代码。在本例中,我们将被称为“bar”的函数的代码段命名为 “L1_code”。然后,这些源代码将经由编译器和汇编器,生成右侧所示对象文件。 在这些对象文件中,你会看到“sdram0”标签和一个整数阵列;下面是一个名为 “L1_code”的对象段,这些是“bar”函数的汇编代码;再下来,是堆栈段。 在上一张幻灯片中,我们之所以要使用标签“sdram0”和“L1_code”是因为,在连接 器使用说明文件中,我们已经指定了用户可用于替代编译器生成的标准代码段名称 的代码段名称。也就是说,“sdram0”适用于命名希望将其保存到外接存储器中的任 何代码或数据,而“L1_code”则适用于命名明确希望将其映射至片上内存的代码, |
Navigation | Previous Page / Next Page |
Suggested Link Details/Purchase | |
Following Datasheets | CH_CHS-134 (3 pages) CH_CHS-137 (3 pages) ch_development_video_app_transcript (11 pages) ch_intro_to_NI_Labview_for_blackfin_transcript (16 pages) ch_intro_to_VDK_transcript (9 pages) ch_intro_visualDSP_transcript (8 pages) ch_performance_tuning_blackfin_transcript (14 pages) ch_programming_optimizing_c_code_transcript (23 pages) cia_wmd-report_jan_jun2003 (11 pages) CIDM_USA_1 (6 pages) |
Check in e-portals![]() |
World-H-News Products Extensions Partners Automation Jet Parts |
Sitemap Folder | group1 group2 group3 group4 group5 group6 group7 group8 group9 group10 group11 group12 group13 group14 group15 group16 group17 group18 group19 group20 group21 group22 group23 group24 group25 group26 group27 group28 group29 group30 group31 group32 group33 group34 group35 group36 group37 group38 group39 group40 group41 group42 group43 group44 group45 group46 group47 group48 group49 group50 group51 group52 group53 group54 group55 group56 group57 group58 group59 group60 group61 group62 group63 group64 group65 group66 group67 group68 group69 group70 group71 group72 group73 group74 group75 group76 group77 group78 group79 group80 group81 group82 group83 group84 group85 group86 group87 group88 group89 group90 group91 group92 group93 group94 group95 group96 group97 group98 group99 group100 Prewious Folder Next Folder |