• F28379D烧写双核程序(在线&离线)


    烧写双核程序前需知
    在分别对F28379D的CPU1和CPU2两个核进行烧写程序时,需要在CCS中建立两个工程,独立编写两个核的程序。如controlSUITE中提供的双核程序例程:


    1. 在线
    1.1 编译烧写CPU1程序到F28379D中


    1.2 编译CPU2程序,把生成的.out文件加载到CPU2中
    选中上图中红色框框中的Texas Instruments XDS100v2 USB Debug Probe_0/C28xx_CPU2 (Disconnected:Unknown),右键点击Connect Target连接上CPU2,如图:

    选定CPU2,在CCS菜单栏中选择"Run -> Load -> Load Program..."弹窗中选择编译好的CPU2的.aout文件


    点击ok烧录进去即可。

    1.3 运行双核程序

    上图中可以看出,Debug选项中选定的是CPU2,所以这个时候,点击播放按钮就是运行CPU2内的程序,若在Debug选项中选定的是CPU1,再次点击播放就是运行CPU1内的程序。

    2. 离线
    离线就涉及到烧写FLASH了,这个时候就需要更改一些配置了。
    首先看一张图:

    从图中可以看出,F28379D的CPU1和CPU2是各自配有一套FLASH、RAM和ROM在烧录烧程时两个核实分别烧写到自己所属下的存储位置去的,烧写程序的地方是没有共用部分的,双核之间的数据传输有一个专门的RAM供交换数据(黑色箭头所指的)。

    2.1 对CPU1烧写FLASH
    对于F28379D的离线烧写有两种模式,一种是FLASH,另一种是FLASH_STANDALONE(见下图)
    FLASH:支持CPU1离线运行程序
    FLASH_STANDALONE:支持CPU1离线运行程序,并可通过IPC控制启动CPU2
    对于CPU1,如图:

    通过以上步骤设置为FLASH_STANDALONE模式

    编译后烧录即可。不要点击运行
    注意,由于是烧写FLASH,所以一定要保证在烧写时不要干扰开发板,否则会容易导致烧写失败,造成FLASH锁定!

    2.2 对CPU2烧写FLASH
    对CPU1烧写完FLASH后不要运行,紧接着把cpu2的程序也配置为FLASH模式:
    CPU2的FLASH只有一种,没有STANDALONE模式

    编译后生成.out文件即可

    然后仿照在线烧写CPU2程序的套路把这个.out文件烧写进去即可
    烧写完的界面如下:

    全部烧写完不要点击运行,正确的顺序是点击红色的按钮断开连接,然后给开发板断电,上电后开发板就会运行双核CPU里面的程序。此时的CPU2就是通过IPC机制被CPU1控制启动的。

    板子的启动模式一定为从FLASH启动哦!
    Tip:
    若对CPU2设置为FLASH模式后,直接点击小虫子烧写FLASH,则会出现以下错误:
    C28xx_CPU2: Error occurred during flash operation: No core matches the pattern 'CPU1'
    所以,一定要通过load的方式烧写CPU2的FLASH程序


    2.3 小结
    以上是TI在controlSUITE中提供的例程,涉及到自己建立的工程脱机运行时,需要自己手动配置cmd文件和进行预定义了,不过既然你能撸到双核开发,想必脱机步骤你应该可以搞定的!
    多说一下,在选择不同的模式时,在Predefined Symbols下会有不同的预定义,这个是CPU1的程序,预定义中有CPU1,那么CPU2的程序中就应该有CPU2


    原文:https://blog.csdn.net/multimicro/article/details/84328254

  • 相关阅读:
    Net core 关于缓存的实现
    2018年自己的技术心得
    DataSet
    弹错:正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码
    c#中结构与类的区别
    TEQC使用说明
    TEQC软件及使用方法
    <深度工作>笔记
    Gtest学习系列三:断言
    Gtest学习系列二:Gtest基本介绍
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/10080907.html
Copyright © 2020-2023  润新知