平台介绍:mini2440开发板,S3c2440主芯片
硬件信息
1.130个IO口,289个引脚17*17,BGA封装
2.电源
内核:1.25v
内存电源:1.8V
GPIO:3.3v
3.芯片内部有4K字节的SRAM空间0x40000000-0x40001000;
4.s3c2440外部
主频:12M晶振
内部RTC晶振(时钟,万年历)32.768KHZ
5.复位电路
MAX811:上电复位。按键复位,电压低于一定值复位
6.存储芯片
K9F1216D0A为NANDflash
Am29LV160DB为NORFLASH
均用来存储程序和数据
HY57V561620--SDRAM 内存
ARM有两种启动方式:一种为NORFLASH一种NANDFLASH
由OM0和OM1两个引脚决定
4.ARM的GPIO口操作步骤:(以IO口GPB为例)
1)配置GPIO口功能 GPBCON
2)配置有无上拉电阻 GPBUP
3)操作(输出1或者输出0)GPBDAT
1.ARM寻址空间
1)0x0000 0000 NORFLASH的起始地址(片外)存储下载的程序
2)0x3000 0000 SDRAM的起始地址(片外) 用J-Link进行debug时把程序代码放入此空间
3)0x4000 0000 ——0x4000 1000芯片内部SRAM的起始地址,有4K的SRAM空间
SDRAM和SRAM只是存储空间大小和存取速度不同
4)ARM总寻址空间为1G,分为8个bank,每个bank128M (2 的27次方) bank0——bank7
只有bank6和bank7可以作为SDRAM空间使用
5)NANDFLASH---它是有独立的NANDFLASH控制器控制的,所以地址是独立编址的,与ARM的寻址没关系
2.keil里面的code,ro,rw,zi,bass (实践:在keil中编译程序后看它们的大小变化情况)
1)code:代码大小
ro:只读,就是代码在内存中占用的区间,可以理解为每次从ROM取指到RAM中的代码(指令)大小
rw:已初始化,可读可写,程序运行时代码需要占用的内存大小,小于这个区间程序会出错 局部变量(已初始化char i=0;) 和全局变量都属于RW范围
zi:未初始化段又叫bass段 char i;没初始化i
3.程序存放位置
NORFLASH与NANDFLASH,ARM从它们哪个启动由引脚OM0,OM1决定
4.内部模块:
1)HOST USB 主动的,相当于电脑的USB,可以检测其他USB设备
Deveice USB 被动 相当于U盘
2)五个定时器(四个可以做PWM,另一个内部定时器)
3)内部RTC必须外接电池和晶振
4)ADC有8通道10位,其中有4通道与触摸屏共用
5)60个中断源
7)camera视频
AC97音频:麦克风和耳麦
8)FCLK:主频CPUI 最高达 533M (推荐400M)
HCLK:高速总线 (推荐200M)
PCLK:低速总线 (推荐50M)
设置FCLK,HCLK,PCLK时
先设置分频比例
再只需设置FCLK
UCLK为USB时钟