ARM Cortex-A8/A9开发板 | ARM11开发板ARM11开发套件 | ARM9开发板ARM9开发套件 | 飞思卡尔I.MX28I.MX6开发板 |
tiny210/mini210开发板 | mini6410开发板/套餐 | Tiny6410开发板无线套件 | mini2440开发板/套餐 | micro2440开发板带核心板 | 友善开发板配件 模块 | QQ2440 V3 SBC-2410X |
FL2440 OK2440-IV V4 | OK2440-III OK2440V3 | TE2440-II TE2440V2 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | 开发板配件 模块和其他 |
Xilinx开发板/fpga开发套件 | altera开发板/fpga开发套件 | 基于FMC FPGA/DSP子卡 |
BeagleBoard原厂开发板 | PandaBoard原厂开发板 |
TI DM3730 DevKit8500D | TI系列 omap3530开发板 | ATMEL系列 开发板 | Samsung系列 开发板 | 开发板配件-仿真器 模块 | NXP LPC3250 mini3250 |
Tiny210 三星S5PV210 | Mini210/Mini210s开发板 | Tiny4412开发板Cortex-A9 | Tiny6410开发板 ARM11 | mini2440开发板 ARM9 | micro2440开发板 ARM9 | mini6410开发板 ARM11 | 友善ARM开发板配件 模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
FL2440 OK2440-IV V4 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | OK210/-A Cortex-A8 | TE2440-II TE2440V2 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | ARM开发板配件 模块等 |
Real6410开发板/套餐 | Real210开发板/Real2410 | WIFI GPS GPRS模块摄像头 |
Xilinx开发板/开发套件KIT | Altera开发板/开发套件KIT | 配套模块 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | 最小系统模块类(初学者勿选) | 开发工具 仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
DM3730/AM3715/AM3359 | OMAP3530AM1808AM3517 | 飞思卡尔Cortex-A9开发板 | ATMEL系列ARM开发板 | NXP LPC3250 LPC1788 | Samsung系列ARM开发板 | STM32系列F207/F407 | ARM开发板配件-仿真器 模块 |
Realv210 S5PV210开发板 | Real6410开发板 ARM11 | WIFI GPS GPRS模块摄像头 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | ARM小系统模块(初学勿选) | 开发工具 ARM仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
Exynos4412开发板A9四核 | UT-S5PV210 S5PC100 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 |
Xilinx开发板 FPGA开发套件 | altera开发板 FPGA开发套件 | FMC模块 配件 下载线 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
s3c2410 ARM9 FS2410 | s3c2440开发板 ARM9 | s3c44B0开发板 ARM7 | s3c6410 2450 2443/13 | PXA270 PXA320 PXA255 | Atmel 9200 9261 9G20 | Philips NXP开发板YL-LPC | FS-EP9315开发板ARM9 | LCD液晶屏TFT真彩/触摸屏 | ARM仿真器/仿真调试工具 | ARM开发板配套ARM核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯开发板UP-DRAGON-I | 物联网教学科研设备 | EDA/FPGA/SOPC教学科研 |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | YC-ePC-A系列人机界面 | Mars-EDA套件CPLD FPGA | 触摸屏LCD 摄像头 WI-FI模块 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器/仿真系统 | DSP开发板/DSP试验箱 | DaVinci系列多媒体平台 | Xilinx FPGA大学计划产品 | SEED教学实验系统 | FPGA/DSP FPGA开发板 | TI原厂开发板套件/CCS软件 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
广嵌实验室项目产品 | GEC2440/GEC6410开发板 |
泰克Tektronix示波器 | 普源RIGOL示波器 | USB虚拟示波器 |
UT-S5PC100 UT-S5PV210 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 | 开发板模块wifi gps等 |
EMA OMAP3530开发板 | EMA OMAP 3530核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx Altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯系列 UP-DRAGON-I |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | 触摸屏LCD 摄像头 WI-FI模块 | Mars-EDA套件CPLD FPGA | ePC系列工控一体机ARM9 A8 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器 | DSP开发板 | DSP实验箱 | Xilinx FPGA大学计划产品 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
ARM开发板S3C6410等 | Cortex-A8/ARM11仿真器 | ADSP Blackfin开发板 | FPGA Spartan-3E开发板 |
GEC2410开发套件ARM9 | GEC2440开发套件ARM9 |
泰克 示波器 |
嵌入式体系资源有限,步伐通常都固化在ROM总运行。ROM中步伐实行前,必要对体系硬件和软件运行环境举行初始化,这些事变是用汇编语言编写的启动步伐完成。启动步伐是嵌入式步伐的开头部分,应与应用步伐一起固化在ROM中,应起首在体系上运行的启动步伐应包括各模块中大概出现的全部段类,并公道摆设他们的序次。
启动步伐一样平常流程如下:
(1) 设置入口指针
(2) 设置停止向量
ARM7请求停止向量必须设置从0地点开始,连续8*4字节的空间,分别是复位、未定义指令错误、软件停止、预取指令停止、数据存取错误、IRQ、FIQ和一个保存的停止向量
(要是ROM位于0地点,向量表包括一系列指令跳转到停止办事步伐,不然向量必须被动态初始化。可以在启动步伐中添加一段代码,使其在运行时将向量表拷贝到0地点开始的存储空间)
对付各未用的停止,用一个只包括返回指令的哑函数,以防备错误引起体系的紊乱。
(3) 初始化堆栈和寄存器
取决于利用了哪些停止,一样平常体系必要处理惩罚哪些错误范例。一样平常来说办理者堆栈必须设置,要是利用了IRQ停止,则IRQ堆栈必须设置。
要是体系利用了DRAM大概其他的外设,则必要设置相干的寄存器,以确定其革新频率,数据总线宽度等信息
(4) 初始化存储器体系
有些芯片可通过寄存器编程初始化存储器体系,而对付巨大体系通常集成了MMU来办理内存
(5) 要是有须要变化处理惩罚器模式、状态
要是体系应用步伐是运行在用户模式下,可在此处将体系改为用户模式并初始化用户的堆栈指针。
(6) 初始化C语言所必要的存储器空间
为精确运行应用步伐,在初始化时期应将体系必要读写的数据和变量从ROM拷贝到RAM里;一些请求快速相应的步伐,如停止处理惩罚步伐,也必要在RAM中运行; 要是利用FLASH,对FALSH的檫除和写入也肯定要在RAM里运行。ARM公司软件开辟东西包中的链接器提供了散布装载的成果,可以实现这一目标。
(7) 呼唤C语言
ARM有两种指令集:16位的Thumb指令集和32位的指令集。利用16位的存储器可以低落本钱,在这种环境下,Thumb指令集的团体实行速率要比ARM32位指令团体,并且进步了代码密度,以是一样平常用Thumb 编译器将C语言 步伐编译成16位代码。
处理惩罚器在一开始总是处于ARM状态,可利用BX指令转换到Thumb状态召唤C语言步伐,要细致的是用C语言编写的嵌入式步伐时,要克制利用不克不及被固化到ROM的库函数。
技能难点阐发
(1) MMU的利用
MMU 是存储器办理单位的缩写,是用来办理假造内存体系的器件。MMU通常是CPU的一部分,本身有少量的存储空间存放从假造地点到物理地点的立室表。此表称作TLB(转换旁置缓冲区)。全部数据恳求都送往MMU,由MMU决定命据只在RAM中还是在大容量的存储器配置内。要是数据不在存储空间内,MMU将孕育产生页面错误停止
MMU的两个重要成果是:
将假造地点转换为物理地点
控制存储器存取容许。MMU关失时,虚地点直接输出到物理地点总线。
在实践中,利用MMU办理了以下几个题目:
a. 利用DRAM作为大容量存储器时,要是DRAM行列黑白平方的,会导致该DRAM的物理地点不连续,这将给步伐的编写调试导致极大的不方便,而得当的配置MMU可将其转换成假造地点连续的空间
b. ARM内核的停止向量表放在0地点,对付ROM在0地点的环境,无法调用停止办事步伐,以是在调试阶段有须要将可读写的存储器空间映射到0地点。
c. 体系的某些地点是不容许被访问的,不然会孕育产生不可预料的结果,为克制这类错误,可以通过MMU立室表的设置将这些地点设为用户不可以存取范例;
d. 启动步伐中天生的立室表中包括地点映射,存储页面大小(1M、64K 大概4K)以及是否容许存取等信息。
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号