![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
处理器相关
亦大乐谍
专注于嵌入式Soc和操作系统,坚持原创。
展开
-
任务上下文切换新解(MIPS处理器)
在前一篇博文实时操作系统内核的任务调度点里总结了RTOS里的任务调度时机,当操作系统内核决定要运行另一个任务的时候,它将会将当前任务的上下文环境,通常是指CPU寄存器,保存到当期任务的堆栈上,并且恢复新任务的上下文环境使之继续运行,这个过程就称为上下文切换。上面这段话,几乎在每一本讲嵌入式软件的教材、资料里都会有,但是能再讲深一点的却不多。楼主在从事嵌入式行业的前N年里也是一直停留在这句话的认原创 2016-12-30 17:48:56 · 1826 阅读 · 0 评论 -
Cacheable VS Non-Cacheable
1 基本概念在嵌入式软件开发中,经常会碰到说某块内存是cache的,还是non-cache的,它们究竟是什么意思?分别用在什么场景?这篇博文将会围绕这几个问题展开讨论。Cache,就是一种缓存机制,它位于CPU和DDR之间,为CPU和DDR之间的读写提供一段内存缓冲区。cache一般是SRAM,它采用了和制作CPU相同的半导体工艺,它的价格比DDR要高,但读写速原创 2016-08-02 10:25:43 · 13591 阅读 · 1 评论 -
MIPS的32个通用寄存器
本文对MIPS的32个通用寄存器及它们的常用场合进行了小结,先看一张比较官方的截图。zero它一般作为源寄存器,读它永远返回0,也可以将它作为目的寄存器写数据,但效果等于白写。为什么单独拉一个寄存器出来返回一个数字呢?答案是为了效率,MIPS的设计者只允许在寄存器内执行算术操作,而不允许直接操作立即数。所以对最常用的数字0单独留了一个寄存器,以提高效率at该寄存器为原创 2016-12-20 14:56:15 · 16958 阅读 · 1 评论 -
S5PV210中断控制器详解(一):概述和使用中断
1 S5PV210的Interrupt Controller简介S5PV210是三星推出的一款基于Cortex-A8的Soc,其内部集成的中断控制器由4个ARM PrimeCell PL192矢量中断控制器级连(daisy-chain)而成,每个PL192 VIC(Vector Interrupt Controller)支持32个中断源,所以最多支持128个。S5PV210使用了其中的93原创 2017-07-17 18:15:41 · 3521 阅读 · 1 评论 -
S5PV210中断控制器详解(二):矢量和优先级
S5PV210采用了Arm公司的Prime PL192,它是一款支持可编程硬件优先级的矢量中断控制器(Vectored Interrupt Controller)。在这篇博文里,楼主会通过PL192手册的解读和一些实验,尝试挖掘其中的两个关键词:矢量和优先级,它们的深层次含义。1 介绍软件在收到中断后,其中必须做的一个任务是找到中断服务函数ISR(Interrupt Service R原创 2017-07-22 15:38:34 · 1117 阅读 · 0 评论