报告嵌入式心得

时间:2024.5.2

专题课学习至今,学到了很多东西。而找工作时,各种笔试面试中,深刻地体会到“嵌入式系统”的重要性。这让我更坚定了学好嵌入式系统的想法。

嵌入式系统这门课和C语言颇有关联,这也重新夯实了我的C语言基础。而良好的C语言能力,也是学习嵌入式的必备基础。我决定在学好基础后,在对嵌入式进行扩展学习。

据了解嵌入式学习主要有两方面:软件和硬件。嵌入式软件的比较多,而做硬件不多,但多是高手。嵌入式的软件又有好多种,主要是针对不同CPU的,但是基本都是用C语言的,还有极少的汇编,主要在BOOT启动、初始代码中。目前来说,嵌入式Linux比较流行,安卓就是基于linux内核的。wince、Vxworks什么的貌似不多,特别是vxworks。

我也对嵌入式系统的应用方面进行了了解。现在在市场还是蛮吃

香的,可从事的就业方向还是蛮多的比如:消费类电子(手机、PDA、游戏机)、数字 多媒体(网络点播、机顶盒)、汽车电子(导航仪)、医疗电子、工业控制等行业。

嵌入式系统是二十一世纪科技领域的重大创新,必将推进全球经济社会高速发展,实现人类发展史上的重大突破。科学在发展,人类在进步,随着一代又一代IT精英们的不断努力,未来的嵌入式系统一定会是更加方便人们的工作、学习、生活的好伴侣。

据了解 ,嵌入式市场有非常大的机会,预计到20xx年将有30亿台嵌入式设备交货。这样一个“爆炸性”的增长主要是由于终端用户越来越基于连接性的用户体验及应用程序来购买具有智能、连接性、服务导向的设备。

嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置(”devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专业计算机系统。

本文从嵌入式系统的 等方面来概要性地介绍嵌入式系统。

1.嵌入式系统的概念 1.1嵌入式系统的定义

根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功

能、可靠性、成本、体积、功耗严格要求的专业计算机系统。

1.2 嵌入式系统的特点

1.系统内核小。由于嵌入式系统一般是应用于小型电子装置的,系统的资源相对有限,所以内核较之传统的操作系统要小得多。

2.专用性强。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全两个概念。

3.系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。

4.高实时性的系统软件(OS)是嵌入式软件的基本要求。而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。

5.嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS(Real-Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。 6.嵌入式系统开发需要开发工具和环境。由于其本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。

1.3几个关键概念的解释

1、嵌入式处理器 嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位嵌入式CPU。

2、实时操作系统 实时操作系统 (RTOS-Real Time Operating System): 嵌入式系统目前最主要的组成部分。根据操作系统的工作特性,实时是指物理进程的真实时间。实时操作系统具有实时性,能从硬件方面支持实时控制系统工作的操作系统。其中实时性是第一要求,需要调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。

3、分时操作系统 对于分时操作系统,软件的执行在时间上的要求,并不严格,时间上的错误,一般不会造成灾难性的后果。目前分时系统的强项在于多任务的管理,而实时操作系统的重要特点是具有系统的可确定性,即系统能对运行情况的最好和最坏等的情况能做出精确的估计。

4、多任务操作系统 系统支持多任务管理和任务间的同步和通信,传统的单片机系统和DOS系统等对多任务支持的功能很弱,而目前的Windows是典型的多任务操作系统。在嵌入式应用领域中,多任务是一个普遍的要求。

5、实时操作系统中的重要概念 系统响应时间(System response time):系统发出处理要求到系统给出应答信号的时间。 任务换道时间(Context-switching time):任务之间切换而使用的时间。 中断延迟(Interrupt latency):机器接收到中断信号到操作系统作出响应,并完成换道转入中断程序的时间。

6、实时操作系统的工作状态 实时系统中的任务有四种状态:运行(Executing),就绪(Ready),挂起(Suspended),冬眠(Dormant)。 运行:获得CPU控制权。 就绪:进入任务等待队列,通过调度转为运行状态。 挂起:任务发生阻塞,移出任务等待队列,等待系统实时事件的发生而唤醒,从而转为就绪或运行。 冬眠:任务完成或错误等原因被清除的任务,也可以认为是系统中不存在的任务。 任何时刻系统中只能有一个任务在运行状态,各任务按级别通过时间片分别获得对CPU的访问权。

2.嵌入式系统的组成

有关嵌入式系统的组成非常多,限于篇幅,本文只介绍其中机电最关键概念。 嵌入式系统的组成

1)嵌入式系统硬件层。一般包括有:嵌入式处理器、存储器、I/O系统和外设

2)嵌入式系统的软件系统。包括:操作系统、应用软件

嵌入式系统的开发工具(1)硬件开发工具包括:仿真器等;其它(示波器等)(2)软件开发工具包括:编译、连接、定位软件,通常使用C语言;调试软件。

3)中间层。它将系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。

4)应用层

一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,如图1-1所示,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。

2.1硬件层

硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。

2.1.1、嵌入式微处理器 嵌入式系统硬件层的核心是嵌入式微处理器,嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多工作在为

特定用户群所专用设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。 嵌入式微处理器的体系结构可以采用冯诺依曼体系或哈佛体系结构;指令系统可以选用精简指令系统(Reduced Instruction Set Computer,RISC)和复杂指令系统CISC(Complex Instruction Set Computer,CISC)。RISC计算机在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,从而提高了执行效率并使CPU硬件结构设计变得更为简单。 嵌入式微处理器有各种不同的体系,即使在同一体系中也可能具有不同的时钟频率和数据总线狂度,或集成了不同的外设和接口。据不完全统计,目前全世界嵌入式微处理器已经超过1000多种,体系结构有30多个系列,其中主流的体系有ARM、MIPS、PowerPC、X86和SH等。但与全球PC市场不同的是,没有一种嵌入式微处理器可以主导市场,仅以32位的产品而言,就有100种以上的嵌入式微处理器。嵌入式微处理器的选择是根据具体的应用而决定的。

2.1.2、存储器 嵌入式系统需要存储器来存放和执行代码。嵌入式系统的存储器包含Cache、主存和辅助存储器。 1.Cache Cache是一种容量小、速度快的存储器阵列它位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。 在嵌入式系统中Cache全部集成在嵌入式微处理器内,可分为数据Cache、指令Cache或混合Cache,Cache的大小依不同处理器而定。一般中高档的嵌入式微处理器才会把Cache集成进去。 2.主存 主存是嵌入式微处理器能直接访问的寄存器,用来存放系统和用户的程序及数据。它可以位于微处理器的内部或外部,其容量为256KB~1GB,根据具体的应用而定,一般片内存储器容量小,速度快,片外存储器容量大。 常用作主存的存储器有: ROM类 NOR Flash、EPROM和PROM等。 RAM类 SRAM、DRAM和SDRAM等。 其中NOR Flash 凭借其可擦写次数多、存储速度快、存储容量大、价格便宜等优点,在嵌入式领域内得到了广泛应用。 3.辅助存储器 辅助存储器用来存放大数据量的程序代码或信息,它的容量大、但读取速度与主存相比就慢的很多,用来长期保存用户的信息。

2.1.3、通用设备接口和I/O接口 嵌入式系统和外界交互需要一定形式的通用设备接口,如A/D、D/A、I/O等,外设通过和片外其他设备的或传感器的连接来实现微处理器的输入/输出功能。

2.2软件系统

系统软件层由实施多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。

嵌入式实时操作系统:

实时多任务操作系统(RTOS)是嵌入式应用软件的基础和开发平台。RTOS是一段嵌入在目标代码中的程序,系统复位后首先执行,相当于用户的主程序,其他程序都建立在RTOS之上。

2.3中间层

硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP 层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。

BSP具有以下两个特点:

硬件相关性:因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软 件与硬件平台之间的接口,BSP需要为操作系统提供操作和控制具体硬件的方法。

操作系统相关性:不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。

3.嵌入式系统的开发

3.1嵌入式两种开发

硬件,主要使用语言是C语言和汇编,例如做dsp开发,做驱动开发,这类的开发对硬件要求比较高,短期内比较难掌握,除非是专业人士,另外,这类开发的就业机会比较少,因为国内的硬件设计力量很弱,稍复杂的硬件都交给国外公司设计,所以大学生找这样的工作很难,这也是为什么很多这类的毕业生都转行去做应用层的软件开发或者做网络维护之类的工作了。

软件,主要基于嵌入式操作系统,例如Symbian、Linux、Windows mobile、Android等等,开发人员主要从事嵌入式操作系统和应用软件的开发。特点是:比较容易上手学习,就业机会多,因为嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作。越是智能设备越是复杂系统,软件越起关键作用,而且这是目前的趋势,所以需要大量的研发人员,而且就业前景也非常的看好。

3.2嵌入式系统开发生命周期

硬件与软件将同时进行开发。理解硬件与软件功能相互之间的关系及界限有助于确保设计要求得到完整正确的理解和实现。

早在设计要求的定义与分析阶段,就必须分配系统仿真、原型设计和行为建模结果、一旦分配结束,就可以立即着手具体的设计和实现。实时系统开发中软硬件的并行设计会使用到各种分析技术,包括:

1. 硬件与软件仿真;

2. 硬件/软件协同仿真;

3. 可调度的建模技术,如速率恒定分析;

4. 原型设计和渐进式开发。

低层仿真可以用来为总线宽度和数据流程建模,这对性能评估是非常有用的。高层仿真可以满足功能的交互,并促成硬件/软件权衡研究及有效性设计。

4.嵌入式系统的现状与发展

发展现状:

随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。 硬件方面,不仅有各大公司的微处理器芯片,还有用于学习和研发的各种配套开发包。目前低层系统和硬件平台经过若干年的研究,已经相对比较成熟,实现各种功能的芯片应有尽有。而且巨大的市场需求给我们提供了学习研发的资金和技术力量。

从软件方面讲,也有相当部分的成熟软件系统。国外商品化的嵌入式实时操作系统,已进入我国市场的有WindRiver、Microsoft、QNX和Nuclear等产品。

发展趋势:

信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,从中我们可以看出未来嵌入式系统的几大发展趋势:。

1.嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和数据库支持。 目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。

2.网络互联成为必然趋势。 未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种通信接口。传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,支持更多协议。

3.精简系统内核、算法,降低功耗和软硬件成本。 未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件。


第二篇:嵌入式报告2


实验报告

对软中断的体会:

硬件中断是利用硬件,在每个时钟周期自动去检测的,需要不断的检测,占用硬件资源,造成资源浪费,而软中断的执行指令是用户提前编写的,而且是在用户设置断点后,当执行到断点时,自动执行代码。所以在浪费上,比硬件中断要小。

步骤就是首先设置对应的中断标记位,触发中断事务,然后唤醒守护线程去检测中断状态寄存器,如果通过查询发现有软中断事务发生,那么通过查询软中断向量表调用相应的软中断服务程序action()。

10:你能对示例程序进行修改,把由C语言调用软中断,修改为主程序用C语言,另一个程序用汇编语言,在该汇编语言程序中调用软中断,实现同样的功能吗

答:将用c写的软中断处理程序,改成汇编,然后再在用c写的主程序中,调用软中断即可: 代码1为用c写的软终端处理程序,改成汇编的话:

代码1

5 void C_SWI_Handler( int swi_num, int *regs )

6 {

7 switch( swi_num )

8 {

9 case 0:

10 regs[0] = regs[0] * regs[1];

11 break;

12

13 case 1:

14 regs[0] = regs[0] + regs[1];

15 break;

16

17 case 2:

18 regs[0] = (regs[0] * regs[1]) + (regs[2] * regs[3]);

19 break;

20

21 /*

22 Re-entrant SWI:

23 case 2:

24 regs[0] = add_two(multiply_two(regs[0], regs[1]), multiply_two(regs[2], regs[3]));

25 break;

26 */

27

28 case 3:

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46 } { int w, x, y, z; w = regs[0]; x = regs[1]; y = regs[2]; z = regs[3]; regs[0] = w + x + y + z; regs[1] = w - x - y - z; regs[2] = w * x * y * z; regs[3] =(w + x) * (y - z); } break; }

代码1改:

/*以下是PROGRAM1 DATEAREA SEGMENT REGS WORD ?

SWI_NUMBER WORD ? DATEAREA ENDS

PROGRAM1 SEGMENT MAIN PROC

ASSUME DS:DATEAREA CS:PROGRAM PUSH DS

MOV AX,0

PUSH AX

MOV AL,DATEAREA MOV DS,OFFSET AL CMP DS,0

JE MUL AL[DS],AL[DS+1] EXIT

CMP DS,1

JE ADD AL[DS-1],AL[DS] EXIT

CMP DS,2

JE MUL AL[DS],AL[DS+1] MUL AL[DS-1],AL[DS-2] ADD AX,AX

EXIT

CMP DS,3

CALL PROCEDURE1 EXIT

PROGRAM1 ENDS

/*以下是PROCEDURE1 DATEAREA

W,X,Y,Z WORD ? REGS WORD ? DATEAREA ENDS PROCEDURE 1

MOV AL,OFFSET REGS MOV BL,W

MOV BH,X

MOV DL,Y

MOV DH,Z

MOV BL,REGS[AL] MOV BH,REGS[AL+1] MOV DL,REGS[AL+2] MOV DH,REGS[AL+3] ADD BL,BH

ADD BL,DL

ADD BL,DH

SUB BH,BL

SUB BH,DL

SUB BH,DH

MUL DL,BL

MUL DL,BH

MUL DL,DH

ADD DH,BL

SUB DL,DH

MUL DH,DL

PROCEDURE1 ENDS

代码2

5

6

7

8

9

10

11 #include <stdio.h> #include "swi.h" unsigned *swi_vec = (unsigned *)0x08; call PROGRAM1

12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 /* Install_Handler() updates contents of 'vector' to contain Branch instruction to reach 'routine' from 'vector'. Function returns original contents of 'vector'. */ unsigned Install_Handler( unsigned routine, unsigned *vector ) { unsigned vec, old_vec; vec = (routine - (unsigned)vector - 8) >> 2; if (vec & 0xff000000) { printf("Handler greater than 32MBytes from vector"); } vec = 0xea000000 | vec; /* OR in 'branch always' code */ old_vec = *vector; *vector = vec; return (old_vec); } /* Note: If you are using a processor with separate instruction and data caches, such as StrongARM, or ARM940T, you must ensure that cache coherence problems do not prevent the new contents of the vectors from being used. The data cache (or at least the entries containing the modified vectors) must be cleaned to ensure the new vector contents are written to main memory. You must then flush the instruction cache to ensure that the new vector contents are read from main memory. For details of cache clean and flush operations, see the datasheet for your target processor. */ int main( void ) { int result1, result2; struct four_results res_3; Install_Handler( (unsigned) SWI_Handler, swi_vec ); printf("result1 = multiply_two( 2, 4 ) = %d\n", result1 = multiply_two( 2, 4 ));

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71 } printf("result2 = multiply_two( 3, 6 ) = %d\n", result2 = multiply_two( 3, 6 )); printf("add_two( result1, result2 ) = %d\n", add_two( result1, result2 )); printf("add_multiply_two( 2, 4, 3, 6 ) = %d\n", add_multiply_two( 2, 4, 3, 6 )); res_3 = many_operations( 12, 4, 3, 1 ); printf("res_3.a = %d\n", res_3.a ); printf("res_3.b = %d\n", res_3.b ); printf("res_3.c = %d\n", res_3.c ); printf("res_3.d = %d\n", res_3.d ); return 0;

代码3

AREA SWI_Area, CODE, READONLY

EXPORT SWI_Handler

IMPORT C_SWI_Handler

T_bit EQU 0x20

SWI_Handler

STMFD sp!, {r0-r3, r12, lr} ; Store registers

MOV r1, sp ; Set pointer to parameters MRS r0, spsr ; Get spsr

STMFD sp!, {r0} ; Store spsr onto stack TST r0, #T_bit ; Occurred in Thumb state? LDRNEH r0, [lr,#-2] ; Yes: Load halfword and... BICNE r0, r0, #0xFF00 ; ...extract comment field LDREQ r0, [lr,#-4] ; No: Load word and... BICEQ r0, r0, #0xFF000000 ; ...extract comment field

; r0 now contains SWI number

; r1 now contains pointer to stacked registers

CALL PROGRAM1 ; Call main part of handler LDMFD sp!, {r0} ; Get spsr from stack MSR spsr_cf, r0 ; Restore spsr

LDMFD sp!, {r0-r3, r12, pc}^ ; Restore registers and return

END

代码4

__swi(0) int multiply_two(int, int);

__swi(1) int add_two(int, int);

__swi(2) int add_multiply_two(int, int, int, int);

struct four_results

{

int a;

int b;

int c;

int d;

};

__swi(3) __value_in_regs struct four_results many_operations(int, int, int, int);

更多相关推荐:
嵌入式心得体会

这学期才接触嵌入式系统感觉还称不上入门,我通过学习知道了嵌入式的发展前景很大,各个领域都用到了嵌入式,学好嵌入式不愁没饭吃。广义上讲,凡是带有微处理器的专用软硬件系统都是嵌入式系统。如各类单片机和DSP系统。从…

嵌入式课程设计心得体会

本学期为期一周的嵌入式课程设计在不知不觉中结束了,虽说这次课程设计时间不是很长,但是感觉自己收获颇丰,不仅学习到了一些新知识,回顾了以前的一些快要遗忘的知识点,而且使自己的学习目标更加明确,学习方法更加完善,也…

嵌入式心得体会

嵌入式心得体会嵌入式心得体会一嵌入式学习心得体会4月10号为期一个阶段的Linux开发基础培训课程圆满结束回首这些天所留下的点点滴滴感触深深学习上知识点的积累灵活运用的过程中感受到了Linux操作的快速高效性能...

学习嵌入式心得体会Microsoft Word 文档

10计本班黄田丽05111001021学习嵌入式心得体会首先我们学习的课本是嵌入式系统应用教程我学习的体会是这样的开始时由于是刚刚入门对老师书的好多东西是好奇的好多名词也是新鲜的不过不太懂什么意思但是慢慢的了解...

学习嵌入式心得

淮海工学院计算机工程学院实验报告书课程名嵌入式系统及应用题目学习嵌入式心得班级姓名学号嵌入式系统及应用1这学期才接触嵌入式系统学了8周了感觉还称不上入门我通过了解知道了嵌入式的发展前景很大各个领域都用到了嵌入式...

嵌入式心得体会

从懵懵懂懂的踏入大学那刻起青春这艘船已吹响离港的号角伴着歌声起航大四一个尴尬的年纪已经很少有人沉浸在游戏里的舍我其谁和恋爱中的花前月下更多的是就业和考研的压力就业问题成了摆在毕业学生面前一道无法逾越的鸿沟究竟何...

学习嵌入式心得

嵌入式心得体会本人大学学的是电子信息科学与技术专业,其实这个专业和嵌入式没有多大的关系,要说有关系就是简单的讲了下C语言语法,学完之后还不知道什么是C语言,只记住了,char,int,string等占几个字节,…

写给新手,从不懂到入门,一只老鸟的嵌入式入门心得

本人大学学的是电子信息科学与技术专业其实这个专业和嵌入式没有多大的关系要说有关系就是简单的讲了下C语言语法学完之后还不知道什么是C语言只记住了charintstring等占几个字节ifforwhile循环什么的...

嵌入式心得后三章

一嵌入式软件开发概述1嵌入式应用软件开发步骤硬件的设计与实现设备驱动软件的设计与实现嵌入式操作系统的选择移植以及API接口函数的设计支撑软件的设计与调试应用程序的设计与调试系统联调样机交付2嵌入式软件开发的特点...

嵌入式系统硬件项目设计心得

嵌入式系统硬件项目设计心得转硬件设计解决方案处理器嵌入式第一点在从事设计之前你必须充分了解各方的设计需求确定合适的解决方案启动一个硬件开发项目原始的推动力会来自于很多方面比如市场的需要基于整个系统架构的需要应用...

【里仁教育】分享:嵌入式开发学习心得!

与桌面操作系统和服务器操作系统下的软件开发不同为嵌入式操作系统开发软件可不只是写写应用程序那么简单我们常常要深入到内核甚至要深入到硬件根据不同的开发层面我们把WindowsCE下的嵌入式软件开发者分为下面三类第...

嵌入式学习心得

LPC2136是ARM7架构是32位地址总线和数据总线可以寻址的范围为2的32次方4GB0x000000000xFFFFFFFF我们的程序在哪里运行还记得我们在做跑马灯和蜂鸣器两个实验用ads12中建立工程文件...

嵌入式心得(18篇)