待续……
最后吼一下口号:
每天进步一点点,开心多一点^_^
/*********************************************************************************************/
// 第一贴 关于Cortex-M3内核简单认识
/********************************************************************************************/
STM32F103XXX属于Cortex-M3内核,所以呢,今天先来大体了解一下ARM Cortex-M3处理器的内容。 Cortex-M3处理器是一个低功耗的处理器,具有门数少,中断延迟小,调试容易等特点。它是为功耗和低格敏感的应用领域而专门设计的、具有较高性能的处理器,应用范围可从低端微控制器到复杂的SoC。 Cortex-M3处理器使用了ARMv7-M体系结构,是一个可综合的、高度可配置的处理器。它包含了一个高效的哈佛结构三级流水线,可提供1.25DMIPS/MHz的性能。对于小系统和软件开发,Cortex-M3处理器具有以下优势: Ø 小的处理器内核、系统和存储器,可降低器件成本; Ø 完整的电源管理,很低的功耗; Ø 突出的处理器性能,可满足挑战性的应用需求; Ø 快速的中断处理,满足高速、临界的控制应用; Ø 可选的存储器保护单元(MPU),提供平台级的安全性; Ø 增强的系统调试功能,可加快开发进程; Ø 没有汇编代码要求,简化系统开发; Ø 宽广的适用范围:从低成本微控制器到高性能SOC. Cortex-M3处理器的中断控制器(NVIC) Cortex-M3处理器是全部可综合、高度可定制的(包括物理中断、系统调试等),它还有一个可选的细粒度的(fine-granularity)存储器保护单元(MPU)和一个嵌入式跟踪宏单元(ETM)。Cortex-M3处理器紧密结合一个可配置的中断控制器(NVIC),提供了工业领先的中断处理性能。标准的NVIC实现包括一个不可屏蔽中断(NMI),加上具有优先级的32个通用物理中断。通过简单的综合选择,控制器可以被配置为1-244个物理中断。另外,抢占式优先级的数目,可以在综合时配置到255个。NVIC为低延迟实现异常处理提供了方便。主要有以下特征: Ø 可配置1~240个外部中断 Ø 可配置优先级位数3~8位 Ø 支持电平和脉冲(边沿)中断 Ø 可动态重新分配中断优先级 Ø 优先级分组 Ø 支持尾链(tail-chaining)中断 Ø 进入中断时,处理器状态自动保存,退出中断时状态自动恢复,无额外指令开销 Cortex-M3处理器矩阵总线 Cortex-M3处理器集成了一个AMBA AHB-Lite总线来连接系统外设,并降低系统集成的复杂性。总线矩阵支持不对齐的数据访问,使不同的数据类型可以在存储器中紧密衔接(不因为数据需要对齐而留出空隙),可显著降低SRAM需求和系统成本。总线矩阵连接到以下外部总线: Ø Icode总线,这是一条32位的AHB-Lite总线,主要用于从指令空间中取指令和取向量。 Ø Dcode总线,这是一条32位的AHB-Lite总线,主要用于从指令空间的数据读写和调试访问 Ø 系统总线,这是一第32位的AHB-Lite总线,主要用于从系统空间中取指,取向量,读写数据和调试访问 Ø PPB这是一条32位的APB总线,主要用于从PPB空间读写数据和调试访问 Cortex-M3处理器MPU单元 MPU是Cortex-M3处理器中一个可选的部分,它通过保护用户应用程序中操作系统所使用的重要数据,分离处理任务(禁止访问各自的数据),禁止访问存储器区域,将存储器区域定义为只读,以及对有可能破坏系统的未知的存储器访问进行检测等手段来改善嵌入式系统的可靠性。 MPU将存储器分成不同的区域,并通过防止无授权的访问对存储器实施保护。MPUF支持多大8个区域,每个区域又可以分为8个子区域。所支持的区域大小从32字节开始,以2倍数递增,最大可达到4GB可寻址空间。每个区域都对应一个区域号码(从0开始的索引),用于对区域进行寻址。另外也可以享有特权的地址定义一个默认的背景存储器映射。对未在MPU区域中定义的或在区域设置中被禁止的存储器位置进行访问将会导致存储器管理故障(Memory Management Fault)异常的产生。
(未完,待续)
最后,吼一下懒猫有口号:
每天进步一点点,开心多一点^_^
/**************************************************************************************************/
// 第二贴 STM32时钟详解
/*************************************************************************************************/
这个是从网上下载的资料,对于学习STM32有所帮助,所以上传上来,以备学习之用。
STM32时钟详解.pdf
最后,吼一下懒猫有口号:
每天进步一点点,开心多一点^_^
/**************************************************************************************************/
// 第三贴 STM32基础教程
/*************************************************************************************************/
在网上搜的几本基础教程,不敢独自己享用,上传分享一下。希望对初学者有所帮助:
STM32_****_(新手必看)_中国电子开发网(www.ourdev.pdf
STM32_入门教程.doc
stm32f10x系类开发板之s-107学习笔记第二版.pdf
(改天继续上传)
最后,吼一下懒猫有口号:
每天进步一点点,开心多一点^_^
/**************************************************************************************************/
// 第四贴 STM32 PCB板
/*************************************************************************************************/
板子到了,因为元件还没有凑齐,故先研究一下板子。研究板子之前先做一个声明:
声明:
本人是抱着学习的目的在本论坛发贴的,可能有些地方写的不对,无论你是高手还是新手,欢迎你前来指教,但请不要进行人身攻击,谢谢!
板子给我手第一印象是,大空旷,诺大一个板子,廖廖数个元件,另一方面有些走线可能有待改进,我用的是AD09看的PCB,栅格间距0.25mm,下面上几个图,内行人一看就明白怎么加速,我晚上再来评论:
图1-1 电容C40离芯片太远,还有左边焊盘间的那根线
图1-2 这两根线好像有点亲密哦,间距不到0.2mm
图1-3 T1中间的那根线距与右边焊盘的关系也太亲昵了吧(栅格间距0.25mm)
图 1- 4 我很好奇,即然是地线,铺铜时焊盘把焊盘连上不就好了吗,干吗再拉一根线,而且离焊盘间距这么近,真替PCB板厂担心
图1-5 这个吗,就不多说了……
图 1-6 注意左边那概蛇形线弓起部分与焊盘pin56的间距,貌似有点危险哦……
图1-7 蛇形线,本来蛇形线是看起来比较优美的连线,但这对看起来怪怪的,这个不敢多说了,因为看过论坛有篇文章,是讲这个问题的,还搞的"HXW718059156"很不高兴,我呢也不多说了,下面这个链接是百度文库里面的文章,里面有关于蛇形线的知识,大家不妨去看,里面也有图,我觉得那里面附的蛇形线就非常优美:
http://wenku.baidu.com/view/a58d6bc24028915f804dc2bd.html?from=rec&pos=3&weight=13&lastweight=9&count=5
图1-8 左边焊盘的线本来可以向下再走一些的,第二个焊盘的线就不会与第三个焊盘太近了,可是……
图1-9 栅格是0.25mm的,不多说了……
图1-10 注意哦,VREF-与AGND之间还有一个过孔哦,这个过孔的网络是DGND,与AGND和VERF-不是一个网络呀,这个小孔,很可能会成为陷阱哦,大家注意哦
图1-11 发现这块板的特点就是在芯片焊盘间走线,不止一根,而且不是在缝隙正中,这个间距嘛,算了,说多了,PCB作者估计又会站出来骂我找茬,反正这板子是能用,我就不多说什么了……
图1-12 注意焊盘26,再说明一下,栅格的间距是0.25mm
图1-13 这个过孔与线的距离……
图1-14 看看82脚连的线,还有86脚,偏离焊盘中心那么多可不是太好哦
图1-15 pin69与pin68上面的焊盘距离……
图1-16 从上到下,第二根线,第四五两根线,再次说明,栅格间距0.25mm
好了,这只上top层部分截图,bottom呢还没仔细看,晚上再说了,希望HXW718059156和Jack Wang看到贴子不要太在意,本人只是就PCB论PCB,并无其它目的,如果觉得我说的不正确,可以直接找我,我的QQ:515673876,但请不要人身攻击,谢谢!
最后,吼一下懒猫有口号:
每天进步一点点,开心多一点^_^
(未完,待续……)