热爱开源,喜欢分析操作系统架构
发布时间:2013-08-16 17:30:03
作为软中断,从内核同步的角度来说它有两个特点:一是软中断总是和cpu绑定在一起的,二是除了中断或是异常(一般内核太不会出现异常)没有什么东西能够抢占它。因为和cpu绑定,软中断喜欢使用cpu变量,这样就不用考虑SMP的竞争,因为不会被其他软中断或是内核抢占,使得不用在嵌套上太过于小心。一般而言,软中断是在中断.........【阅读全文】
发布时间:2013-08-03 16:16:14
按照我之前给出的MPU地址空间表,Unprivileged似乎只能对内存段的RWUSER里进行写操作,而这个RWUSER段也是必须事前通过宏USER_RW_ACCESS前缀来定义的静态变量。那用户任务运行必定需要堆栈,堆栈如果不允许写,那如何运行程序呢?其实,我之前介绍的只是MQX中静态定义Unprivileged权限地址段的一种方法,而真正在使用中MQ.........【阅读全文】
发布时间:2013-08-03 14:40:49
之前说了MPU,现在说说MQX是如何使用MPU的。对于Privileged级,一般来说对整体0x00000000~0xffffffff都是有rwx权限的,(当然这个只是MPU的权限,就算是Privileged级,访问了不该访问的地址还是会出现异常错误的,不过不是MPU引发的而已)关于Unprivileged的MPU设置就比较复杂一点,具体设置的地方在_bsp_enable_card函.........【阅读全文】
发布时间:2013-08-02 23:47:44
对于个人用户来说MQX的用户模式似乎显得有些多余,花费不少资源,故意找一些东西限制住自己看起来真的是没有什么必要。但从freescale官方来说,完善系统的权限机制还是相当有必要的,针对多人协作开发的项目来说,搞底层的人搞底层,搞应用的搞应用,靠着系统调用作为衔接,分工明确,责任分明。在这点上,就像linux这类.........【阅读全文】