摘要: 2.3.1 异常状态 2.3.1 异常类型 阅读全文
posted @ 2020-04-02 23:37 QIYUEXIN 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 1. 内存区域、类型及属性 内存被分成不同的区域,不同区域有着不同的类型及属性;内存的类型及属性决定着访问这些区域时的行为。 内存的类型有: Normal,处理器可以为了效率而重新排序事务,或者执行推测性的读取。 Device, 处理器将保持相对于其他Device或者Strongly-ordered 阅读全文
posted @ 2020-04-02 23:23 QIYUEXIN 阅读(388) 评论(0) 推荐(0) 编辑
摘要: Handler模式一直使用MSP,所以在handler模式下处理器会忽略SPSEL位;异常进入及返回机制会更新CONTROL寄存器。 在操作系统的环境中,推荐线程在Thread模式下运行使用PSP,内核和异常处理使用MSP。 此外,线程模式下默认使用MSP,为了切换为PSP可以: 使用MSR指令把C 阅读全文
posted @ 2020-04-02 21:09 QIYUEXIN 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 1. Cortex-M4的内核设备 NVIC, Nested vectored interrupt controller SCB, System control block SysTick, The system timer MPU, Memory protection unit FPU, Floa 阅读全文
posted @ 2020-04-02 19:24 QIYUEXIN 阅读(1786) 评论(0) 推荐(0) 编辑
摘要: 虽然 BASEPRI 是8位寄存器,但是STM32的CortexM3&M4只用了高4位,低四位是没有用到的。 __set_BASEPRI(0x0f); // 无效,小于0x0f的值无效 __set_BASEPRI(0xf0); // 有效 阅读全文
posted @ 2020-04-02 17:45 QIYUEXIN 阅读(1092) 评论(0) 推荐(0) 编辑
摘要: typeof 用于获取一个对象的类型,比如: unsigned int a = 1; // typeof (a) is unsigned int short b = 2; // typeof (b) is short offsetof #define offsetof(TYPE, MEMBER) ( 阅读全文
posted @ 2020-04-02 14:10 QIYUEXIN 阅读(266) 评论(0) 推荐(0) 编辑