1_ARM开发环境

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM处理器 存储控制器 SRAM FLASH DRAM 外部总线
AHB-外桥 中断控制器
AHB裁决 AHB-APB桥 以太网 计数器/定时器 控制台 串行UARTs 以太网物 理驱动
实时时钟
ARM
控制器
外围器件
总线
CPU/MCU/SOC
MCU(micro controller unit),俗称单片机 SOC(system on a chip) ,系统级芯片 SOC = CPU + 运算模块 + 控制模块 + 寄存模块 + 前端模拟A/D模块 + …… 功能十分强大,单一芯片集合多种功能模块
全球雇员800+ 1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权 目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的 ARM微 处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系 统等各类产品市场,占据了32位RISC微处理器75%以上的市场份额。
ARM芯片
RVDS配置源码工程
4、编译器选项:RVDS编译器是armcc, 体系结构选择ARM1176JZF-S
RVDS配置源码工程
5、链接器选项:代码段入口地址设为0x50000000
RVDS配置源码工程
6、设置起始代码段:start.o的init段
RVDS配置源码工程
7、选择输出裸机程序bin文件
进入Uboot命令行
1、从Nand Flash启动,终止OS加载过程,进入Uboot菜单
3秒内按下任意键
2、进入Uboot命令行shell
进入shell
Uboot常用命令
1、命令帮助help
2、查看环境变量printenv
Uboot常用命令
3、设置环境变量setenv
Uboot常用命令
4、测试网络联通情况ping
引导程序
开发板Uboot引导
开发板系统启动过程: 1、Bootloader启动
2、OS加载
3、App运行
Uboot从哪里来?
Uboot存放在哪里?--固态存储设备NAND FLASH Uboot在哪里运行?--从NAND拷贝到内部SRAM(静态内存)中运行 S3C6410
sram(stepping stone)
常见的变种有:
T M E J
• Thumb指令集
• 长乘法指令 • 增强型Dsp指令 • ava加速器Jazella,Java指令支持
SIMD • ARM媒体功能扩展
例如: ARMv5TxM表示ARM指令集版本为5,支持T变种,不支持M变种。
ARM处理器命名
采用上述的架构,形成一系列的处理器 ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S} · x -- 处理器系列 · y -- 存储管理/保护单元 · z -- cache · T -- 支持Thumb指令集 · D -- 支持片上调试 · M -- 支持快速乘法器 · I -- 支持Embedded ICE,支持嵌入式跟踪调试 · E -- 支持增强型DSP指令 · J -- 支持Jazelle · F -- 具备向量浮点单元VFP · -S -- 可综合版本 ARM7TDMI之后的所有ARM内核,即使“ARM”标志后没有包含那些字符,但也包含了TDMI特 性 例如,本课程使用的开发板处理器是ARM11ZJF-S
SDRAM
0x0c000000 0x50000000
硬件自动拷贝uboot启动代码
NAND uboot
wk.baidu.com4k
所以uboot启动后,可以将程序下载到 0x0c001000(偏移4K)和0x50000000安全运行
而其他程序需要加载到SDRAM(动态内存运行) SRAM运行速度很快,但成本很高,只用作内部高速缓存 而SDRAM成本较低,运行时需要动态刷新,用作外部主存
ARM开发环境
课程安排
ARM技术与发展 ARM开发工具RVDS 使用RVDS开发LED灯驱动
什么是ARM
IP CORE 公司名 开发工具 ARM 体系结构 RISC
ARM(Advanced RISC Machines) 一个公司的名字,一类微处理器的通称,一种技术的名字。
ARM公司
• ARM9系列: 1997年问世,使用哈佛结构,5级流水线,能够运行在更 高的时钟频率上,加入了D+I cache、MMU,大大提供处理器性能 • ARM10系列:1999年发布,把ARM9流水线扩展到6级。执行ARMv5TE 指令集
ARM处理器系列
• ARM11系列:发布于2003年,执行ARMv6架构指令集, ARMv6包含了针对 媒体处理的SIMD扩展,改善视频处理性能。它由8级流水线组成,可以使8 条指令同时被执行。 本课程使用的开发板处理器是ARM11ZJF-S • Cortex系列: ARMV7架构及之后的最新的ARM系列产品取名Cortex,由A 、R、M三个系列组成:
RVDS配置源码工程
2、Target Setting配置:Post-Linker选择ARM fromELF,表示在链接生成映 象文件后,再调用fromELF命令将含有调试信息的 ELF格式的映象文件转换为 其他格式的文件
RVDS配置源码工程
3、汇编器选项: RVDS汇编器是 armasm,体系结构选择ARM1176JZF-S
课程安排
ARM技术与发展 ARM开发工具RVDS 使用RVDS开发LED灯驱动
LED灯驱动程序
硬件接口原理图: 1、LED与GPIO连接: 参考《主板原理图Tiny6410-1107.pdf》
LED1~LED4对应的GPK4~GPK7 引脚
LED灯驱动程序
硬件控制原理: 2、当某一管脚(nLed1-nLed4)置低:电路接地,跟3.3v电源之间有压差, Led电路被导通,电流流经Led发光二极管使其点亮。 3、当某一管脚(nLed1-nLed4)置高:电路被切断,Led发光二极管被熄灭 。 4、因此,驱动程序只要将GPIO管脚设置为输出,对某个GPIO管脚置低、 置高,就会控发光二极管的点亮和熄灭。
RVDS创建源码工程
5、为工程增加6410_driver组
RVDS创建源码工程
6、将源代码分别添加到6410_driver
RVDS创建源码工程
7、先择生产目标调试信息选项 (1)Debug:为每一个源代码生成最完整的调试信息 (2)Release:不会生成任何调试信息
RVDS配置源码工程
1、点击Edit 菜单,选择“DebugRelSetting„”,进行项目配置
接口资源
启动模式
6410开发板选择了其中两种启动方式,nand flash启动和SD卡启动:
• 拨动S2 开关到SDBOOT标识一侧时,系统将从SD卡启动:引导程序固 化在SD卡中
• 拨动S2 开关到Nand标识一侧时,系统将从Nand Flash 启动:引导程 序固化在Nand中
什么是引导程序
ARM核为CPU,而S3C6410为SOC(好比PC的主板:CPU+南北桥)
ARM裸机运算—RISC指令集
CISC RISC
编译器
更高的 复杂性
编译器
生成代码 更高的 复杂性
生成代码
处理器
处理器
ARM核采用RISC指令结构,具有高性能、高代码密度和低功耗等特是移动嵌 入式设备的最佳选择 RISC(精简指令集),其目标是设计出一套能在高时钟频率下单周期执行, 简单有效的指令集
RVDS配置源码工程
8、清除已有编译目标
RVDS编译源码工程
1:编译工程,构造程序(F7)
RVDS编译源码工程
2:proj工程目录内下生成6410.bin程序映像
将6410.bin通过tftp下载到开发板0x50000000地址, go 50000000运行
RVDS在线调试
RVDS上集成的ADX在线调试功能需要用到JLINK仿真器,通过JTAG接口与CPU 连接实现硬件仿真:在线调试在以后课程中介绍
ARM提供设计CPU所需的IP核(电路图、代码、文档等),处理核心逻辑运算(ALU) 其他CPU生产商(如SAMSUNG)利用IP核技术生成出自己的CPU(如S3C6410) S3C6410除了ARM核,还加入自身的外围设备控制器(如实时钟、定时器、中断等)
ARM核处理器
嵌入式系统用于控制各种不同外设,一个基于ARM的嵌入式处理器的主要部 件如下: ROM
Cortex-A:应用处理器(Application Processor)系列
Cortex-R:实时处理器(Real Time Control)系列 Cortex-M:微控制器(Micro Cotroller)系列 如iphone4手机采用Cortex-A8核
教学ARM芯片选择
根据大专、高职院校的实际情况结合当前及未来一段时间的市场人才需求, 本课程教学选取的是SAMSUNG公司的S3C6410A芯片
RVDS交叉开发环境
RVDS创建源码工程
1、新建工程:在RVDS集成开发环境中,点 File->New,打开窗口
RVDS创建源码工程
2、选择ARM Executable Image,点击set选择源码工程目录
RVDS创建源码工程
3、输入工程名为“proj”,并确定
RVDS创建源码工程
4、右键点击在工程面板,弹出文件、组管理菜单
ARM处理器系列
• 处理器系列是共享相同硬件特性的一组处理器的具体实现 如ARM7TDMI、ARM740T、ARM720T都属于ARM7系列
• 系列划分是基于ARM7,ARM9,ARM10和ARM11内核的
后缀数字7,9,10,11表示不同的内核设计,升序说明了性能和复杂 性的提高
• ARM7系列:冯.诺伊曼体系结构,3级流水线,执行ARMv4指令集, 1995年提出的ARM7TDMI是目前非常流行的内核
ARM产品
ARM产业链
ARM技术
ARM架构命名
| ARMv | n | variants | x(variants) |
ARMv:固定字符,即ARM Version n :指令集版本号。迄今为之,ARM架构版本发布了7个版本,n=[1:7] variants:变种 x(variants):排除x后指定的变种
课程安排
ARM技术与发展 ARM开发工具RVDS 使用RVDS开发LED灯驱动
什么是RVDS
1、 RealView Developer Suite工具是ARM公司是推出的新一代ARM集成开发 工具:支持ARM工程代码的编辑、编译、调试、运行 2、我们重点集在这两个图形界面工具的使用: (1)、Code Warrior是一个集成界面提供代码编辑,目标代码编译,链接的一 个图形GUI环境. (2)、AXD (ARM eXtended Debugger) :提供在线仿真功能
开机后第一个运行的程序,如PC的BIOS,完成必要硬件(CPU、SDRAM)的初始化, 然后加载操作系统(OS) 不同平台的引导程序有不同的称谓(如BIOS、BSP),而在Linux平台称为 Bootloader 常用的开源Bootloader有blod、Uboot,Uboot号称通用Bootloader,可以支持包括 ARM在内的大多数CPU体系和SOC,使用前只要进行必要的移植
S3C6410A是一款基于ARM11JZF-S核心的微处理器芯片,运行ARMv6架构 指令集
带MMU,矢量中断,高效的视频处理性能,完全支持Linux + Android双系统 后面课程将在S3C6410开发板上详细介绍S3C6410A接口驱动和ARMv6架构编程
6410开发板
采用Samsung S3C6410 为微处理器
Uboot常用命令
5、通过网络下载文件tftp
Uboot通过tftp服务从服务器/tftp目录下载文件 前提必须在PC-Linux上配置好tftp服务器 参考附录“RHEL5-TFTP服务器安装配置”
Uboot常用命令
6、显示内存区内容md
Uboot常用命令
7、下载可执行程序映像
8、运行可执行程序映像 go
1. CPU 处理器 Samsung S3C6410A,ARM11JZF-S核,运行主频533MHz,最高 667Mhz
2. SDRAM 内存 在板128MB/256MB DDR RAM,32bit 数据总线
6410开发板
底板+核心板
核心板
S3C6410 DataSheet
S3C6410芯片描述文档,描述了SOC与外设的连接与控制方法,是驱动开 发人员编程手册 手册中描述的S3C6410功能框图:
相关文档
最新文档