您的位置 首页 开关

移植ucosII到STM32F103ZE(一)

一、开发环境:1开发环境:keiluvision4MDK412(windowsXP)MDK即RealViewMDK(MicrocontrollerDevelopmentkit),是ARM

一、开发环境:
1. 开发环境: keil uvision4 MDK4.12(windows XP)
MDK即RealView MDK(Microcontroller Development kit),是 ARM 公司现在最新推出的针对各种嵌入式处理器的软件开发东西。RealViewMDK集成了业界最抢先的技能,包含 uVision4 集成开发环境与 RealView 编译器。支撑 ARM7、ARM9 和最新的 Cortex-M3/M1/M0 核处理器,主动装备发动代码,集成 Flash 烧写模块,强壮的 Simulation 设备模仿,功用剖析等功用,与 ARM 之前的东西包 ADS 等比较,RealView 编译器的最新版别可将功用改进超越 20%。
RealView MDK的杰出特性:
菜鸟的阿拉伯飞毯—— 发动代码生成导游,主动引导,日新月异
发动代码和体系硬件结合严密,有必要用汇编语言编写,因而成为许多工程师难以跨越多门槛。RealView MDK的µVision3东西能够帮您主动生成完善的发动代码,并供给图形化的窗口,随您轻松修正。不管关于初学者仍是有经历的开发工程师,都能大大节省时间,进步开发功率。
高手的无剑胜有剑 —— 软件模仿器,彻底脱离硬件的软件开发过程
RealView MDK的设备模仿器能够仿真整个方针硬件,包含快速指令集仿真、外部信号和I/O仿真、中止过程仿真、片内一切外围设备仿真等。开发工程师在无硬件的状况下即可开端软件开发和调试,使软硬件开发同步进行,大大缩短开发周期。而一般的ARM开发东西仅供给指令集模仿器,只能支撑ARM内核模仿调试。
专家的哈雷望远镜 —— 功用剖析器,看得更远、看得更细、看得更清
RealView MDK的功用剖析器比如哈雷望远镜,让您看得更远和更准,它辅助您检查代码掩盖状况,程序运转时间,函数调用次数等高端操控功用,辅导您轻松的进行代码优化,成为嵌入式开发高手。一般这些功用只要价值数千美元的贵重的Trace东西才干供给。
业界最优异的编译器——RealView 编译器,代码更小,功用更高。
2. 处理器: STM32F103ZET6(神舟III号板)
3. OS版别: uC/OS-II V2.86
4. 外设库版别:STM32F10x_StdPeriph_Lib_V3.5.0
5. 源码下载:
1) 从st公司网站下载最新版别的stm32规范外设库,版别是V3.5.0(2012-11-16)
http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f10x_stdperiph_lib.zip
2) 下载uC/OS-II V2.86:
先去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 记载ALU 标志(0 标志,进位标志,负数标志,溢出标志),履行状况,以及当时服务的中止号
PRIMASK 除能一切的中止——当然了,不行屏蔽中止(NMI)才不甩它呢。
FAULTMASK 除能一切的fault——NMI 仍然不受影响,而且被除能的faults 会“上访”,
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) 闪存地址重载及断点单元(FPB)
2) 数据调查点单元(DWT)
3) 仪器化盯梢宏单元(ITM)
4) 嵌入式盯梢宏单元(ETM)
5) 盯梢端口接口单元(TPIU)
 ROM表
CM3 的地址空间是4GB, 程序能够在代码区,内部SRAM 区以及外部RAM 区中履行。可是由于指令总线与数据总线是分隔的,最理想的是把程序放到代码区,从而使取指和数据拜访各自运用自己的总线,双管齐下。

Cortex-M3 预界说的存储器映射
CM3在界说了存储器映射之外,还为存储器的拜访规则了4种特点,分别是:
 可否缓冲(Bufferable)
 可否缓存(Cacheable)
 可否履行(Executable)
 可否同享(Sharable)

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/kaiguan/259595.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部