完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
一直在和C66系列打交道,有些经验理解,和大家分享,可能会有些纰漏,欢迎探讨:)
C66的硬件信号量用于保护核间的零界资源,C6678有64个硬件的信号量,可工作在以下三种模式下: 直接模式:如果硬件信号量可用,则返回0x1并获得信号量;如果信号量不可用,则返回占用当前信号量的核号,然后立即就退出。 非直接模式:如果信号量可用,则返回0x1并获得信号量;如果不可用,则此核必须持续申请直到获得信号量为止。所有对此硬件信号量的申请都进入一个先进先出队列,进行排序。 组合模式:如果硬件信号量可用,则返回0x1并获得信号量;如果信号量不可用,则返回占用此信号量的核号,并向占用此信号量的核发去申请,如果申请被占用信号量的核允许,则可立即获得信号量。 C66x系列中,核间共享资源,经常会用到spin_lock(),那spin_lock()的底层是如何实现的呢? 主要通过硬件信号量实现,硬件信号量用于保护不同核间,以及核与外设之间的资源共享/同步。 在C66x中硬件信号量有下面三种类型: OSEck中的spin_lock使用第一种模式(直接模式),然后在软件上使用循环。 有问题欢迎探讨。 William.dong@enea.com |
|
相关推荐
2个回答
|
|
|
|
|
|
你好,我最近也在看这个硬件信号量。希望可以多多交流。
一下几点和您写的不太相同,希望进行探讨: 1.c6678应该只有32个硬件信号量,因为看了csl中关于硬件信号量的寄存器定义只有32个。 2.关于非直接模式的描述,通过一次获取后,申请者不需要一直进行获取,在调用此接口并且当前信号量不是free的时候,系统中会进行记录,当此硬件信号量可用时,系统会把此信号量的拥有者设置为在排队的第一个申请者,并给申请者发送0x10号中断,申请者收到中断后,就可以确定自己已经获得了硬件信号量。另外,非直接的方式是没有返回值的。 3.关于组合模式,只是将直接和非直接获取的模式进行了合并,有返回值,并且如果没有立即回去可以接受信号量中断。 |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
666 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
597 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1047 浏览 1 评论
730 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
519 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
157浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
119浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
123浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
121浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
163浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 00:34 , Processed in 0.781600 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号