这本书,买了很久,到现在算是大致浏览了一边,还是非常有收获的,以前都是直接看的芯片的手册,但是芯片手册在内核当中,讲述的知识点是比较少的,因此相互结合的看,很有必要。
这里就自己想到什么就整理什么,肯定有遗漏的,以后有机会看第二遍,再完善。
1 双堆栈的特点,MSP、PSP,看着有点迷糊,两者物理地址是一样,主堆栈指针(MSP):复位后缺省使用的堆栈指针,用于操作系统内核以及异常处理例程(包括中断服务例程)。这个用于操作系统的任务切换,中断处理等用途。 进程堆栈指针(PSP):由用户的应用程序代码使用,自己写的程序的调用时用,比如函数调用子函数。
这个的特点使得基于cm3的芯片就十分适合移植rtos来开发。
2 内存映射,总共就4GB的空间,哈佛结构,部分区域的地址是固定,不允许芯片厂商进行更改,这个和ARM7是有区别的。
3 位带别名,这个可以让操作寄存器有原子特性,十分方便。这个在内核层面就将可靠性提高了,因此相比较8051,avr,pic等,基于cm3的芯片从本质上有了质的飞跃,毕竟怎么说也是32为芯片。
4 有很多寄存器是写1有效,写0无效的,这个特点也增加了可靠性,避免了“读-修改-写”的三部曲,也具有原子性,运行指令的速度也更加快了。
5 systick中断,这个中断就是为移植os而设计的。
6 pendsv、svc中断,这个中断的用途就是在rtos中任务切换的时候