C多核程序烧写固化.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
会计学1C多核程序烧写固化 主要内容可执行文件生成过程1 多核烧写文件生成原理2 多核烧写文件生成过程4 多核烧写操作过程5 多核Boot原理3 第1页/共39页 1. 可执行文件生成过程第2页/共39页 1. 可执行文件生成过程 一个Demo程序的生命周期一般是从C语言程序开始的,因为这种形式编写最为方便。为了在系统上运行Demo程序,其每一条语句都需要被转化为低级的机器指令(machine language),并按照一定格式打包以二进制磁盘文件存放,该形式的程序称为可执行目标文件(executable file),被加载到内存后,由系统运行。在文本编辑器中编辑的源程序成为可执行目标文件需要经过四步处理:预处理(preprocesser)、编译(compiler)、汇编(assembler)以及链接(linker)。第3页/共39页 1. 可执行文件生成过程 预处理阶段:预处理器根据字符#开头的命令修改C源程序,例如中第一行#includestdio.h,告诉预处理器读取系统文件中的内容并将其直接插入到程序文本中;而宏定义告诉预处理器将程序文本中对应的字符进行替换。附带演示程序Demo,基于CCSv5开发平台编辑生成。第4页/共39页 1. 可执行文件生成过程编译阶段:编译器将预处理器输出的文件翻译成汇编语言程序(.asm)。汇编语言程序中的每一条语句都以一种标准的文本格式确切的描述了一条低级机器语言指令(参看参考文献[2])。汇编语言为不同高级语言的不同编译器提供了统一的输出语言。有时为提高程序的执行效率,程序员可以直接编写汇编程序文件(例如Demo程序中的sum.asm)。第5页/共39页 1. 可执行文件生成过程汇编阶段:汇编器将输入的汇编文本(.asm)逐条翻译成二进制机器语言指令,并把这些指令打包成可重定位的目标程序(relocatable object program),保存到各自的目标文件(.obj)中。该目标文件是二进制文件,它的字节编码是机器语言指令而不是字符,如果用文本编辑器打开.obj文件,将看到一堆乱码.第6页/共39页 1. 可执行文件生成过程链接阶段:通常,整个程序由多个.c文件组成,经过前面的处理生成各自对应的可重定位目标文件(.obj),程序调用了若干库函数(例如printf())也保存在经过单独编译汇编过的目标文件库(.lib)里。链接器在.cmd文件的指导下将这些文件合成一个可在系统上运行的可执行文件。第7页/共39页 1. 可执行文件生成过程链接阶段:编译器和汇编器生成从地址0开始的代码和数据节。链接器通过把每一个符号定义(在可重定位文件中,对程序外部文件的变量或函数的引用通过一个符号定义来表示)与存储位置联系起来(.cmd),然后修改这些符号的引用,使得他们指向这个存储器的位置(引用符号由引用变量或函数的具体存储器地址代替),从而实现重定义这些细节。最后链接器将经过重定位的各代码和数据节组成一个完整的可执行目标文件,加载到处理器中即可运行。(链接器的实现细节参看文献[1]的第7章 链接)第8页/共39页 2.多核烧写文件生成原理第9页/共39页 2. 多核烧写文件生成原理对于多核编程,各核源文件分别经CCS编译、汇编、链接为各自对应的.out文件,但该文件不能被直接烧写到外部Flash中,必须经过工具链处理为满足Bootloader的格式即如右图所示的镜像文件(.dat)。该文件经CCSv5自带的Flash烧写工程(my_SPI_modify)烧写到外部Flash,之后上电系统完成自举,程序正常运行。第10页/共39页 2. 多核烧写文件生成原理镜像文件就是用户要烧写到外部Flash上的全部数据文件,它是由Boot参数表(在文件前部)和应用程序的根表数据(文件后部)的合成数据文件。单核和多核的Boot参数表格式都一样,区别就是后部的根表数据。第11页/共39页 2. 多核烧写文件生成原理Boot 参数表占用8个字(32Bytes),位于镜像文件的开头。不同的字段具有不同的意义,用于指导启动过程。下表列出了SPI启动模式下参数表的配置寄存器。由于 SPI boot 是寄存器的直接读写,因此配 置过程中不会涉及到EDMA 寄存器的配置(因此前12个字段被忽略)。这些参数部分可以通过读取管脚配置来填充(参看参考文献[7],p.27-33),也可以被用户自定义修改。注意:无论是管脚配置还是参数表的书写都是为了生成boot 参数表。在我们的系统中是通过DSP外部13个配置管脚配置Boot参数的,所以.dat文件中的Boot参数表被忽略。第12页/共39页 2. 多核烧写文件生成原理单核根表:根表是应用程序的所有代码和数据以在片上占用地址来分段存储的数据包,包的第一个4B是core0程序中ma

文档评论(0)

kuailelaifenxian + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体太仓市沙溪镇牛文库商务信息咨询服务部
IP属地上海
统一社会信用代码/组织机构代码
92320585MA1WRHUU8N

1亿VIP精品文档

相关文档