一.Cortex M3的GPIO口特性    在介绍GPIO口功能前,有必要先说明一下M3的结构框图,这样能够更好理解总线结构和GPIO所处的位置. Cortex M3结构框图     从图中可以看出,GPIO口都是接在APB总线上的,而且M3具有两个AHB到APB桥,GPIO则直接接在AHB矩阵上,这样可以减少CPU和DMA控制器之间的竞争冲入,获得较高性能.APB总线桥配置为写缓冲区,使得CPU或DMA控制器可直接操作APB外设,而无需等待总线写操作完成. M3数字I/O功能:高速GPIO口…
灵动微电子ARM Cortex M0 MM32F0010 GPIO的配置 目录: 1.前言 2.学习方法简要说明 3.要点提示 4.注意事项 5.MM32F0010系统时钟的配置 6.MM32F0010的GPIO初始化配置 7.MM32F0010 GPIOA PA7驱动LED灯每隔一秒翻转一次 1.前言: MM32F0010是基于ARM Cortex M0核的32位微控制器(MCU)即32位的单片机,使用库函数开发,每一个片上外设都有与之对应的外设xx.c和xx.h库函数,例如:hal_rcc.…
Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors The goal of the project was to use the Serial Wire JTAG protocol implemented in the ARM cortex processors for programming the flash memory of it. JTAG was actually imple…
ARM7 ARM9 ARM Cortex M3 M4 区别 arm7 arm9 可以类比386和奔腾, 不同代,arm9相比arm7指令集和性能都有所增强,arm7和arm9都有带mmu和无mmu的版本,不过大多的arm7都不带,而大多的arm9的都带.所以一般是arm7跑实时操作系统像ucos做简单的控制应用,而arm9跑linux,cortex是更新一代,分高端的A系列和和低端的M系列,来接arm9和arm7的班 一般情况下ARM7 Cortex-M3 Cortex-M4可以认为是一类,M3…
Cortex-m3启动代码分析笔记 启动代码文件名是STM32F10X.S,它的作用先总结下,然后再分析. 启动代码作用一般是: 1)堆和栈的初始化: 2)中断向量表定义: 3)地址重映射及中断向量表的转移: 4)设置系统时钟频率: 5)中断寄存器的初始化: 6)进入C应用程序. (1)按启动代码的次序,先看堆和栈的初始化: Stack_Size EQU 0x00000200 ;定义Stack_Size为0x00000200 AREA STACK, NOINIT, READWRITE, ALIG…
解析 STM32 的启动过程 解析STM32的启动过程 当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择.如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main函数开始执行.但一个经常会被忽略的问题是:微控制器(单片机)上电后,是如何寻找到并执行main函数的呢?很显然微控制器无法从硬件上定位main函数的入口地址,因为使用C语言作为开发语言后,变量/函数的地址便由编译器在编译时自行分配,这样一来main函数的入口地址在微控制器的内部存储空间中不再是绝对不…
此书有点深,记录点自己能够看懂的. 1.内存管理一章:讲到变量的类型.生存周期.内存分配. auto static register 局部变量,全局变量 malloc free 内存碎片,消除内存池的一个常见的策略是可以使用分配池 2.共享内存一章:讲到如何编写可重入函数,很多库函数都是设计为可重入函数的,函数体内不能有全局变量和静态变量,有的参数可以通过指针(或二级指针)实现. const类型限定符,使用方法有以下几种: const int p; const int p; int const…
GPIO(general purpose intput output)是通用输入输出端口的简称,可以通过软件来控制其输入和输出.STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯.控制以及数据采集的功能.不过 GPIO 最简单的应用还属点亮 LED 灯了,只需通过软件控制 GPIO 输出高低电平即可.当然 GPIO 还可以作为输入控制,比如在引脚上接入一个按键,通过电平的高低判断按键是否按下.其中STM32F103xC.STM32F103xD和STM32F103xE有144…
ARM架构:  由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~ARMv8种类. ARM7:       一类采用ARMv3或ARMv4架构的,使用冯诺依曼结构的内核. ARM9:       一类采用ARMv4或ARMv5架构的,使用哈佛结构的内核. Cortex M3: 采用了ARMv7架构的,使用哈佛结构的内核. Cortex M4: 采用了ARMv7架构的,使用哈佛结构的内核.(较前者最大区:别增加了一个DSP处理功能,SIMD单指令多数据功能.其他区别请自…
ARM linux电源管理——Cortex A系列CPU(32位)睡眠和唤醒的底层汇编实现 承接 http://www.wowotech.net/pm_subsystem/suspend_and_resume.html Linux电源管理(6)_Generic PM之Suspend功能一文中的下图. 本文主要分析平台相关的CPU睡眠和唤醒,即下电和上电流程,以及ARM底层汇编代码实现. 内核版本:3.1.0               CPU:ARM Cortex-A7 1 平台相关函数执行流程…