32位处理器内核,采用冯诺依曼结构,基于16位的Thumb指令集。
处理器模式有线程模式和处理机模式,支持字节、半字和字。
CMSIS——Cortex 微控制器软件接口标准,包含处理器内核外设的地址定义和数据结构,组成TCP/IP协议栈和Flash文件系统的中间件元件的可选接口。
寄存器:
R0-R12——通用寄存器,供数据操作
R13(SP)——分为主协议栈指针(MSP)和进程协议栈指针(PSP)
R14——链接寄存器,存储子程序、函数调用和异常返回的信息
R15——PC,当前程序的地址
程序状态寄存器(PSR):
应用程序状态寄存器(APSR)——执行完指令后条件标志的当前状态
中断程序状态寄存器(IPSR)——包含当前中断服务程序的异常编号
执行程序状态寄存器(EPSR)——包含Thumb状态位
PRIMASK(中断屏蔽寄存器)——禁止处理器处理异常
CNTROL(控制寄存器)——控制处理器处于线程模式时所使用的协议栈
内存映射分成多个区域,每个区域有一个定义好的存储器类型(普通、设备、强秩序存储器、永不执行)
LPC11U35的内存映射:
64KB 闪存Flash——存放代码、有效中断向量,程序代码的可执行区域,也可以存放数据
8KB SRAM0、2KB SRAM1——数据的可执行区域,也可以存放代码
16KB 引导ROM
2KB USB RAM——数据的可执行区域
APB 外设——外部设备存储器
USB
GPIO
1MB 专用外设总线——NVIC、系统定时器和系统控制模块(SCB),只能使用字访问
异常的类型,按优先级排列:
复位、NMI(不可屏蔽中断)、HardFault、SVC(管理程序调用)、PendSV、SYSTick、中断IRQ
异常处理程序:
ISR(中断服务程序)
故障处理程序——处理HardFault
系统处理程序——处理除IRQ以外的异常
WFI(等待中断指令)可以使器件立刻进入睡眠模式
关于内部函数:
内部函数产生ISO/IEC C代码不能直接访问的指令,可由CMSIS和有可能由C编译器提供。
内部函数可产生某些指令或者访问特别寄存器