一、开发环境:
1.
MDK即RealView MDK(Microcontroller Development kit),是 ARM 公司现在最新推出的针对各种嵌入式处理器的软件开发东西。RealView
RealView MDK的杰出特性:
菜鸟的阿拉伯飞毯—— 发动代码生成导游,主动引导,日新月异
发动代码和体系硬件结合严密,有必要用汇编语言编写,因而成为许多工程师难以跨越多门槛。RealView MDK的µVision3东西能够帮您主动生成完善的发动代码,并供给图形化的窗口,随您轻松修正。不管关于初学者仍是有经历的开发工程师,都能大大节省时间,进步开发功率。
高手的无剑胜有剑 —— 软件模仿器,彻底脱离硬件的软件开发过程
RealView MDK的设备模仿器能够仿真整个方针硬件,包含快速指令集仿真、外部信号和I/O仿真、中止过程仿真、片内一切外围设备仿真等。开发工程师在无硬件的状况下即可开端软件开发和调试,使软硬件开发同步进行,大大缩短开发周期。而一般的ARM开发东西仅供给指令集模仿器,只能支撑ARM内核模仿调试。
专家的哈雷望远镜 —— 功用剖析器,看得更远、看得更细、看得更清
RealView MDK的功用剖析器比如哈雷望远镜,让您看得更远和更准,它辅助您检查代码掩盖状况,程序运转时间,函数调用次数等高端操控功用,辅导您轻松的进行代码优化,成为嵌入式开发高手。一般这些功用只要价值数千美元的贵重的Trace东西才干供给。
业界最优异的编译器——RealView 编译器,代码更小,功用更高。
2.
3.
4.
5.
1)
http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f10x_stdperiph_lib.zip
2)
先去micrium网址注册账号
http://micrium.com/page/home
然后登陆并下载
http://micrium.com/newmicrium/uploads/file/appnotes/secure/Micrium-ST-uCOS-II-LCD-STM32.exe
二、
1.
STM32F103ZET6是STM32F103系列最高端装备芯片,cortex-M3内核的32位处理器(内部数据途径,寄存器,存储器都是32位),选用哈佛结构,72M主频,LQFP144封装,片上有512K的flash和64K的SRAM。
STM32宗族主要产品系列家谱
2.
Cortex-M3仅仅用32位的thumb2指令。在支撑了16位和32位的thumb-2指令集支撑,cortex-M3无需把状况在thumb和ARM之间来回的去换,尤其在运用大型条件嵌套以及履行杂乱运算的时分,cortex-M3要比老一辈的ARM7履行功率要高许多。
3.
Cortex-M3处理器具有R0-R15的寄存器组,其间R13作为仓库指针SP。SP有两个,但在同一时间只能有一个能够看到。这也便是所谓的“banked”寄存器。
R0-R12 都是32 位通用寄存器,用于数据操作。可是留意:绝大多数16 位Thumb 指令只能拜访R0-R7,而32 位Thumb-2 指令能够拜访一切寄存器。
Cortex-M3 具有两个仓库指针,可是它们是banked,因而任一时间只能运用其间的一个。
主仓库指针(MSP):复位后缺省运用的仓库指针,用于操作体系内核以及反常处理例程(包含中止服务例程)
进程仓库指针(PSP):由用户的运用程序代码运用。
仓库指针的最低两位永远是0,这意味着仓库总是4 字节对齐的。
寄存器及其功用:
xPSR
PRIMASK
FAULTMASK
BASEPRI
CONTROL
a、界说特权等级;b、挑选当时运用哪个仓库指针。
4.
Cortex-M3处理器制程两种处理器形式和两种特权操作。
两种形式分别是处理者形式(handler mode)和线程形式(thread mode),主要是用于差异一般运用程序的代码和反常服务例程的代码(包含中止服务例程的代码)。
两种特权分级是特权级和用户级,用于供给一种存储拜访的维护机制,使得一般的用户程序代码不能意外地或许歹意地履行涉及到要害的操作。
ucosii不区别特权级和用户级,程序一直作业在特权级,因而两个仓库指针的切换是全主动的,就在收支反常服务例程时由硬件处理。
5.
CM3的存储体系与传统ARM架构的比较,有过脱胎换股般的变革:
榜首,它的存储器映射是预界说的,而且还规则好了哪个方位运用哪条总线。
第二,CM3 的存储器体系支撑所谓的“位带”(bit-band)操作。经过它,完成了对单一比特的原子操作。位带操作仅适用于一些特别的存储器区域中。
http://blog.sina.com.cn/s/blog_abd39cc70101ci44.html
第三,CM3 的存储器体系支撑非对齐拜访和互斥拜访。这两个特性是直到了ARMv7-M 时才出来的。
最终,CM3 的存储器体系支撑both小端装备和大端装备。
CM3 只要一个单一固定的存储器映射。这一点极大当地便了软件在各种CM3 单片机间的移植。存储空间的一些方位用于调试组件等私有外设,这个地址段被称为“私有外设区”。私有外设区的组件包含:
1)
2)
3)
4)
5)
ROM表
CM3 的地址空间是4GB, 程序能够在代码区,内部SRAM 区以及外部RAM 区中履行。可是由于指令总线与数据总线是分隔的,最理想的是把程序放到代码区,从而使取指和数据拜访各自运用自己的总线,双管齐下。
Cortex-M3 预界说的存储器映射
CM3在界说了存储器映射之外,还为存储器的拜访规则了4种特点,分别是:
可否缓冲(Bufferable)
可否缓存(Cacheable)
可否履行(Executable)
可否同享(Sharable)