- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4. 多核烧写文件生成过程 4. 多核烧写文件生成过程 在core0的main函数中要增加写各辅核入口地址到相应的BOOT_MAGIC_ADDRESS 及触发IPC中断的逻辑,如图所示,否则多核不可能正常boot。 void MulticoreBoot() { int *pBootMagicAddCore0; int *IpcGr0; int i; int coreId = 0; coreId = platform_get_coreid (); if(coreId == 0) { pBootMagicAddCore0 = (int*)0x1087FFFC; /*core0 的magic address*/ *pBootMagicAddCore0=0 /*core0 的_c_int00 函数入口地址*/ /*此处写入各辅核的入口地址*,在此core1 的_c_int00函数入口地址/ *(pBootMagicAddCore0+04)=0x1180c300; /*core0发送IPC中断*/ IpcGr0 = (int*)0 for(i = 1;i CORE_NUM_6678;i++)//core0 sent ipc interrupt to { *(IpcGr0+i) = (*(IpcGr0+i)) | 0 } } } 可在转换工具链\spi_boot_suit_v2.3.1_release\2_ledtestprj\1.6678\src找到原版代码。 4. 多核烧写文件生成过程 四核烧写文件的生成 工具链选择:spi_boot_suit_v2.3.1_release?1_utilities ? 1.6678 ? multicore_boot_4cores 。 把要处理的四个.out文件粘贴到该文件夹下,依次修改文件名为simple0~simple3(必须为core序号一 一对应关系)。 点击该文件夹下的批处理文件: spiboot_multi_4cores.bat,生成镜像文件spirom_le.dat,即烧写文件。 C6678多核程序烧写固化 主要内容 可执行文件生成过程 1 多核烧写文件生成原理 2 多核烧写文件生成过程 4 多核烧写操作过程 5 多核Boot原理 3 1. 可执行文件生成过程 1. 可执行文件生成过程 一个Demo程序的生命周期一般是从C语言程序开始的,因为这种形式编写最为方便。为了在系统上运行Demo程序,其每一条语句都需要被转化为低级的机器指令(machine language),并按照一定格式打包以二进制磁盘文件存放,该形式的程序称为可执行目标文件(executable file),被加载到内存后,由系统运行。 在文本编辑器中编辑的源程序成为可执行目标文件需要经过四步处理:预处理(preprocesser)、编译(compiler)、汇编(assembler)以及链接(linker)。 1. 可执行文件生成过程 预处理阶段:预处理器根据字符#开头的命令修改C源程序,例如main.c中第一行#includestdio.h,告诉预处理器读取系统文件stdio.h中的内容并将其直接插入到程序文本中;而宏定义告诉预处理器将程序文本中对应的字符进行替换。 附带演示程序Demo,基于CCSv5开发平台编辑生成。 1. 可执行文件生成过程 编译阶段:编译器将预处理器输出的文件翻译成汇编语言程序(.asm)。汇编语言程序中的每一条语句都以一种标准的文本格式确切的描述了一条低级机器语言指令(参看参考文献[2])。汇编语言为不同高级语言的不同编译器提供了统一的输出语言。有时为提高程序的执行效率,程序员可以直接编写汇编程序文件(例如Demo程序中的sum.asm)。 1. 可执行文件生成过程 汇编阶段:汇编器将输入的汇编文本(.asm)逐条翻译成二进制机器语言指令,并把这些指令打包成可重定位的目标程序(relocatable object program),保存到各自的目标文件(.obj)中。该目标文件是二进制文件,它的字节编码是机器语言指令而不是字符,如果用文本编辑器打开.obj文件,将看到一堆乱码. 1. 可执行文件生成过程 链接阶段:通常,整个程序由多个.c文件组成,经过前面的
文档评论(0)