C66x C6678 共享内存 核间同步 核间通信 整理

目录

1.核间同步机制:

2.使用共享内存实现核间同步

3.核间通过IPC中断+共享内存 实现核间通信;

4.将变量或者函数映射到固定位置的方法:


1.核间同步机制:

共用Timer + 硬件中断+Notify:

具体实现:同步主核心配置一个共用Timer,从核绑定共用timer 对应的中断,主核等待全部从核通过Notify发出到达同步点的通知,到达同步点主核开启timer,所有从核都会触发中断,从而达到同步的效果。

该方案可以拓展成没有主核心参加的同步,不同核心进行不同的同步动作等(例如123 ,456分别进行同步)。

在设计函数的时候应该考虑:

  1. 同步核心连接状态的检测(Notify模块需要连接才能使用);
  2. 主核与当前核心的关系;
  3. 同步核心发出的Notify中断没有被响应的情况;
  4. 同步接口如何对传入的核心参数进行解析。、
  5. Timer使用之后需要马上关闭;
  6. 主核没有参与的情况下如何同步。

可以参考下面我的代码:

在该机制下核间传递消息可以通过SharedRegion模块实现。

2.使用共享内存实现核间同步

把指定变量放到共享内存上,通过各个核心对共享内存上的值进行反复查询,确定同步完成;:

  1. 缓存一致性问题;
  2. 对共享内存的访问是有总线仲裁机制的,如何确保清除标志位时别的核心已经完成同步;

3.核间通过IPC中断+共享内存 实现核间通信;

将不同核心的变量映射到统一地址上,使用IPC对核心进行通知通信核心,将消息取出。

4.将变量或者函数映射到固定位置的方法:

  1. 在内存中新建Segment

  1. 将section映射到Segment,

  1. 将代码或者函数映射到section。有如下两种方法

  • 1
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
冃录 11录 ...............................................................3 C6678运行Dem o详解.......................................... 7 1 ・ intc_b「oadcast_ 1 ...................................................................................................... 7 I」功能描述........................................................7 1.2变最定义及使用空间分配.........................................7 1.3实现流程........................................................7 1.4注意事项........................................................9 2. D D R 3......................................................................................................................10 2 .1 功能描述....................................................... 10 2.2变量定义及使用空间分配........................................ 10 2.3实现流程....................................................... 10 2.4注意事项....................................................... 11 3. ipc一 navigator.......................................................................................................... 12 3」功能描述....................................................... 12 3.2变最定义及使用空间分配........................................ 12 V 3 .3 实现流程....................................................... 12 3.4注意事项....................................................... 14 4. emif_nandflash....................................................................................................... 14 4 J 功能描述....................................................... 14 4.2变量定义及使用空间分配........................................ 14 4 .3 实现流程....................................................... 14 4.4注意事项....................................................... 15 5. emif_norflash......................................................................................................... 16 5」功能描述....................................................... 16 5.2变最定义及使用空间分配........................................ 16 5.3实现流程....................................................... 16 5.4注意事项....................................................... 17 6. hyperlink................................................................................................................ 17 6」功能描述....................................................17 6.2变量定义及使用空间分配......................................17 6 .3 实现流程....................................................17 6.4注意事项.................................................... 18 7. i2c_eeprom............................................................................................................. 19 7」功能描述.....................................................19 7.2变最定义及使用空间分配......................................19 7.3实现流程.................................................... 19 7.4注意事项....................................................20 8. i2c_srioswitch........................................................................................................20 & 1功能描述....................................................20 8.2变量定义及使用空间分配......................................20 8.3实现流税.........:............................. =21 8.4注意事项....................................................21 9. sem 2....................................................................................................................... 21 9」功能描述.................................................... 21 9.2变虽定义及使用空间分配......................................22 9.3实现流程....................................................22 9.4注意事项....................................................23 1(). srio...........................................................................................................................24 10」功能描述...................................................24 10.2变暈定义及使用空间分配.....................................24 10.3实现流程...................................................24 10.4注意事项...................................................27 11. tim er....................................................................................................................... 28 11」功能描述...................................................28 11.2变最定义及使用空间分配.....................................28 11.3实现流程...................................................2911.4注意爭项......................................................30 12. SPI_FPGA.............................................................................................................. 30 12」功能描述......................................................30 12.2变量定义及使用空间分配.......................................30 12.3实现流程......................................................30 12.4注意爭项......................................................31 13. SPI_nortlash...........................................................................................................31 13」功能描述......................................................31 13.2变量定义及使用空间分配.......................................31 13.3实现流程......................................................31 13.4注意爭项......................................
C66x是德州仪器(Texas Instruments)推出的一种高性能的数字信号处理器(DSP)系列,用于嵌入式系统中的实时信号处理应用。而bootload则是指在系统启动时加载和运行操作系统或应用程序的过程。 C66x bootload是指C66x DSP芯片的启动加载过程。在开机或重启时,C66x DSP芯片需要加载引导程序(bootloader)来初始化硬件设备、设置存储器和加载操作系统或应用程序。 C66x DSP芯片的bootload过程通常分为以下几个步骤: 1. 引导加载:C66x DSP芯片通过引导ROM中的引导加载程序,从外部存储器(如闪存或SD卡)中加载引导程序到DSP内部的存储器。 2. 硬件初始化:引导程序首先会初始化DSP芯片的外设和内存控制器,包括设置时钟、中断控制器、存储器映射等,为后续的操作系统或应用程序做准备。 3. 操作系统加载:引导程序根据配置文件或固定地址,从外部存储器中加载操作系统镜像或启动文件到DSP内存中,为后续的操作系统启动做准备。 4. 启动操作系统:引导程序最后会将控制权转交给操作系统,使其开始运行。操作系统可以是实时操作系统(RTOS)或其他适用于C66x DSP芯片的操作系统。 C66x bootload的目的是确保硬件设备正确初始化,并提供一个加载操作系统或应用程序的框架。通过可靠的引导加载过程,C66x DSP芯片可以在启动时完成必要的准备工作,并成功启动所需的软件,实现实时信号处理应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值