VxWorks 驱动中用了DMA,所以需要手动invalidate和flush cache。在单核模式下可以运行的驱动,在SMP多核模式下却会出现问题,SMP下cache需要特别注意什么吗?
1条回答 默认 最新
- ChatGPTᴼᴾᴱᴺᴬᴵ 2023-07-12 14:06关注
该回答引用NewBing,仅供参考,不保证完全正确
您好!在SMP多核模式下,cache需要特别注意以下几点:
- 在SMP多核模式下,每个CPU的cache都要处于使能状态,不可禁用。
- 在SMP多核模式下,调用cacheEnable()总会返回OK,而调用cacheDisable()总是返回ERROR。ERRNO是S_cacheLib_FUNCTION_UNSUPPORTED。
- 为了确保硬件cache一致性,在SMP多核模式下调用cacheInvalidate()和cacheFlush()时,它们不会进行任何操作除了返回OK。
这里有一些参考资料可以帮助您更好地理解和实现:
- VxWorks 7 Symmetric Multiprocessing - Wind River Education Services
- vxWorks SMP 多核编程_VxWorks_developer的博客-CSDN博客
- 基于Zynq7000平台VxWorks6.9开发应用——SMP多核任务篇
源: 与必应的对话, 2023/7/12
(1) VxWorks 7 Symmetric Multiprocessing - Wind River Education Services. https://learning.windriver.com/vxworks-7-symmetric-multiprocessing.
(2) vxWorks SMP 多核编程_VxWorks_developer的博客-CSDN博客. https://blog.csdn.net/m0_37585897/article/details/105437886.
(3) 基于Zynq7000平台VxWorks6.9开发应用——SMP多核任务篇. https://blog.csdn.net/cpuos2010/article/details/117444362.解决 无用评论 打赏 举报
悬赏问题
- ¥15 JETSON NANO
- ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
- ¥20 关于 openpyxl 处理excel文件地问题
- ¥15 MS中不知道高分子的构型怎么构建模型
- ¥60 QQOP数据,什么是op数据号,怎么提取op数据!能不能大量提取(语言-c语言)
- ¥15 matlab代码 关于微分方程和嵌套的分段函数。
- ¥15 onlyoffice编辑完后立即下载,下载的不是最新编辑的文档
- ¥15 求caverdock使用教程
- ¥15 Coze智能助手搭建过程中的问题请教
- ¥15 12864只亮屏 不显示汉字