- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TMS320C6678的EMIF16NORFlash程序自加载的实现.doc.doc
TMS320C6678的EMIF16 NOR Flash程序自加载的实现
一.C6678的加载综述
C6678的加载实质上就是将各核的代码按段分别写到各自的L2 SRAM.这个过程的实现可以用很多种方式,于是就有了多种bootmode,比如EMIF16 boot、SRIO boot、Ethernet boot、PCI boot、SPI boot、Hyperlink boot等,这几种加载方式虽然过程不尽相同,但是目的是一样的。
在C6678的地址空间0x20B00000到0x20B1FFFF间集成了128K的内部ROM。此ROM中固化了一段叫作“boot loader”的引导代码,它的主要作用是在C6678上电时,对C6678进行必要的配置,以便辅助EMIF/PCI/SRIO等接口进行加载;另外,它还可以将代码从外部存储器读到内部L2 SRAM,以完成代码加载。
C6678有8个核,但Rom code只有一份,因此8个核统一执行Rom code的代码,Rom code 会根据核号(即DNUM)进行不同的分支。对于core0来说,它主要是读取DEVSTAT 寄存器(反映加载模式以及一些参数配置,具体是由Bootmode pin[12:0]设置)的加载模式,并根据当前加载模式进行一些接口的初始化和PLL的配置,还要根据加载模式决定是否搬移数据,若需要搬移,比如SPI boot,就要将SPI外接ROM的代码按段加载到C6678的内存中。若不需要搬移,比如EMIF16加载,就直接跳到EMIF16外接Nor Flash的起始地址开始执行。对于其它的7个核来说,它们主要是挂载IPC中断,然后进入IDLE状态等待core0发过来的中断。中断一到,就跳到入口地址开始执行程序。
二.C6678的EMIF16加载过程
1.core0加载
C6678的EMIF16加载是一种直接从Nor Flash(必须挂在CE2空间:0加载core0的模式,不需要I2C EEPROM的参与,由Rom code初始化EMIF16接口,并且由于EMIF16外接Nor Flash是一种XIP器件(即可以在芯片内执行),因此直接跳到Nor Flash的起始地址处开始执行。
为了将Nor Flash中的代码搬移到C6678 的core0的L2 SRAM中,需要在core0的待加载工程中编写引导代码,此引导代码的作用就是将core0的代码按段加载到内存中,最后跳到入口地址处开始执行。此段引导代码用汇编语言编写,命名.bootload段,放在L2 SRAM的前1KB空间,并烧写到Nor Flash的前1KB空间,应用代码放到1KB后面,如下图所示Nor Flash代码格式:
图1 Nor Flash空间分配
2.core0加载其它核
在多核加载过程中,core0是主核,core1~core7是从核,由core0加载其???核的代码,具体步骤是:
1) 上电后,core0完成程序加载,并跳到入口地址开始执行程序。
2) 在core0主程序中,core0从Nor Flash中读取core1的代码,并按段加载到core1的L2 SRAM,然后将core1程序的入口地址写到core1的BOOT_MAGIC_ADDRESS,即L2 SRAM的最后4个字节地址:0x1187FFFC,最后向core1发送IPC中断,既写寄存器IPGR1=0x1,其它核的加载过程一样。
具体程序流程图为:
图2 EMIF16多核加载过程
各个核的Nor Flash空间分配如下:
起始地址结束地址长度Core000x701FFFFF2MBCore100x703FFFFF2MBCore200x705FFFFF2MBCore300x707FFFFF2MBCore400x709FFFFF2MBCore50x70A000000x70BFFFFF2MBCore60x70C000000x70DFFFFF2MBCore70x70E000000x70FFFFFF2MB
您可能关注的文档
- Levo大容量手动移液器-大龙仪器.doc
- LifeKeeperv4.1.1forWindows2000安装指南-HPECommunity.doc
- Lii-260充电器说明书B.doc.doc
- linux内核模块设计.ppt.ppt
- Linux桌面开发以及社区发展-deepin.ppt
- linux系统的文件系统.ppt
- Linux课件汇总.ppt-LinuxTone.Org.ppt
- LO_NP2004_C01_1TD-LTE网络仿真技术.ppt
- LS2326SG简易手册.doc-Gohigh-大唐高鸿.doc
- LTE之安全机制-教育部行动宽频尖端技术跨校教学联盟行动宽频网路.ppt
- DeepSeek培训课件入门宝典:第2册 开发实战篇 .pptx
- 全面认识全过程人民民主-2024春形势与政策课件.pptx
- 2024春形势与政策-全面认识全过程人民民主.pptx
- 2025年春季学期形势与政策第二讲-中国经济行稳致远讲稿.docx
- 2024春形势与政策-铸牢中华民族共同体意识课件.pdf
- 2024春形势与政策-走好新时代科技自立自强之路课件 (2).pptx
- 2024春形势与政策-走好新时代科技自立自强之路课件.pptx
- 形势与政策学习指导教学-整套课件.pdf
- 2023年春季形势与政策讲稿第三讲-开创高质量发展新局面.pdf
- DeepSeek培训课件-清华大学-DeepSeek模型本地部署与应用构建.pptx
文档评论(0)