欢迎来到天天文库
浏览记录
ID:57112810
大小:484.00 KB
页数:53页
时间:2020-07-31
《基于ARM+Linux的嵌入式开发课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于ARMLinux的嵌入式开发主讲人:郑红ARM介绍ARMcoreARM芯片生产厂家基于ARMcore生产出不同型号的ARM芯片IP(知识产权)Fabless设备(如PDA)开发商ARMcoreARM920TARM芯片s3c2410电力采集终端ARM介绍ARM是目前世界上应用最为广泛的嵌入式处理器内核。具有以下特点:成本低,性能高功耗低体积小16位/32位双指令集在全球有众多的合作伙伴当前ARM体系结构的扩充包括:Thumb:16位指令集,用以改善代码密度DSP:用于DSP应用的算术运算指令集Jazeller:允许直接执行Java字节码的扩充ARM介绍ARM系列(vn表示ARM指
2、令集体系结构版本)ARMv4--ARM7(ARM720T)Samsung4510B--ARM9(ARM920T,ARM9TDMI,ARM926EJS,IntelStrongARM)ARM920T:MOTOROLAMX1,MXL,SamsungS3C2410AARM926EJS:MOTOROLAMX21ARMv5--ARM10(ARM1026,IntelXscale)Xscale:PXA255/PXA270,Monahans--ARM11(ARM1136)ARM1126:FREESCALEMX31ARM介绍ARMcore扩充标识ARM介绍常见ARM芯片ATMEL公司arm系列AT
3、91(工业级)/AT75/76(arm7+dsp)CirruslogicEP72xx/EP9xxx(IDE+fpu)Samsungs3c44b0/s3c2410/s3c2440MotorolaMX1/MX21/MX27/MX31IntelXscalePXA25x/PXA26x/PXA27x/IPX42xTIOMAPOMAP5910…ARM的体系结构基于RISC体系结构ARM和Thumb状态(可以用指令切换)7种处理器模式:用户模式usrFIQ--FastInterruptreQuest中断模式fiqIRQ--InterruptReQuest中断模式irq管理模式svc中止模式abt
4、系统模式(ARM体系结构v4及以上版本)sys未定义undARM的体系结构通用寄存器R0~R15分成3组:不分组寄存器R0~R7、分组寄存器R8~R14和程序计数器R15R8~R12fiqotherR13~R14usr&sysfiqsvcabtirqundR13--SPR14--LRR15--PC程序状态寄存器CPSR,SPSRARM汇编及与C语言的混合编程APCS标准(ARMProcedureCallStandard)APCS提供了一种紧凑编写例程的机制,定义了寄存器使用限制、栈使用惯例、函数调用间传递/返回的参数、可以被“回溯”的基于栈的结构。在汇编程序中调用C函数1.通过r0
5、~r2(a1~a3)传递参数2.为C函数准备栈空间3.跳转到C函数的入口ARM汇编及与C语言的混合编程在C程序中嵌入ARM汇编语句__asm{instruction[;instruction]…[instruction]}BootLoader分为stag1和stag2在stage1阶段要实现的功能包括以下几个主要的内容:1.硬件设备初始化。2.为加载BootLoader的stage2准备RAM空间。3.拷贝BootLoader的stage2到RAM空间中并设置好堆栈。4.跳转到stage2的C入口点。BootLoader在stage2通常包括以下步骤(以执行的先后顺序):1.初始化
6、本阶段要使用到的硬件设备。2.检测系统内存映射(memorymap)。3.将kernel映像和根文件系统映像从flash上读到RAM空间中。4.为内核设置启动参数。5.调用内核。BootLoader两种模式:“启动加载”模式和“下载”模式Flash的分区:bootloader,kernel映像,rootFS,用户数据区“下载”模式是针对开发的首先通过JTAG口固化好bootloader,然后进入“下载”模式,用串口通信方式或网口通信方式将宿主机上的kernel映像和rootFS下载到Flash上。Linux基础UnixFamilyLinux基础DennisRitchie1971Un
7、ix/CRichardStallman1984GNULinusTorvalds1991LinuxUnix,GNU,LinuxLinux发行版Linux发行版Linux基础Unix/Linux的体系结构Linux相对于Windows的不同之处大小写敏感文件的类型不是由文件名后缀决定的,而是由文件的属性决定的。ls-l查看文件属性除了网络一切都是文件没有“盘符”的概念,只有相应的设备文件IDE/dev/hda1,/dev/hda2,/dev/hdb1,SCSI(包括u盘)
此文档下载收益归作者所有