摘要: 在介绍基于ARM 体系的嵌入式系统 启动流程的基础上,结合编程 实例,详细、系统地叙述了BSP(板级支持包)程序的各个组成部分及其具体设计方案,并就实际程序设计中的几个难点问题做了说明。
ARM公司 在32位RISC 的CPU 开发领域不断取得突破,其结构已经从V3发展到V6。
BSP(Board Support Package)板级支持包介于主板硬件 和操作系统 之间,其功能与PC机上的BIOS 相类似,主要完成硬件初始化并切换到相应的操作系统。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks 的BSP和Linux 的BSP相对于某一CPU来说,尽管实现的功能一样,可是写法和接口 定义是完全不同的。另外,仔细研究所用的芯片资料 也十分重要,例如尽管ARM在内核上兼容,但每家芯片 都有自己的特色。所以这就要求BSP程序员 对硬件、软件和操作系统都要有一定的了解。
本文介绍基于ARM体系的嵌入式 应用系统初始化部分BSP的程序设计。本文引用的源码全部是基于HMS320C7202芯片设计,并已成功运行。
1 初始化过程
尽管各种嵌入式应用系统的结构及功能差别很大,但其系统初始化部分完成的操作有很大一部分是相似的。嵌入式系统的启动流程如图1所示。
1.1 设置入口指针
启动程序首先必须定义指针,而且整个应用程序只有一个入口指针。一般地,程序在编译链接时将异常中断向量表链接在0地址处,并且作为整个程序入口点。入口点代码如下:
ENTRY(_start) ;开始
1.2 设置异常中断向量表
ARM要求中断向量表必须放置在从0开始、连续8×4字节的空间内。各异常中断向量地址以及中断的算是优先级如表1:表1 各异常中断的中断向量地址以及中断的处理优先级
中断向量地址 异常中断类型 异常中断模式 优先级(6最低) 0x0 复位 特权模式(SVC) 1 0x4 未定义中断 未定义指令中止模式(Undef) 6 0x8 软件中断(SWI) 特权模式(SVC) 6 0x0c 指令预取中止 中止模式 5 0x10 数据访问中止 中止模式 2 0x14 保留 未使用 未使用 0x18 外部中断请求(IRQ) 外部中断(IRQ)模式 4 0x1c 快速中断请求(FIQ) 快速中断(FIQ)模式 3
每当一个中断发生后,ARM处理器 便强制把程序计数器(PC)指针置为向量表中对应中断类型的地址值。因为每个中断向量仅占据放置1条ARM指令的空间,所以通常放置1条跳转指令或向程序计数器(PC)寄存器 赋值的数据访问指令,使程序跳转到相应的异常中断处理程序执行。如果异常中断处理程序起始地址小于32MB,使用B跳转指令;如果跳转范围大于32MB,使用LDR指令。
另外,对于各未用中断,可使其指向一个只含返回指令的哑函数,以防止错误中断引起系统的混乱。
1.3 初始化存储系统
初始化存储系统的编程对象是系统的存储器控制器 ,一个系统可能存在多种存储器类型的接口,不同的存储系统的设计不尽相同。Flash和SRAM 同属于静态存储器类型,可以合用一个存储器端口 ;而DRAM 因为有动态刷新和地址线复用等特性,通常配有专用的存储器端口。其中,SD RAM必须在初始化阶段进行设置,因为大部分的程序代码 和数据都要在SDRAM中运行。
在HMS30C7202中,与SDRAM配置有关的寄存器有4个:配置寄存器、刷新定时寄存器、写缓冲写回寄存器和等待驱动寄存器,需要根据实际的系统设计对此分别加以正确配置。
SDRAM的初始化过程如下:加电→延迟10ms(各具体SDRAM器件延时时间可能不同)→设置配置寄存器参数 →延时→写刷新定时寄存器,设置刷新周期→延时→使能自动刷新→延时→设置模式寄存器(位于SDRAM内部)。
1.4 存储器地址分布重映射(remap)和MMU
系统一上电,程序将自动从0地址处开始执行。因此,必须保证在0地址处存在正确的代码,即要求0地址开始入是非易失性的ROM 或Flash等。但是因为ROM或Flash的访问速度相对较慢,每次中断响应发生后,都要从读取ROM或Flash上面的向量表开始,影响了中断响应速度。一般程序执行后将SDRAM映射为地址0,并把系统程序加载到SDRAM中运行,其具体步骤可以采用以下的方案:
(1)上电后,从0地址的ROM开始往下执行;
(2)根据映射前的地址,对SDRAM进行必要的代码和数据拷贝;
(3)拷贝完成后,进行重映射操作;
(4)因为RAM在重映射前准备好了内容,使得PC指针能继续在RAM里取得正确的指令。
在这种地址映射的变化过程中,程序员需要仔细考虑的是:程序的执行流程不能被这种变化所打断,注意保证程序流程在重映射前后的承接关系。
存储器的地址分配是很灵活的,可以将I/O操作映射成内存操作,也可以通过映射对某些不可访问的地址空间进行保护等。进行存储器初始化设计时,一定要根据应用程序的具体要求来完成地址分配。对地址管理通过MMU即存储器管理单元实现。
在ARM系统中,MMU通过页式虚拟存储管理,将虚拟空间和物理空间分别分成一个个固定大小的页,并建立两者之间的映射关系,从而实现虚拟地址到物理地址的转换。MMU还可完成存储器访问权限的控制和虚拟存储器空间缓冲特性的设置。
以下是实现MMU的部分代码:
for =(i=1;i<0x1000;i++){
pagetable[i]=(i<<20)|MMU_SECDESC;
} //建立页表,每页大小为1MB,页表偏移序号是物理地址的高12位;
for(ad dr=SDRAM_BASE;addr<(SDRAM_BASE+SDRAM_SIZE/2);addr+=SIZE_1M)
pagetable[addr>>20]=addr|MMU_SECDESE|
MMU_CACHEABLE|MMU_BUFFERABLE;
//将SDRAM_BASE至(SDRAM_BASE+SDRAM_SIZE/2)空间的设置为不可CACHE和不可BUFFER的
for(addr=SDRAM_BASE+SDRAM_SIZE/2;addr<(SDRAM_BASE+SDRAM_SIZE);addr+=SIZE_1M)
pagetable[addr>>20]=(addr+0x1000000)|
MMU_SECDESC|MMU_CACHEABLE|MMU_BUFFERABLE;
//将这段空间的地址映射关系设置为VA(虚拟地址)=PA(物理地址)+0x1000000
pagetable[0]=(0x42f00000)|MMU_SECDESC|MMU_CACHEABLE|MMU_BUFFERABLE;
//将SDRAM的虚拟地址0x42f00000映射到0处
1.5 初始化各模式下的堆栈指针
因为ARM处理器有7种执行状态,每一种状态的堆栈指针寄存器(SP)都是独立的(System和User三项式使用相同SP寄存器)。因此,对程序中需要用到的每一种模式都要给SP寄存器定义一个堆栈地址。方法是改变状态寄存器(CPSR)内的状态位,使处理器切换到不同的状态,然后给SP赋值。这里列出的代码定义了三种模式的SP指针,其中,I_Bit表示IRQ的中断禁止位;F_Bit表示FIQ的中断禁止位:
@;Set up SVC stac k to be 4K on top of zero-init data
LDR r1,=installStack
ADDsp ,r1,#2048
@;Set up IRQ and FIQ stacks
MOV r0,#(Mode_IRQ32|I_Bit)
MSRcpsr,r0
MOV r0,r0
ADDsp,r1,#2048*2
MOV r0,#(Mode_FIQ32|I_Bit |F_Bit)
MSR cpsr,r0
MOV r0,r0
ADDsp,r1,#2048*3
一般堆栈的大小要根据需要而定,但是要尽可能给堆栈分配快速和高带宽的存储器。堆栈性能的提高对系统性能的影响是非常明显的。
1.6 初始化有特殊要求的端口、设备
有些关键的I/O部件必须在使能IRQ和FIQ之前进行初始化。因为如果在使能IRQ和FIQ之前没有进行初始化,可以产生假的异常中断信号 。程序中初始化了HMS30C7202的串口1用来调试程序与其它设备通信 。串口1是一个通用全双工异步接收/发送器(UART ),它支持16C550的大部分功能。UART有接收缓冲/发送保持寄存器、波特率除数锁存器、中断允许寄存器等9个寄存器。对串口1的初始化主要是对各寄存器的设置,其实现代码如下所示:
_outb(ser_base+0x30,1);
_outw(0x8002301c,0xffff9f9f) ;GPIO PORT A Enable
Register
_outw(0x800230A4,0x6060) ;GPIO PORT A Multi Function elect-Register
serial_outb(SERIAL_LCR,0x80);
serial_outb(SERIAL_LCR,0x80);
serial_outb(SERIAL_DLL,baud_data[cur_baud]);
serial_outb(SERIAL_DLM,0x0);
serial_outb(SERIAL_LCR,0x03);
seial_outb(SERIAL_FCR,0x01);
serial_outb(SERIAL_IER,0x00);
serial_outb(SERIAL_MCR,0x03);
1.7 切换处理器模式,开中断
最后转换到应用程序运行所需的最终模式,一般是User模式。不要过早切换到User模式进行User模式的堆栈设备。因为进入User模式后就不能再操作CPRS 回到别的模式了,可能会对接下去的程序执行造成影响。
这时才使能异常中断,通过清除CPRS寄存器中的中断禁止位实现。如果过早地开中断,在系统初始化之前就触发了有效中断,会导致系统的死机。
1.8 呼叫主应用程序
当所有的系统初始化工作完成后,就需要把程序流程转入主应用程序。图2 2 技术难点分析
2.1 多种语言的混合编程
ARM有两种汇编 指令集:16位THUMB指令集和32位ARM指令集。使用16位的寄存器可以降低成本,而且16位THUMB指令集整体执行速度比ARM 32位指令集快,提高了代码密度。为了满足ARM子程序和Thumb子程序互相调用,必须保证编写的代码遵循ATPCS。ATPCS规定了子程序调用的基本规则。
ARM系统结构也支持C、C++ 以及汇编语言的混合编程。汇编语言和C/C++语言的混合编程,在一个追求效率的程序中比较常见。许多人认为像BSP这样底层的程序应该用纯汇编语言编写,其实不然。用汇编语言编写的程序可读性不高,而且不宜维护,不便于向其它类型的CPU移植,而这些方面却是C语言 程序的优势。BSP能否用纯C语言去写呢?也不行。因为某些操作是用C实现不了的。例如操作特殊寄存器的指令、CP15寄存器的指令、中断使能及堆栈地址的设定等。在汇编和C/C++之间的函数调用时,也要遵循ATPCS的定义,还要注意的是用C语言编写嵌入式程序时,要避免使用不能被固化到ROM中的库函数。
混合编程情况下的程序编译及链接后的输出代码与没有混合编程时是不同的。所以当多个源文件如果使用了不同的设置进行编译,相互之间的调用可能产生兼容性问题,对此一定要加以仔细考虑。编译时,要告诉编译器和链接器足够的信息 ,一方面,让编译器能够使用正确的指令码进行编译;另一方面,在不同的状态之间发生函数调用时,链接器将插入一段链接代码(veneers)来实现状态转换。
2.2 MMU的实现过程
页表是实现MMU的重要手段。页表存放在内存中,从虚拟地址到物理地址的变换过程其实就是查询页表的过程。大小为1MB的存储块通常被称为段,图2说明了如何查表进行段式寻址的全过程:32位的虚拟地址可分为12位的一级页表序号和20位的段内地址偏移。12位的一级页表序号和CP15寄存器的C2中的18位变换表基址合并成一级描述符地址查表找出相应的一级描述符;然后,段对应的物理基地址与段内地址偏移量合并成为真正的存储器存取地址即物理地址,读出相应数据。
本文介绍的BSP程序已经在以HMS30C7202为主芯片的开发系统上运行并测试通过,并且成功地引导了Linux内核,文中引用代码可以直接使用。今后可以在此基础上添加命令行解释程序,在引导操作系统前进行存存储器的读写等,扩展开发系统的功能。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
相关推荐
嵌入式 处理器1.2.1 嵌入式 处理器的分类1.2.2 ARM 微处理器1.2.3 Nios微处理器1.2.4 DSP1.2.5 嵌入式 微处理器的选型原则1 3 嵌入式 操作系统 1.3.1 操作系统 的概念
2013-01-05 15:01:02
高中端市场的趋势。本书以ARM 9处理器和Linux操作系统 为主线,全面介绍了嵌入式 系统 的开发过程,详细讲解了系统 的软硬件设计、调试,以及嵌入式 操作系统 移植和嵌入式 驱动程序 开发,从部件编程到嵌入式
2016-07-11 18:01:38
ARM 嵌入式 体系 结构与接口技术.pdf{:1:}{:1:}{:1:}ARM SoC体系 结构(中文版).pd
2013-03-23 16:04:52
大大提升了。本文旨在通过讨论系统 程序设计 中的几个基本方面,来说明基于ARM 的嵌入式 系统 程序 开发的一些特点,并提出和解决了一些常见的问题。文章分成几个相对独立的章节刊载。第一部分讨论基于ARM 的嵌入式 程序 开发和移植过程中的一些基本概念。 [hide][/hide]
2009-11-13 11:53:54
ARM 嵌入式 系统 中的体系 结构
2021-12-14 08:58:48
ARM 嵌入式 系统 的基本结构和常见的ARM 微处理器ARM 被称为嵌入式 微处理器核。ARM 嵌入式 系统 由3部分组成,即嵌入式 系统 硬件平台,嵌入式 操作系统 (代码)和嵌入式 系统 应用。1、嵌入式 系统 硬件平台主要
2021-10-28 09:27:12
GUI程序 开发第12章软件项目管理第3篇Linux系统 篇第13章ARM 体系 结构及开发实例第14章深入Bootloader第15章解析Linux内核第16章嵌入式 Linux启动流程第17章Linux文件系统 第18章建立交叉编译工具链第19章强大的命令系统 BusyBox第20章Linux内核移植
2018-09-14 08:57:17
。嵌入式 LINUXWinCEAndroidTinyOS嵌入式 实时操作系统 (RTOS)FreeRTOS μTenuxVxWorksμClinuxeCos μC/OS-IIo ARM 嵌入式 操作系统 导读
2014-03-25 14:15:11
某个新型号的开发版上;二是能写Linux驱动程序 的人;三是熟悉Linux内核裁减和优化的人。我院在该嵌入式 Linux方面的课程系列是:本科生操作系统 必修课,然后是Linux程序设计 选修课,最后是嵌入式
2018-07-05 08:04:27
ARM 处理器内核的体系 结构典型ARM 处理器内核(ARM 9.Cotex- A.Cotex- M . Cortex- R等的技术特点与应用领域)ARM 处理器指令系统 及汇编语言程序设计 ...
2021-12-22 06:29:30
嵌入式 系统 .第五章.ARM 汇编程序设计 .ARM 汇编程序设计 20 目录5 ARM 汇编程序设计 5.2 ARM 汇编程序设计 25.2.1课堂重点5.2.2测试与作业6 下一章0 目录5 ARM 汇编程序设计 5.2 ARM 汇编程序设计 25.2.1课堂重点5.2.2测试与作业6 下一章博客地址: ...
2021-12-14 07:03:54
慕课电子科技大学.嵌入式 系统 .第五章.ARM 汇编程序设计 .ARM 汇编程序 格式0 目录5 ARM 汇编程序设计 5.1 ARM 汇编程序 格式5.1.1课堂重点5.1.2测试与作业6 下一章0 目录5 ARM 汇编程序设计 5.1 ARM 汇编程序 格式5.1.1课堂重点5.1.2测试与作业6 下一章博客地...
2021-12-20 06:31:40
过渡,向网络化功能发展,ARM 等齐头并进,嵌入式 操作系统 呈多元化趋势,所有的嵌入式 处理器都是基于一定的架构的,即IP核(Intellectual Property,知识产权)。谈及体系 我们都会想到ARM
2020-05-18 14:36:57
文章目录嵌入式 系统 概述基本概念嵌入式 系统 的发展发展历史发展趋势组成结构设备驱动层硬件抽象层HAL板级支持包BSP 设备驱动程序 实时操作系统 RTOSOS的应用程序 接口API应用程序 APP嵌入式 处理器
2021-07-16 08:15:30
Linux应用程序 5、嵌入式 系统 移植 Linux内核代码 平台相关代码分析 ARM 平台介绍 平台移植的关键技术 移植Linux内核到 ARM 平台 了解移植的概念 能够移植Linux内核移植Linux2.6
2012-10-21 10:55:24
U-boot 编译并下载Linux内核 编译并下载Linux应用程序 4、嵌入式 系统 移植Linux内核代码 平台相关代码分析 ARM 平台介绍 平台移植的关键技术 移植Linux内核到 ARM 平台 了解
2012-11-07 09:38:58
《嵌入式 系统 》 |(一)嵌入式 系统 概述 知识梳理《嵌入式 系统 》 |(二)ARM Cortex M3 体系 结构 知识梳理嵌入式 系统 》 |(三) STM32最小系统 知识梳理《嵌入式 系统 》 |(四) STM32软件架构 知识梳理《嵌入式 系统 》 |(五) 通用输入输出-GPIO 知识梳理...
2021-12-22 06:53:19
当今嵌入式 处理器的生产已远远超过了为桌面系统 所设计的处理器。本书通过介绍8位微控制器(MCU)的开发原理和C语言的相关知识,向读者展示了如何用C语言编写8位嵌入式 MCU程序 ,内容涉及数据类型和变量
2017-02-24 21:59:45
目录1.1概述1.1.1 嵌入式 系统 的定义1.1.2嵌入式 系统 的发展历史1.1.3嵌入式 系统 的发展的新变化1.2嵌入式 系统 的组成1.3ARM 处理器1.3.1ARM 处理器介绍1.3.2ARM 体系
2021-12-22 06:39:45
第二节 嵌入式 系统 的定义与体系 结构- 三种定义IEEE定义:用于控制、监视或者辅助操作机器和设备的装置一般定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗
2021-12-22 06:42:48
什么是嵌入式 系统 的微模块化程序设计 ?嵌入式 系统 的微模块化程序设计 有何作用?
2021-12-24 06:35:06
嵌入式 系统 的知识体系 嵌入式 系统 的学习误区嵌入式 系统 基础阶段的学习建议
2021-02-19 07:06:43
,不需要做任何改动,建立独立的应用程序 包。如果BSP 中的应用程序 不断升级,将对系统 稳定性造成影响。 图 4 表征了嵌入式 系统 三个软件环节的结构变化,Bootloader、BSP 、接口驱动程序 以及部分
2021-07-27 07:00:00
一、引言我觉得,嵌入式 系统 设计主要包含系统 设计、硬件设计和软件设计。其中大部分工作是嵌入式 软件方面,包括操作系统 的移植、系统 体系 架构设计、设备驱动程序 编写、用户应用程序设计 等等。所以在嵌入式 系统
2021-12-22 06:05:04
学习嵌入式 的基础语言是C语言,因此先掌握C语言对于后续嵌入式 的学习有着非常大的意义。下面讲解下嵌入式 C语言程序设计 基础,尤其是C语言的一些语言特点。 C语言是一种结构化的程序设计 语言,它的优点
2021-11-09 07:13:02
介绍了嵌入式 Linux系统 体系 架构,以及每一层开发人员的开发流程。
2021-11-05 06:22:46
嵌入式 Linux操作体系 学习规划ARM +LINUX道路,主攻嵌入式 Linux操作体系 及其上运用软件开发方针:(1) 把握干流嵌入式 微处置器的构造与原理(开始定为arm 9)(2) 有必要把握一个嵌入式
2021-12-17 08:24:33
嵌入式 Linux网络驱动程序 是什么嵌入式 Linux网络驱动程序 的体系 结构和实现原理如何将设备驱动模块编译进内核
2021-04-26 06:03:26
客户提供了最优解决方案。对系统 移植有很强的经验,在X86/ARM /XSCALE/PowerPC/MIPS等各种体系 结构平台上移植Linux内核;对于嵌入式 Linux的实时性和CELinux的特点有
2010-03-10 17:54:13
嵌入式 c语言程序设计 中故障状态和故障标志的表示方法是什么
2021-12-23 08:13:24
嵌入式 linux、arm 嵌入式 操作系统 嵌入式 系统 应用领域嵌入式 系统 特点嵌入式 实时系统 嵌入式 系统 组成ARM 相关知识arm 寻址方式ARM 微处理器的工作状态、工作模式ARM 寄存器linux系统 linux
2021-12-27 07:35:35
、《Linux高级程序设计 》 杨宗德著硬件基础1、《ARM 体系 结构与编程》杜春雷着2、S3C2410 Datasheet英语基础1、《计算机与通信专业英语》系统 教程1、《嵌入式 系统 ――体系 结构、编程
2020-06-24 14:39:37
》(LDD)硬件基础1、《ARM 体系 结构与编程》杜春雷着2、S3C2410 Datasheet系统 教程1、《嵌入式 系统 ――体系 结构、编程与设计》2、《嵌入式 系统 ――采用公开源代码和StrongARM
2022-12-28 14:35:43
》 系统 教程 1、《嵌入式 系统 ――体系 结构、编程与设计》 2、《嵌入式 系统 ――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明着 3、《Building
2014-07-20 10:29:13
》 系统 教程 1、《嵌入式 系统 ――体系 结构、编程与设计》 2、《嵌入式 系统 ――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明着 3、《Building
2014-12-12 09:49:06
干货来了,本文创客学院嵌入式 linux培训讲师和学员分享嵌入式 程序设计 和系统 开发与维护的相关知识点。希望对学习嵌入式 开发的学员有所帮助。 嵌入式 开发教程之程序设计 与开发维护: 一、嵌入式
2017-05-26 14:59:52
嵌入式 操作系统 是ARM CPU的软件基础,从8位/16位单片机发展到以arm CPU核为代表的32位嵌入式 处理器,嵌入式 操作系统 将替代传统的由手工编制的监控程序 或调度程序 ,成为重要的基础组件。更重
2020-04-07 07:13:19
慕课电子科技大学.嵌入式 系统 .第二章.嵌入式 硬件系统 (第一部分.嵌入式 系统 存储体系 0 目录2 嵌入式 硬件系统 (第一部分)2.5 嵌入式 系统 存储体系 2.5.1课堂重点2.5.2测试与作业3 下一章0
2021-12-17 08:08:09
嵌入式 系统 设计师学习笔记二十七:嵌入式 软件程序设计 ②——嵌入式 程序设计程序设计 语言机器语言:由二进制所组成的,机器能识别的二进制串。(在机器上运算速度最快,开发效率最低)汇编语言:将二进制串符号化
2021-12-21 08:28:48
嵌入式 开发人员的参考书。图书目录:第1章 嵌入式 系统 基础知识 1.1 嵌入式 系统 概述 1.2 嵌入式 系统 的组成 1.3 嵌入式 操作系统 举例 1.4 嵌入式 系统 开发概述 第2章 arm 技术概述
2019-08-27 15:35:05
《ARM 嵌入式 系统 基础教程》是一本学习ARM 嵌入式 的好书,尤其是初学者来讲,这本书上讲的都是ARM 嵌入式 系统 的一些基础的东西,浅而易知地告诉我们什么是嵌入式 系统 ,并讲解了一个嵌入式 系统 工程设计的完整
2014-03-13 09:23:48
部分:第1章和第2章为理论部分,主要介绍嵌入式 系统 的概念及开发方法。第3~5章为基础部分,主要介绍ARM 7体系 结构、指令系统 及LPC2000系列ARM 微控制器的结构原理。第6~8章为应用部分,主要
2020-02-21 16:13:15
1章和第2章为理论部分,主要介绍嵌入式 系统 的概念及开发方法。第3~5章为基础部分,主要介绍ARM 7体系 结构、指令系统 及LPC2000系列ARM 微控制器的结构原理。第6~8章为应用部分,主要
2019-04-04 23:27:25
前言嵌入式 知识点复习一嵌入式 知识点复习二 --体系 结构嵌入式 知识点复习三 --ARM -LINUX嵌入式 开发环境嵌入式 知识点复习四 --arm -linux文件编程嵌入式 知识点复习五
2021-07-16 07:13:12
:第1章和第2章为理论部分,主要介绍嵌入式 系统 的概念及开发方法。第3~5章为基础部分,主要介绍ARM 7体系 结构、指令系统 及LPC2000系列ARM 微控制器的结构原理。第6~8章为应用部分,主要
2017-06-12 17:59:55
嵌入式 系统 的概念及应用领域,嵌入式 系统 软硬件及设计方法基本知识,ARM 微处理器体系 结构与汇编语言程序设计 ,?C/OS-II实时操作系统 分析,嵌入式 系统 硬件接口设计,嵌入式 系统 软件设计与编程以及嵌入式 系统
2018-03-01 17:26:54
`编辑推荐 本书以ARM 920T微处理器为硬件平台,结合Linux操作系统 ,详细介绍了嵌入式 应用系统 的设计、调试方法,以及嵌入式 驱动程序 开发。全书内容丰富,语言通俗易懂,具有很强的可读性。内容简介
2017-12-25 17:33:32
嵌入式 系统 的概念及应用领域,嵌入式 系统 软硬件及设计方法基本知识,ARM 微处理器体系 结构与汇编语言程序设计 ,?C/OS-II实时操作系统 分析,嵌入式 系统 硬件接口设计,嵌入式 系统 软件设计与编程以及嵌入式 系统
2018-02-01 17:10:47
RealView MDK平台搭建 第4章 基于RealView开发环境的嵌入式 软件开发 第5章 STM32F103处理器内部资源C编程与实例第2部分 第6章 μC/OS-Ⅱ操作系统 基础及其移植开发初步 第7章 μC/OS-Ⅱ的内核机制 第8章 基于μC/OS-Ⅱ的程序设计 实例 参考文献
2014-03-13 11:02:28
`ARM 处理器体系 、嵌入式 系统 详解,结构及系统 工程设计方法。`
2021-03-29 14:37:42
嵌入式 系统 原理及应用教程- -嵌入式 程序设计 基础 l
2018-12-02 22:20:16
一般32位ARM 嵌入式 系统 的中断向量表是程序 编译前设置好的。在编写32位ARM 嵌入式 系统 的中断服务程序 、设置和修改ARM 体系 结构的中断向量表时,常感到相当麻烦,不得不修改汇编代码,对不喜欢使用汇
2019-06-18 07:20:16
随着互联网应用的普及,越来越多的信息化产品需要接入互联网通过Web页面进行远程访问。嵌入式 Web系统 提供了一种经济、实用的互联网嵌入式 接入方案。这里结合一种嵌入式 WebServer BOA来介绍嵌入式 Linux系统 下的CGI程序设计 技术。
2019-09-20 07:21:39
IDE的介绍及高性能的调试工具ADW的使用。并在此基础之上介绍一些典型的基于ARM 体系 的嵌入式 应用系统 设计时的基本技术。ARM 嵌入式 软件工程方法和实践:面向AMetal框架和接口的C编程:全书分为4个
2020-04-13 15:39:06
/O 编写串口通信程序 编写多串口通信程序 7、嵌入式 系统 中多进程程序设计 Linux系统 进程概述 嵌入式 系统 的进程特点 进程操作 守护进程 相关的系统 调用了解Linux系统 中进程的概念 能够编写多进
2019-01-18 10:34:44
单片机与嵌入式 系统 程序设计 技术
2012-11-02 09:47:52
。在1999年,ARM 突破1.5亿个,市场份额超过了50%,已经成为业界的龙头。在我们研制开发基于ARM 7的嵌入式 系统 过程中,发现技术难点主要在于系统 启动程序 的编写,为此本文详细论述了在ARM 7基础上开发嵌入式 系统 时启动程序 的实现。
2019-07-11 08:31:21
请教各位,基于ARM 嵌入式 系统 的ISP该如何去设计?
2021-04-27 07:07:46
已经不能满足专用系统 的需要。伴随着我国汽车、家电等产业的快速发展,嵌入式 系统 的应用与开发已成为目前IT产业的一个新的热点。基于ARM 的嵌入式 系统 的开发,首先要解决的问题是嵌入式 操作系统 的移植
2020-04-17 06:56:08
基于ARM 的嵌入式 系统 程序 开发要点
2012-08-19 14:36:52
硕士学位论文基于ARM 的嵌入式 系统 设计摘要嵌入式 系统 以其小型、专用、易携带、可靠性高的特点,已经在各个领域得到了广泛的应用,如军事国防、消费电子、通信设备、工业控制等。嵌入式 处理器内嵌实时操作系统
2021-12-22 06:59:36
基于μClinux ARM 的嵌入式 系统 的设计在介绍了ARM 处理器和UClinux特点的基础上,详细讨论了将UClinux操作系统 和BLOB系统 引导程序 移植到以ARM 7TDMI为
2009-03-28 13:12:09
如何学习嵌入式 系统 (基于ARM 平台)一、嵌入式 系统 的概念主要从三个方面上来理解。1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系 结构下的计算机,CPU只是有运算器
2017-08-23 10:38:04
如何实现嵌入式 里串口(UART)自动波特率识别程序设计 ?
2022-02-08 06:34:56
CQT测试系统 是什么?CQT项目有哪些测试方法?如何通过嵌入式 ARM 设计CQT测试系统 ?
2021-04-13 06:11:02
据同行——学习和教育的未来》 022《用户体验的要素》 023《编程与艺术》 024《ARM 嵌入式 体系 结构与接口技术》 025《cortex-m0 接口编程》 026《C 语言程序设计
2017-08-17 16:25:03
怎么用C语言去写嵌入式 系统 的死循环呢?什么是ARM 体系 结构?ARM 体系 支持哪几种工作模式呢?
2021-11-12 07:40:03
嵌入式 车载网络系统 的硬件电路设计嵌入式 车载网络系统 的驱动程序设计
2021-05-19 07:10:40
什么是嵌入式 系统 ?嵌入式 处理器的体系 架构可分为哪几种形式?嵌入式 操作系统 具备哪些特点?嵌入式 系统 主要有哪些应用领域?
2021-08-06 07:01:50
求基于ARM 9的嵌入式 系统 用WinCE编程的电机驱动程序 ,加上数据采集系统 A\D和D\A转换的程序 。谢谢各位大侠了。。顺便问一下要学习嵌入式 系统 WinCE需要哪些书的、、
2012-09-13 23:22:24
基本要求1.具有嵌入式 系统 、微电子技术、数字媒体以及计算机网络的基础知识2.熟悉嵌入式 微处理器的体系 结构、功能特点,初步掌握ARM 汇编语言程序设计 3.熟悉嵌入式 系统 硬件的组成,掌握常用I/O 接口
2021-07-22 09:24:34
系统 编程:shell编程,文件编程,串口编程,进程编程,线程编程,网络编程4、嵌入式 项目开发:数据采集控制系统 ,串口服务器 嵌入式 LININX开发第二学习阶段,掌握ARM 汇编程序设计 ,驱动程序设计 。1
2020-08-30 11:28:25
怎样去设计嵌入式 系统 软件体系 结构?
2021-04-27 07:18:46
小、高度自动化、响应速度快、特别适合于要求实时和多任务的体系 等特点[1]在嵌入式 系统 中获得了越来越广泛的应用。这使得基于ARM 的嵌入式 监测系统 具有成本低、功耗低、实时性能好及智能程度高等优点,在工业监测与控制领域具有较为广阔的应用前景[2]。本文设计了基于ARM 的嵌入式 监测系统 。
2019-10-09 06:19:25
嵌入式 系统 的C程序设计
2006-04-07 22:42:43 86 基于ARM 的嵌入式 程序设计 从硬件到软件共8章1
2006-04-08 00:27:01 567 嵌入式 系统 的C程序设计
2007-11-10 08:59:57 54 本文简单介绍了嵌入式 实时程序设计 的特点和嵌入式 系统 设计中语言的选择,着重介绍了以下几种在嵌入式 实时程序设计 中优化 C/C++代码的方法[关键词] 嵌入式 实时操作系统 (
2009-08-07 08:47:03 15 嵌入式 系统 的c程序设计
2010-02-11 09:21:31 65 在介绍基于ARM 体系 的嵌入式 系统 启动流程基础上,结合编程实例
详细系统 地叙述了BSP (板级支持包)程序 的各个部分及其设计方案
并就实际程序设计 的几个难点问题
2010-06-25 14:24:27 43 本书主要内容包括:嵌入式 系统 的基本概念与开发流程,ARM 微处理器与嵌入式 系统 硬件电路的原理,存储映射及嵌入式 软件开发技术,ARM 指令、程序设计 以及开发工具的使用方法,Lin
2011-10-13 16:52:13 0 《ARM 体系 结构与程序设计 》是ARM 体系 结构与程序设计 的一本实用指导书籍,通过案例详细介绍了ARM 体系 结构与程序设计 ,案例中的程序 都取自实际的项目,且对程序 有详细注解。
2011-10-27 16:37:27 2269 本书全面、深入地介绍了基于ARM SoC的嵌入式 系统 开发技术,包括ARM 系统 结构与汇编程序设计 、基于ARM 的嵌入式 系统 启动代码bootloader设计、实时嵌入式 操作系统 及其移植方法、嵌入式 系
2011-12-28 10:39:03 0 电子发烧友网站提供《嵌入式 系统 开发基础_基于ARM 9微处理器C语言程序设计 (第二版).txt》资料免费下载
2015-01-15 16:21:54 0 嵌入式 系统 的C程序设计
有需要的朋友下来看看
2015-12-29 17:56:35 1 嵌入式 系统 的C程序设计 ,感兴趣的小伙伴们可以看看。
2016-07-26 10:26:39 42 基于ARM 的嵌入式 系统 程序 开发要点(1)
2017-01-14 12:33:04 7 基于ARM 的嵌入式 系统 程序 开发要点(六)--开发高效程序 的技巧
2017-10-25 11:31:02 4 嵌入式 系统 与C程序设计
2017-10-30 10:20:29 13 ARM 公司在32位RISC的CPU开发领域不断取得突破,其结构已经从V3发展到V6。 BSP (Board Support Package)板级支持包介于主板硬件和操作系统 之间,其功能与PC机上
2017-11-07 10:35:27 10 嵌入式 系统 由硬件环境、嵌入式 操作系统 和应用程序 组成,硬件环境是操作系统 和应用程序 运行的硬件平台,它随应用的不同而有不同的要求。硬件平台的多样性是嵌入式 系统 的主要特点,如何使嵌入式 操作系统 在不同的硬件
2019-04-02 14:42:11 2120 的,不同的操作系统 对应于不同定义形式的BSP ,例如VxWorks的BSP 和Linux 的BSP 相对于某一CPU来说,尽管实现的功能一样,可是写法和接口定义是完全不同的。另外,仔细研究所用的芯片资料也十分重要, 例如尽管ARM 在内核上兼容, 但每家芯片都有自己的特色。所以这就要求BSP 程序 员对硬件、
2020-07-17 15:55:37 26 ARM 公司在32 位RISC 的CPU 开发领域不断取得突破, 其结构已经从V3 发展到V6。BSP ( Board Support Package)板级支持包介于主板硬件和操作系统 之间,其功能
2020-10-22 17:15:32 8 ARM 公司在32 位RISC 的CPU开发领域不断取得突破,其结构已经从V3发展到V6。BSP ( Board Support Package )板级支持包介于主板硬件和操作系统 之间,其功能与PC机上
2020-12-04 16:46:22 13 ARM 嵌入式 系统 BSP 的程序设计 总结(嵌入式 开发模式称为)-该文档为ARM 嵌入式 系统 BSP 的程序设计 总结文档,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看………………
2021-08-04 10:37:18 4 ARM 开发教程之ARM 体系 的嵌入式 系统 BSP 的程序设计 (嵌入式 开发工资很低吗)-该文档为ARM 开发教程之ARM 体系 的嵌入式 系统 BSP 的程序设计 总结文档,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看………………
2021-08-04 11:21:30 6 ARM 开发教程之ARM 体系 的嵌入式 系统 BSP 的程序 的设计说明(android板嵌入式 开发)-该文档为ARM 开发教程之ARM 体系 的嵌入式 系统 BSP 的程序 的设计说明总结文档,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看………………
2021-08-04 11:36:34 10
已全部加载完成
评论
查看更多