双核启动简介

  • DSP的上电过程、Boot Mode以及Boot Loader
  • 双核的调试、烧写
  • 参考资料目录

DSP的上电过程、Boot Mode以及Boot Loader

对于双核DSP上电后,启动运行的顺序如下所示:
系统复位或者重新上电之后,CPU2系统一直处于复位状态。CPU1系统会自动跳转到地址0x3FFFC0中获取复位向量,复位向量的目的就是为了使得系统自动跳转到0x3F8000地址上,开始执行Boot ROM 段中存储的Boot loader代码段。对于CPU1而言,CPU1的Boot ROM段中的Boot loader程序首先会从TI-OTP内存段中获取设备的配置字,并配置好器件。

Boot Loader开始执行DCSM和OTP JTAGLOCK流程。DCSM流程:(1)读取OTP中的Zx_poinyer;(2)解码指针值;(3)度去除TI-OTP中的SECDC;(4)读取Zx BOOT模式;(5)读取ZX DCSM模块。

Boot Loader检测FUSEERR寄存器中是否存在错误标志位,并采取错误处理机制。之后初始化RAM和内存端的ECC/PARITY。CPU1将引导CPU2系统跳出复位操作,之后便不管CPU2的运行状态。

CPU1系统的Boot Loader将会根据外部的GPIO和XRST(一般链接下载器才会有)来确定程序的启动方式是从Flash启动还是RAM启动,或者是在XRST为低的情况下,根据PIE向量表(地址为0xD00)的第一个32位的值来确定启动方式(一般是链接了下载器的情况)。确定完之后,CPU1的Boot Loader代码段会将各种信息都更新到指定的RAM段中,以便于CPU1的程序去读取这些状态字。

此时按照启动方式开始跳转程序,如果是Flash启动则将程序指针跳转到Flash的起始地址:0x80000,如果是Ram启动则将程序指针跳转到Ram段的起始地址:0x00000,同时结束Boot Loader并进入CPU1的主程序。
如果此时的启动方式是外设启动,那么Boot Loader则会等待外部程序按照一定的格式将程序加载到Ram中,程序代码传输完成之后,跳转到运行指针开始运行程序代码段。

此时CPU1的Boot Loader完成使命,已退出,并开始执行CPU1中的用户程序。此时的CPU2系统退出了复位状态,仍然在等待启动模式确定,需要CPU1的用户程序来引导CPU2的引导,如果是CPU2也从Flash启动,则通过IPC Command即可触发,但是如果CPU2也需要从外设启动,则需要CPU1首先设置好外设的引脚,之后再触发CPU2开始接受程序。

双核的调试、烧写

TI公司C2000Ware给出的例程,可以学习创建CPU1与CPU2的工程,修改工程属性,设置Predefined Symbols(区分CPU1、CPU2,选择烧写方式),添加头文件路径,使用cmd等
CPU1有三种工作方式:CPU1_RAM_DEBUG、CPU1_FLASH_DEBUG、CPU1_FLASH_STANDALONE。
CPU2有两种工作方式:CPU2_RAM、CPU2_FLASH。尽管双核共享系统的外设,但是作为主核的CPU1可以通过IPC控制CPU2从何引导启动。
只需要在CPU1的工程中添加:

#ifdef _STANDALONE
#ifdef _FLASH// Send boot command to allow the CPU2 application to begin executionIPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);
#else// Send boot command to allow the CPU2 application to begin executionIPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_RAM);
#endif
#endif

双核的调试可以按下方配对:
①CPU1_RAM;仅使用CPU1在线调试,CPU2闲置。
②CPU1_FLASH;仅使用CPU1烧写,CPU2闲置。
③CPU1_RAM<->CPU2_RAM;CPU1与CPU2一起在线调试。
④CPU1_FLASH_STANDALONE<->CPU2_FLASH。CPU1与CPU2一起烧写,CPU2的Boot由CPU1工程中设置IPC。

参考资料目录

《TMS320F2837xD Dual-Core Microcontrollers Datasheet》Memory章节
《TMS320F2837xD Dual-Core Microcontrollers Technical Reference Manual》System Control、ROM Code and Peripheral Booting章节

DSP28379D_双核启动简介相关推荐

  1. u-boot分析之启动简介(一)

    目录 u-boot启动简介(一) 启动概述 内部存储布局 Bootloader概述 内核启动参数 taggedlist 体验一下实际的Uboot U-boot的使用帮助 U-boot基本要求 u-bo ...

  2. Android以太网框架情景分析之启动简介

            Android以太网框架情景分析之启动简介 Android网络框架分析系列文章目录: Android P适配以太网功能开发指南 Android以太网框架情景分析之启动简介 Androi ...

  3. 第九节,ZYNQ的双核启动

    ZYNQ的双核启动 1 双核运行原理 ZYNQ是一种主从关系的AMP架构,通过松散耦合共享资源,允许两个处理器同时运行自己的操作系统或者裸机应用程序,在各自运行自己的程序或者系统的时候,可以通过共享内 ...

  4. Android-0.AMS初始化和启动简介

    文章目录 1.Activity Manager简介 2.AMS 的启动和初始化过程 2.1.AMS 所在的system进程 2.1.AMS 初始化流程 2.2.AMS 启动流程 2.3.AMS 的 s ...

  5. MPC5746C双核启动配置分析

    MPC5746C内部集成了一个BAF(Boot Assist Flash)小工具(代码)(这个有点像Bootloader),BAF主要用于管理多核CPU的启动,其原理是寻找特定地址的启动头,查看并根据 ...

  6. cortexM3启动简介

    一.nxp 1853系列启动流程 1.上电复位后使用内部IRC 12M振荡源作为时钟.程序指针指向0x00000000处. 2.将bootrom地址映射到0x00000000处.不用执行该步骤,上电时 ...

  7. SpringBoot杂货铺开源项目启动简介

    最近越来越多的小伙伴开始找博主要免费的源码啦,看来博主的源码对大家还是很有帮助的

  8. ce玩家_当玩家选择错误时

    ce玩家 You may have heard about the recent controversy surrounding Assassin's Creed Odyssey. Specifica ...

  9. 扩展中断控制器8259实验_「正点原子FPGA连载」第十三章双核AMP实验

    1)摘自[正点原子]领航者 ZYNQ 之嵌入式开发指南 2)实验平台:正点原子领航者ZYNQ开发板 3)平台购买地址:https://item.taobao.com/item.htm?&id= ...

最新文章

  1. 刚装oracle, 熟悉一下命令
  2. css和HTML布局小技巧
  3. sourceTree
  4. java 静态方法中为什么不可以使用关键字this _super_Java static方法里为什么不能使用this关键字,和Super...
  5. 计算机视觉概述:视觉任务+场景领域+发展历程+典型任务
  6. jqGrid表格展示简单实例
  7. bochs安装win98
  8. 花体字转换器微信小程序源码支持多种花样字体不同风格
  9. Flink系列:物理分区分组broadcast、global、shuffle、forward、rebalance、rescale理解与实战
  10. MySQL容器部署及数据持久化(主从复制)
  11. 西安理工大学计算机科学与技术分数线,2017西安理工大学各专业录取分数线
  12. 关于钢琴学习的若干问题的混蛋解答 【2014/1/29更新,未完待续…………】
  13. 爬虫 - 提高爬虫效率的方法
  14. 3dmax渲染软件有哪些?哪个好用
  15. mysql报错:1406, Data too long for column
  16. VIRTIO 前后端驱动中 GPA,HVA 转换原理
  17. 对图片进行剪切,保留原始比例
  18. php 计算时间差,php 怎么计算两个时间的时间差?
  19. 鸭子心包积液发病比较多是因为什么该怎么治疗
  20. API ShowWindow

热门文章

  1. 网络工程管理 第七章 应用层协议 万维网 DNS 电子邮件 FTP DHCP TELNET
  2. 一个菜鸡的ACM之路
  3. 540 万元!全球第一辆会飞的“自行车”:能飞 40 分钟,却不能上路?
  4. ZZULIOJ:1001植树问题
  5. 令牌桶生成令牌_使用令牌的经典ASP登录系统
  6. 【工程源码】stmdb和ldmia汇编指令
  7. 商城运费模板数据库简单设计思路
  8. CSS控制,彩色图片变灰色
  9. 百度之星2017资格赛1003 度度熊与邪恶大魔王
  10. ASPWEB编程开发常用的代码