发新帖我要提问
12
返回列表
打印
[STM32H7]

【STM32H745I-DISCO试用】双核共享外设

[复制链接]
楼主: BinWin
手机看帖
扫描二维码
随时随地手机跟帖
21
phoenixwhite| | 2025-4-10 20:38 | 只看该作者 回帖奖励 |倒序浏览
两个内核共享同一块内存区域,用于传递外设数据或状态信息。

使用特权

评论回复
22
modesty3jonah| | 2025-4-10 21:10 | 只看该作者
双核消息队列或共享内存,避免直接访问对方的外设寄存器。

使用特权

评论回复
23
geraldbetty| | 2025-4-10 22:13 | 只看该作者
合理设置两个内核的中断优先级,防止一个内核的中断打断另一个内核正在进行的外设访问操作。

使用特权

评论回复
24
janewood| | 2025-4-10 22:47 | 只看该作者
在使用外设资源时,内核需要获取互斥锁,使用完毕后释放互斥锁。

使用特权

评论回复
25
wangdezhi| | 2025-4-12 21:01 | 只看该作者
可以在一个内核中设置中断标志,另一个内核在检测到中断标志后进行相应的处理。

使用特权

评论回复
26
uytyu| | 2025-4-13 10:49 | 只看该作者
互斥锁可以确保同一时间只有一个内核可以访问某个外设资源。

使用特权

评论回复
27
wangdezhi| | 2025-4-13 11:37 | 只看该作者
当一个核心需要使用共享外设资源时,它通过HSEM发送请求信号。如果资源可用,另一个核心会释放该资源,并将控制权交给请求的核心。这样,可以有效地避免多个核心同时访问同一资源而导致的数据冲突或竞争问题。

使用特权

评论回复
28
旧时光放映机| | 2025-4-13 13:48 | 只看该作者
非常详细的分享!通过资源管理器模块实现双核共享外设的方法确实很实用

使用特权

评论回复
29
ingramward| | 2025-4-13 14:03 | 只看该作者
借助消息队列来实现两个内核之间的通信。一个内核把对外设的操作请求放入消息队列,另一个内核从消息队列中取出请求并执行。可以使用 RTOS(实时操作系统)提供的消息队列功能来实现。

使用特权

评论回复
30
uiint| | 2025-4-13 15:15 | 只看该作者
某些外设可能为每个核提供独立的内存映射,以减少访问冲突。

使用特权

评论回复
31
nomomy| | 2025-4-13 15:33 | 只看该作者
在使用双核共享外设资源之前,需要对硬件信号量进行初始化。这通常在系统启动时完成,确保两个核心都能正确识别和使用HSEM。

使用特权

评论回复
32
sheflynn| | 2025-4-13 16:48 | 只看该作者
在某些情况下,可以使用中断同步机制来协调两个内核对外设资源的访问。

使用特权

评论回复
33
鹿鼎计| | 2025-4-14 07:20 | 只看该作者
两个核心共用一个时钟源,得确保配置对齐,否则可能闹钟不同步。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则