U54内核上CLINT的内存映射

clint中断属性
为了帮助提高保存和恢复上下文的效率,可以将中断属性应用于用于中断处理的函数。
void attribute ((interrupt))software_handler (void) {// handler
code}
此属性将保存和恢复处理程序中使用的寄存器,并在处理程序的末尾插入一条 mret 指令。
clint内存映射
下图是u54 内核上 clint 的内存映射:
注意,在 clint 内存映射中没有用于特定中断的启用位,因为这些中断的启用位于每个中断的 mie csr 和 mstatus.mie csr
位中,它全局启用所有机器中断。
相关寄存器
msip registers
机器模式软件中断是通过写入内存映射控制寄存器 msip 来生成的。
msip 寄存器是一个 32 位宽的 warl 寄存器,其中高 31 位绑定为 0。最低有效位反映在 mip csr 的 msip 位中。msip
寄存器中的其他位被硬连线为零。复位时,每个 msip 寄存器都清零。
软件中断对于多 hart 系统中的处理器间通信最有用,因为 harts 可能会写入彼此的 msip 位以影响处理器间中断。
软件中断其实更多的用于多核之间,也就是所谓的核间通信。
timer registers
与timer有关的寄存器主要是两个:mtime和mtimecmp
mtime 是一个 64 位读写寄存器,包含从 rtc_toggle 信号计数的周期数。
只要 mtime 大于或等于 mtimecmp 寄存器中的值,定时器中断就会挂起。定时器中断反映在 mip 寄存器的 mtip 位中。
复位时,mtime 清零。mtimecmp 不会重置。
特权模式委托
默认情况下,所有中断都会陷入机器模式,包括定时器和软件中断。
为了让定时器和软件中断直接进入管理员模式,定时器中断和软件中断必须首先委托给管理员模式。

技术发展不可阻挡,内存市场趋稳求进
智慧停车解决城市停车难题,驾车出行更省心
采用28nm FD-SOI技术的汽车级微控制器嵌入式PCM宏单元
dsPIC33EP GS系列是Microchip新一代16-bit高性能MCU
iphone8什么时候上市?iphone8最新消息:外观致敬iphone4,iphone8黑白渲染图齐曝光:这味道果然很正
U54内核上CLINT的内存映射
综观2019年安防业的发展 在「跨」字上找机会势在必行
汇顶神盾打入三星光学屏下指纹识别供应链
大趋智能外卖打印机重磅上市——智能硬件+云平台造就外卖托管神器
电导率和电阻率是互为倒数的关系吗?
时隔4个月左右,华为凑齐了“四大天王”!
大数据可视化大屏 | 海盛翔和激光屏的软硬件生态体系
5种音调检测器电路图汇总
小米良心机:大屏幕大惊喜的小米Max2曝光
频谱资源是5G发展难以跨过去的坎
“让系统具有自愈能力”:基于Artix
华为5G赋能产业升级方面的实践成果及发展路径
RFMD以4700万美元收购Amalfi半导体
拥微型元件与逻辑IC优势 瑞萨稳坐车用IC龙头
高性能Σ-Δ模数转换器AD7768-1的功能特点及应用