Cortex-M3系列开发工具EasyARM1138嵌入式专题讲座|Cortex-M3系列ZLG公司简介广州周立功单片机发展有限公司重组于1999年,是专业从事单片机及其外围元器件的应用推广、技术服务、嵌入式产品的开发和生产的技术型公司。公司现有员工700多人,其中研发工程师500多人,开发和生产面积超过3000平方米。拥有完整的SMT自动化生产线与电磁兼容测量、高低温试验设备等先进的的生产设备和齐全的检测手段。EasyARM1138|Cortex-M3系列ZLG销售渠道辐射范围•公司现下设香港、北京、上海、南京、杭州、深圳、成都、重庆、武汉等10家子公司;•西安、武汉、天津、沈阳、哈尔滨、长沙、上海、济南、长春、南昌、合肥等省会城市设有25家代理商;•业务范围遍及全国各地,同时直接投资广州致远电子有限公司,进行全面的开发及生产。EasyARM1138|Cortex-M3系列ZLG所获嘉奖与社会认同经过几十年的发展,嵌入式系统已经在很大程度改变了人们的生活、工作和娱乐方式,而且这些改变还在加速。嵌入式系统具有无数的种类,每类都具有自己独特的个性。例如,MP3、数码相机与打印机就有很大的不同。汽车中更是具有多个嵌入式系统,使汽车更轻快、更干净、更容易驾驶。嵌入式系统也无处不在。在很多产业中得到了广泛的应用并逐步改变着这些产业,包括工业自动化、国防、运输和航天领域。例如神州飞船和长征火箭中有很多嵌入式系统,导弹的制导系统也是嵌入式系统,高档汽车中也有多达几十个嵌入式系统。EasyARM1138|Cortex-M3系列嵌入式系统概述EasyARM1138|Cortex-M3系列现实中的嵌入式从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。EasyARM1138|Cortex-M3系列嵌入式系统概念ARM是AdvancedRISCMachines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC(精简指令集)处理器。公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。EasyARM1138|Cortex-M3系列ARM简介ARM公司简介将技术授权给其它芯片厂商形成各具特色的ARM芯片...已有100多家公司与ARM公司订购技术使用许可协议EasyARM1138|Cortex-M3系列ARM简介ARM公司开发了很多系列的ARM处理器核,目前最新的系列是Cortex,而ARM6核以及更早的系列已经很罕见了。当前应用比较多的ARM处理器核系列有:EasyARM1138|Cortex-M3系列ARM简介常用ARM处理器系列ARM7ARM9ARM10EARM11XscaleCortex基于ARMv7版本的ARMCortex系列产品由A、R、M三个系列组成,具体分类延续了一直以来ARM面向具体应用设计CPU的思路。ARMCortexA应用处理器(ApplicationProcessor)系列R实时控制处理(RealTimeControl)系列M微控制器(MicroController)系列EasyARM1138|Cortex-M3系列ARM简介ARMCortex处理器EasyARM1138|Cortex-M3系列Cortex-M3简介•采用ARMv7M架构,在ARMv4T架构基础上拓展了36条新指令•具有更高的性能,Thumb-2指令架构使其具有业界领先的代码密度•具有更低延迟的中断,标准化的存储器映射,存储器保护单元,并集成了嵌套向量中断控制器(NVIC)和内建系统时钟•增强了调试和跟踪的能力•更加节省功耗,具有两种睡眠模式•能够更好的支持带有CoreSight以及系统特性的多核系统Cortex-M3内核Stellaris系列器件针对各种微控制器应用而设计,代码可兼容于该系列中价格为$1的低端芯片到最高频率为1GHz的高性能芯片范围内的所有器件,可供工业界最强大的系统使用。•良好的集成度,节约了$1.28的系统成本•真实的MCUGPIO数量—所有的GPIO都能产生中断、具有可编程的驱动强度和斜率控制•无功能管脚复用—根据你需要的功能选择功能部件•硬件和软件支持先进的运动控制•模拟比较器和ADC功能提供了系统选择来平衡硬件和软件性能EasyARM1138|Cortex-M3系列TI公司简介Stellaris系列单片机EasyARM1138|Cortex-M3系列LM3S1138强大的内核◆32位ARMCortex™-M3内核(ARMv7M架构)◆兼容Thumb的Thumb-2指令集,提高代码密度25%以上◆50MHz运行频率,1.25DMIPS/MHz,加快35%以上◆单周期乘法指令,2~12周期硬件除法指令◆快速可嵌套中断,6~12个时钟周期◆具有MPU保护设定访问规则◆64KB单周期Flash,16KB单周期SRAM◆内置可编程的LDO输出2.25V~2.75V,步进50mV◆支持非对齐数据的访问,有效地压缩数据到内存◆支持位操作,最大限度使用内存,并提供创新的外设控制◆内置系统节拍定时器(SysTick),方便操作系统移植EasyARM1138|Cortex-M3系列EasyARM1138EasyARM1138是专门针对广大电子信息专业在校大学生而设计的一款基于ARMCortex™-M3先进内核的高性能、低价格开发板,也是广大单片机爱好者、开发工程师首选的Cortex™-M3开发板。教学实验电子竞赛毕业设计EasyARM1138|Cortex-M3系列EasyARM1138外观USB下载仿真器MCU核心板LM3S1138KEYLEDGPIOBuzzerJTAG-OUT“3合1”USBEasyARM1138|Cortex-M3系列LM3S1138丰富的外设串行接口3UARTS2SSI/SPI2I2C3个模拟比较器10位ADC8通道1M/S温度传感器Back系统时钟复位系统控制看门狗定时器GPIOS电池供电的休眠LDO电压调节器运动控制4个通用定时器CCP0、CCP1CCP2、CCP3CCP4、CCP5EasyARM1138|Cortex-M3系列EasyARM1138功能模块讲解2特色设计1应用说明3应用示例4EasyARM1138|Cortex-M3系列特色设计内嵌式USB下载仿真器USB电缆“三合一”功能:1.5V供电2.程序下载与在线仿真3.虚拟UART串行通信强大的仿真功能:1.自仿真LM3S1138核心板2.仿真其他LM3S系列开发板3.外接其他仿真器仿真核心板BackEasyARM1138|Cortex-M3系列特色设计小巧设计核心板应用两排GPIO插针采用16mm长针,方便用户把开发板嵌入到自己的产品中。两排GPIO插针间距正好是2000mil,也方便跟万用板连接,有利于教学实验。GPIO接口包括全部GPIO管脚、ADC0~ADC7、休眠模块接口,以及电源5V/3.3V/GNDBack•《Stellaris外设驱动库》源代码公开•摒弃晦涩难懂的汇编语言•不需要掌握底层寄存器的操作细节利用驱动库开发应用程序简单快速,代码简洁、可读性强。对编写大型程序而言,采用驱动库更能够增强可靠性和安全性,同时显著降低维护成本。EasyARM1138|Cortex-M3系列特色设计驱动库编程C语言开发Back//操作GPIO端口SysCtlPeriEnable(SYSCTL_PERIPH_GPIOG);GPIOWrite(GPIO_PORTG_GASE,GPIO_PIN_3,03);GPIOPinTypeOut(GPIO_PORTG_BASE,GPIO_PIN_3);第1步:使能GPIOG端口第2步:配置PG3为输出第3步:PG3输出低电平//配置UARTUARTConfigSet(UART2_BASE,UART_CONFIG_WLEN_8|9600,配置UART2波特率:9600数据位:8UART_CONFIG_STOP_ONE|UART_CONFIG_PAR_NONE);停止位:1校验位:无EasyARM1138|Cortex-M3系列特色设计驱动库编程C语言开发EasyARM1138|Cortex-M3系列EasyARM1138功能模块讲解2特色设计1建立开发环境3编程示例4EasyARM1138|Cortex-M3系列功能模块讲解通用异步收发器(UART)•独立的发送FIFO和接收FIFO,且FIFO长度可编程•FIFO触发深度可为:1/8、1/4、1/2、3/4或7/8•可编程的波特率发生器允许速率高达3.125Mbps•标准的异步通信位:起始位、停止位和奇偶校验位•线中止(Line-break)的产生和检测•完全可编程的串行接口特性EasyARM1138|Cortex-M3系列功能模块讲解通用异步收发器(UART)UART1UART0UART2EasyARM1138|Cortex-M3系列功能模块讲解同步串行接口(SSI)LM3S1138SPI主机SSITXSSIRXSSIFssSSICLKSPI从机MOSIMISOSSELSCKSSI对从外设器件接收到的数据执行串行到并行转换。CPU访问数据、控制和状态信息。发送和接收路径利用内部FIFO存储单元进行缓冲,该FIFO可在发送和接收模式下独立存储多达8个16位值。EasyARM1138|Cortex-M3系列功能模块讲解同步串行接口(SSI)•主机或从机操作•时钟位速率和预分频可编程•独立的发送和接收FIFO,16位宽,8个单元深。•FreescaleSPI、MICROWIRE、或德州仪器同步串行接口的操作可编程•数据帧大小可编程,范围为4~16位•内部回送测试(loopbacktest)模式,可进行诊断/调试测试EasyARM1138|Cortex-M3系列功能模块讲解同步串行接口(SSI)SSI0SSI1EasyARM1138|Cortex-M3系列功能模块讲解I2C接口内部集成电路(I2C)总线通过采用两线设计(串行数据线SDA和串行时钟线SCL)来提供双向的数据传输,并连接到串行存储器(RAM和ROM)、网络设备、LCD、音频发生器等外部I2C设备上。I2C总线也可在产品的开发和生产过程中用于系统的测试和诊断。LM3S1138微控制器包括2个I2C模块,提供与总线上其它I2C器件相互作用(发送和接收)的能力。SCLSDACPUACPUBLCD驱动器E2PROMADCEasyARM1138|Cortex-M3系列功能模块讲解I2C接口I2C0I2C1EasyARM1138|Cortex-M3系列功能模块讲解模数转换器(ADC)•8个模拟输入通道•单端和差分输入配置•内部温度传感器•1,000,000次/秒的采样率•4个可编程的采样转换序列,入口长度1到8,每个序列均带有相应的转换结果FIFO•灵活的触发控制•硬件可对多达64个采样值进行平均计算,以便提高精度EasyARM1138|Cortex-M3系列功能模块讲解模数转换器(ADC)EasyARM1138|Cortex-M3系列功能模块讲解模数转换器(ADC)8通道ADCStellaris系列通用定时器模块(GPTM)包含4个GPTM模块(定时器0,定时器1,定时器2和定时器3)。每个GPTM模块包含两个16位的定时器/计数器(称作TimerA和TimerB),用户可以将它们配置成独立运行的定时器或事件计数器,或将它们配置成1个32位定时器或一个32位实时时钟(RTC)。定时器也可用于触发模数(ADC)转换。EasyARM1138|Cortex-M3系列功能模块讲解定时器/计数器Eas