《嵌入式技术》学习总结报告

2024-04-09

《嵌入式技术》学习总结报告(共7篇)

篇1:《嵌入式技术》学习总结报告

实践报告摘要:学习嵌入式是我的梦想,我很羡慕能够在嵌入式方面独档一面的高手,希望有一天我也能像他们那样自信自如的在嵌入式这片热土上挥洒着自己的青春和浪漫。带着无比豪迈的心情和缤纷的梦想来到易嵌学习嵌入式,在新的老师、新的同学和新的环境中,我开始了我的嵌入式学习,开始了新一轮的拼搏。

在易嵌短暂的两个月,我们从linux基础入手,强化了c语言编程,学习了linux系统编程和网络编程。时间虽短,但成长很快,无论是理论知识还是实践能力都得到了大幅度的提高。在这里将理论和实践相结合,相互促进,相互补充,使得学习更加透彻。通过用不同方法实现同一个项目,不断深入,层层推进,学以致用!

在易嵌的这个暑假,我过得充实而快乐。在这里有着同学间的探讨、师生间的互动和魔鬼般的训练!在我丰富多彩的人生路上留下了永远亮丽与难忘的记忆!

关键字:易嵌 嵌入式 linux c语言 难忘的记忆

实践报告正文:看着四年的大学生活就快要结束了,心中隐隐有一种伤感与失落,我陷入了沉思:该挺直腰杆走自己的路了!学习嵌入式是我的梦想,我很羡慕能够在嵌入式方面独档一面的高手,希望有一天我也能像他们那样自信自如的在嵌入式这片热土上挥洒着自己的青春和浪漫。

当我决定好好利用这个暑假,学习我一直都想去学的嵌入式的时候,就注定要在我丰富多彩的人生路上留下永远亮丽与难忘的记忆!算算毕业的时间,我已经闻到了离别的气息,在这即将远离大学时代的时刻,才真正懂得回眸的意义。想想走过的路,想想现在的路,想想来时的路,不知道未来能否成功,既然选择了远方,就注定要风雨兼程!带着无比豪迈的心情和缤纷的梦想来到易嵌学习嵌入式,希望在这崭新的一页留下人生的美好!在新的老师、新的同学和新的环境中,我开始了我的嵌入式学习,开始了新一轮的拼搏。

无论现在多么努力都无法追回失去的金色年华,所以在开班典礼的时候,我便为自己制定了目标!我将好好利用最后一个暑假,多学些知识锻炼自己,为自己储备一些精神食粮并不断开拓视野和提升自己的能力,让自己能够在毕业的时候成为学校的骄傲!

在易嵌短暂的两个月,我们从linux基础入手,强化了c语言编程,学习了linux系统编程和网络编程。时间虽短,但成长很快,无论是理论知识还是实践能力都得到了大幅度的提高。

通过对linux操作系统的学习,我初步掌握了linux基础。刚开始我对linux只是有一点儿了解,但并没有真正的去接触。在这段时间里,从linux系统安装开始着手,了解linux的发展,相比其他系统,它有很多优点。在安装好系统后,学习了linux的分区命名、linux的常用命令、文本编辑器vi、shell的使用、源代码的编译和调试、多模块的编译和链接以及管理工具。通过这些学习,我基本能够在linux系统下通过vi编辑器编写c语言程序,通过一些常用命令来调试、查看程序。

能够在这么短的时间内初步掌握linux,与在学校学习一门课程意义完全不同,通过老师的讲解,自己的练习,同学之间的交流,能够加深印象,熟练操作。

学习linux基础只是我嵌入式学习历程的一个开始,虽然有好多命令还不太熟悉,有好多命令都还没有去尝试过,但我相信随着后期的学习,我将逐渐熟练掌握。

篇2:《嵌入式技术》学习总结报告

1.就业前景

近几年,嵌入式系统产品日臻完善,并在全世界各行业得到广泛应用。嵌入式系统产品的研制和应用已经成为我国信息化带动工业化、工业化促进信息化发展的新的国民经济增长点。

随着消费家电的智能化,嵌入式更显重要。像我们平常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等,都是典型的嵌入式系统。据预测,随着Internet的迅速发展和廉价微处理器的出现,嵌入式系统将在日常生活里形成更大的应用领域。

在中国,嵌入式软件发展过程中,政府已充分认识到它的重要作用,并在政策、资金等方面给予了大力支持。2004 年国家发改委、科技部、商务部联合颁布的《当前优先发展的高技术产业化重点领域指南》,把嵌入式软件产业作为国家发展的一个重要领域。

最近几年来,中国的嵌入式软件发展速度一直高于中国软件产业的发展速度和全球嵌入式软件的发展速度,在中国软件产业和全球嵌入式软件产业中所占的比重越来越大。目前,中国嵌入式软件产业在整个软件产业中的比重已经超过了三分之一强。

从2006年至2010年,中国嵌入式软件产业规模仍将保持快速增长态势,年均复合增长率为25.8%,到2010年将达到3339.6亿元的规模。

中国嵌入式软件产业的发展面临着良好的发展环境与机遇,这包括政府的重视与扶植、信息产业与传统产业的融合机遇、垄断局面尚未形成、中国制造的良好基础、自由软件运动的兴起等等。

同时,不可否认的是长期以来,由于人才、宣传、资金等诸多问题以及嵌入式本身所特有的软硬结合特性,使嵌入式软件人才一直处于供不应求的状态。

2.自身发展

嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。

一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader、Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等)。

另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。如果我们学软件的人对硬件原理和接口有较好的掌握,我们完全也可写BSP和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作(目前有很多公司将硬件设计包给了专门的硬件公司,稍复杂的硬件都交给台湾或国外公司设计,国内的硬件设计力量很弱,很多嵌入式公司自己只负责

开发软件,因为公司都知道,嵌入式产品的差异很大程度在软件上,在软件方面是最有“花头“可做的),所以我们搞软件的人完全不用担心我们在嵌入式市场上的用武之地,越是智能设备越是复杂系统,软件越起关键作用,而且这是目前的趋势。

二.怎样学习嵌入式?

1.ARM嵌入式开发领域

包括什么?

软件开发

操作系统以下的底层偏硬件驱动

在简单操作系统如uC/OS-II之上的程序开发

不包括什么?

硬件设计

类似Linux这样操作系统以上的纯应用开发

2.ARM基础知识

#1.ARM体系结构:

Load/Store体系,Big/Little Endian大小端格式,RISC/CISC指令集,Pipeline流水线

#2.ARM工作模式:

7种工作模式:USR,SYS,SVC,IRQ,FIQ,UND,ABT;其中5种异常模式#3.ARM寄存器:

37个寄存器:R0-R12, R13(SP),R14(LR),R15(PC),CPSR(SPSR)

#4.ARM异常:

7种异常,异常向量表,异常优先级,异常处理程序,处理器现场,现场的保存和恢复

#5.AMBA总线:

AHB(高性能总线),ASB(系统总线),APB(外设总线)

#6.ARM内核技术:

TrustZone,Jazelle,NEON,Thumb-2,SIMD,MMU,MPU

#7.JTAG标准:

IEEE1149.1,TDI,TDO,TCK,TMS,TRST,边界扫描链,H-jtag,Banyan,GiveIO

#8.ARM内核分类:

ARM7TDMI,ARM926,StrongARM/XScale,ARM10,ARM11,Cortex-(A/R/M),SecurCore

#9.ARM汇编指令:

mov,add,sub,b,bl,ldr,str,ldmfd,stmfd,mrs,msr,swi,mrc,mcr#10.MMU内存管理单元:

VA/PA,I-Cache/D-Cache,Write Buffer,Context Switch,CP15,TLB,AP,Domain

Access Control,Cache Coherence

#11.ARM芯片外设控制器:

Memory Controller(内存控制器),WatchDog(看门狗),GPIO(通用IO),UART(串口),Timer(定时器),Interrupt Controller(中断控制器),Nand Flash Controller,Clock & Power Management(时钟和电源管理),DMA(直接存储访问),USB Controller,LCD controller,ADC,IIC,IIS,SPI,AC97,Camera,MMC/SD#12.最小系统:

处理器,时钟,电源,PLL锁相环,存储器,通讯端口,外设接口

存储器件

SRAM,SDRAM,Nor Flash,Nand Flash

#13.ARM处理器:

Samsung: S3C4510,S3C44B0,S3C2410,S3C2440,S3C6410,#14.SoC设计:

FPGA,CPLD,VHDL,Verilog

#15.ARM开发调试工具:

SDT,ADS1.2,AXD,RealView,KEIL MDK 4.11(RVMDK4.11)

make,hypertrm(超级终端),minicom

#16.ARM命令行工具:

armcc,armasm,armlink,fromelf

#17.嵌入式操作系统:

VxWorks,RTLinux,uC/OS-II,WinCE/WM

#18.外设驱动程序:

volatile关键字,位操作bit,时序图Timing,管脚功能Pin function,外设控制/数据/状态寄存器

#19.程序的存储,加载和运行:

RO段,RW段,ZI段,ro-base/rw-base,栈空间,堆空间,位置无关代码PIC,启动搬移代码

3.核心概念

#1.寄存器:

ARM内核寄存器

R0-R12R13(sp)R14(lr)R15(pc)CPSR, SPSR

ARM SoC 特殊功能寄存器

SFR(Special Function Register)

#2.地址

C程序中变量的“地址”:&a

SoC 特殊功能寄存器的“地址”:0x48000000

寻址方式里面的“地址”:ldr r0, [r1]

二进制指令里面的“地址”:0xE59FF018

存储芯片内部的“地址” :0x4h

操作系统之上应用程序的“(虚)地址”

CPLD器件对应的“(假)地址”

#3.异常和中断

异常是属于ARM内核体系结构的概念

中断是属于ARM SoC处理器的概念

了解软件中断(SWI)是实现操作系统提供系统调用的重要手段

了解硬件中断(例如Timer定时器)是实现操作系统时间片的重要手段

三.三个问题。

#1.为什么要编写一个Bootloader?

从根本上掌握一个嵌入式开发板底层的软硬件系统是怎样运转起来的时钟频率如何设置;看门狗所起作用,串口如何工作;通讯协议如何实现;库函数;反汇编;函数栈空间。

#2.为什么要移植一个操作系统?

了解操作系统和底层硬件之间的依赖关系,知道哪些是移植相关的部分(即接口)定时器中断(时钟节拍);异常处理和现场保存恢复;进程,进程控制块;处理器现场;进程的上下文切换;中断级别的进程切换。

#3.为什么要实现一个用户应用?

一个音频播放器;DMA控制器,Interrupt中断控制器;IIS 总线;UDA1341声卡芯片驱动;WAV/Mp3 音频文件格式;LCD液晶显示驱动;一个U盘;USB协议;FAT文件系统格式;SCSI命令集;NandFlash存储芯片驱动。

四.经典语段

经典语段一:

嵌入式技术的掌握是需要一个过程的实事求是的说,嵌入式技术的全面掌握是有相当难度的。可以轻轻松松学会嵌入式技术的说法是夸大其词了。这个就像学英语一样,学英语无论怎样学,不管是“疯狂学”还是用新理念来学,真正掌握的话还是需要一步步积累才能熟练掌握。在此,我建议大家不要想在几天内学会嵌入式,成为这方面的高手。这些想法本身是不太现实的。

现在我们需要做的是:

第一:把心踏实下来,做好打硬仗的准备。

第二:注意学习方法。尽量不要走弯路,争取一鼓作气入门。一旦入门了以后呢就好办了。嵌入式技术的掌握,本身呢就比较难,要是再走些弯路,时间上会浪费,甚至会影响学习的信心。

经典语段二:

最好的学习方法:

做项目。如果有机会大家跟着做一个难度适中的嵌入式项目,相信大家会很快入

门的。也就是说从实战之中来获得进步。但是,在我们没有嵌入式基础之前,不容易获得这样的机会。也就是说,在能力没有到之前,找个这样的工作很难。很显然呢,如果我们具备了获得这样一份工作的能力就好办了。但是,恰恰是这个阶段最难。这个就是搞嵌入式系统的门槛。这个门槛的跨越,我觉得是需要引导的。

比如有的人买了块开发板自学,上来就分析LINUX源码,结果折腾了几个月呢都没有什么收获。有的人只是掩饰了几个基本的功能,放了个MP3,玩了下如何来浏览网页,下不就不知道该怎么做了。实际上呢,学习一门技术是需要一个过程的,期间也会有一定的规律。我们具体来看。

五.学习心得

#1.嵌入式系统的范围很广,指具有计算能力的非PC系统,即具有通常使用的个人电脑的全部或部分特质的专用计算机系统。如生活中的PDA、手机、电视机顶盒、数字电视、数码相机以及工业自动化仪表、医疗仪器等。它分硬件和软件两部分,硬件以嵌入式处理器(相当于PC的CPU)为核心,外扩ROM、RAM(相当于PC的硬盘、内存条)、输入/输出设备(PC的键盘/显示器)、各种通信接口(串口、USB、网络)等。软件由引导程序(PC的BIOS)、嵌入式操作系统(相当于PC机的Windows XP)和应用程序(相当于在Windows XP上运行的程序,如金山词霸、Word等)3部分组成,或只有其中的某部分。

#2.目标要明确,不要得过且过,不要追逐热门的东西。不管在什么时候,心里都要有自己的信念和理想,不要被其他东西左右了自己。

#3要从兴趣和竞争出发,因为这才是你产生动力源的地方。学东西时,要让自己先喜欢上它,要学会享受学习它的时间,喜欢乔***的都知道,乔老爷子最常说的一句就是要享受比赛的时间。因为只有你喜欢上了它,享受了它,才不会被它所产生的压力压倒自己,不要产生一种厌恶的心理。而且心态要调整,不要一味的蛮学,死学,在没有什么兴趣学的时候可以先玩几天,在回过头来,或者用其他的方式来转换。

篇3:嵌入式开发技术总结

摘 要:由于嵌入式系统是一个资源受限的系统,所以嵌入系统的软件开发是采用交叉开发实现的。本文总结了嵌入式系统软件的开发技术,分析了嵌入式软件开发的各个过程,给出了每个过程能够使用的各种方法和技术,详细叙述了它们的实现过程,主要内容包括启动软件的选择、启动软件的各种烧写方法、操作系统内核的下载方法、根文件系统的下载方法、NFS文件系统的配置、通过NFS应用程序的交叉开发和目标机程序的编译等。

关键词:嵌入式系统交叉开发网络文件系统简单文件传输协议

中图分类号:TP311.52文献标识码:A 文章编号:1673-8454(2009)17-0078-03

嵌入式系统将拥有最大的市场。目前在世界范围内嵌入式系统带来的工业年产值已超过了一万亿元, 现在嵌入式系统正处在高速发展阶段。 嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件平台上开发软件比较困难,有时候甚至是不可能的。目前一般采用的解决办法是首先在通用计算机上编写程序,然后通过交叉编译生成目标平台上可以运行的二进制代码格式,最后再下载到目标平台上的特定位置上运行。需要交叉开发环境(Cross Development Environment)的支持是嵌入式应用软件开发时的一个显著特点,交叉开发环境是指编译、链接和调试嵌入式软件的环境,它与运行嵌入式软件的环境有所不同,通常采用宿主机/目标机模式,目标机和宿主机之间的连接通常有三种连接方式:目标机的串口连接宿主机的串口,目标机的JTAG口连接宿主机的并行口,目标机的网口连接宿主机的网口,如图1所示。

本文选用某公司生产的OURS_ ARM9_2410EP为嵌入式目标系统,OURS_ARM9_2410EP是一个典型的嵌入式实验系统, 支持ARM9,具有丰富的外部接口,包括串口、JTAG口、PCMCIA卡、SMC卡、SD卡、USB 、网口和VGA接口等,支持三种启动方式,分别可以从两种NOR FLASH和一种NAND FLASH启动,具有丰富的扩展功能,可扩展GPS&GPRS、射频卡和蓝牙等模块。

一、目标机程序的编译

嵌入式系统中的软件一般包含四个部分:启动部分、操作系统内核、根文件系统和应用程序,这些程序是在宿主机的交叉编译环境中编译成目标机CPU能够运行的目标代码,然后下载到目标机。常用的嵌入式集成开发环境有Tornado、PB(Platform Builder)、ADS(ARM Developer Suite)、GNU工具链等。

二、启动部分的烧写

启动部分的烧写有三种方法:通过JTAG接口使用命令烧写、使用仿真器烧写和交叉烧写,其中交叉烧写要求嵌入式系统中含有两个启动部分。

ARM9_2410EP可以直接从FLASH硬盘的零地址执行代码,也就是说将初始启动代码烧写到FLASH零地址开始的地方就可以启动目标系统。支持ARM结构的启动软件有:U_BOOT、PPCBOOT、REBOOT和BLOB,本文以PPCBOOT为例进行说明。

PPCBOOT是源代码开放并遵守GPL(General Public License )的自由软件,支持多种CPU架构,包括alpha、arm、x86、ia64、mips、mips64、ppc、s390、sh、sparc和sparc64,是被广泛使用的一个启动软件。

首先使用GNU工具链将PPCBOOT编译成在目标机可运行的程序ppcboot.bin,编译过程请参阅文献[1]。

1.通过JTAG接口烧写

JTAG技术可以实现在目标机是裸机的情况下将程序烧写到目标机,是简单和直接的烧写方法。

用JTAG连接线连接宿主机的并口和目标机的JTAG接口,确认已经将JTAG 连接好,通过跳线开关配置要烧写的NOR FLASH。在Red Hat Linux或 Windows XP打开命令窗口,运行命令:

./JFLASH_2410EP_Nor /f: ppcboot.bin

其中JFLASH为烧写工具,/f表示文件,ppcboot.bin是OURS_ARM9_2410EP系统引导程序。

后面有两个选择,表示要烧写的目标地址,分别选择0,0,即开始对FLASH烧写引导程序ppcboot.bin。此后大约等待六七分钟,烧写完成。烧写结束后又出现选择,输入2退出,这时目标板的启动部分烧写完成。使用这种方法烧写的时间比较长,一般较少使用。

2.通过仿真器烧写

在Windows XP中安装ARM ADS集成开发环境,即ARM Developer Suite。安装Multi-ICE仿真器,在宿主机的并口和目标机的JTAG接口之间连接仿真器,连接宿主机的串口和目标机的串口,安装Multi-ICE v2.2软件。运行Multi-ICE Server,点击软件界面左上角的Auto-Configure按钮,在出现仿真器符号后,仿真器连接成功。

通过仿真器可以使程序直接运行在目标机的内存中,不使用目标机的FLASH,有很多程序就是通过仿真器在目标机运行和调试的。

在Windows XP中打开超级终端,在ADS集成开发环境中编译项目ProgramFlash,ProgramFlash是专门编写的操作FLASH的一个软件。通过仿真器运行ProgramFlash,ProgramFlash在超级终端的运行界面如图2所示。

选择写入的FLASH,然后在超级终端发送ppcboot.bin,按照提示就可以完成启动的烧写。

3.交叉烧写

在目标机支持多启动的情况下, 可以从一个FLASH启动,利用启动软件写FLASH的功能,通过热跳线,写到另一个FLASH中。

如图3所示是一个支持烧写FLASH的启动软件的运行界面,此时通过热跳线到另一个FLASH, 然后选择4就可以实现交叉烧写。

三、操作系统内核的下载

操作系统内核下载到目标机有三种方法:通过JTAG烧写、通过网口和串口从宿主机下载。其中通过JTAG烧写的操作与第一部分相同。在目标机启动PPCBOOT后,由于PPCBOOT支持网口和串口下载,操作系统内核就通过网口或串口下载到目标机。PPCBOOT的详细使用说明见参考文献[2]。

目前使用较多的嵌入式实时操作系统有:美国WindRiver公司设计开发的嵌入式实时操作系统VxWorks、微软公司的WindowsCE、Linux、UC/OS、eCos、Lynx实时系统公司的LynxOS和QNX软件系统有限公司的QNX等。

本文以Linux为例说明操作过程,Linux内核的交叉编译是在Red Hat Linux环境中实现的,编译后内核的文件名是bzImage,内核的编译过程见文献[3]。

下面分别说明通过网口和串口内核的下载过程。

1.使用网口

从网口下载操作系统内核,首先要在Red Hat Linux或Windows XP中启动tftp服务,启动超级终端,然后启动目标机的PPCBOOT,在超级终端中就可以使用PPCBOOT的tftp命令,将内核下载到目标机。[4]

下面分别说明在Red Hat Linux和Windows XP环境中的操作过程。SMDK2410 #表示PPCBOOT的提示符。

(1)Red Hat Linux环境

实现过程:1)在Red Hat Linux中启动tftp服务;2)在根目录下建立/tftpboot目录;3)把Linux 内核bzImage拷贝到/tftpboot目录下;4)在Red Hat Linux中启动超级终端minicom;5)启动目标板的PPCBOOT;6)在超级终端中运行tftp命令SMDK2410 # tftp 0x30008000 bzImage。其中数值0x30008000为内核下载到实验箱内存中的地址。7)下载Linux内核, SMDK2410# fl 0x1040000 0x30008000 0x100000。三个参数的意义:0x1040000为内核烧写到Flash的地址,当PPCBOOT启动后它会从此地址加载Linux内核。0x30008000为上一步使用的内核下载到内存中的地址。0x100000为内核的大小,0x100000可被替换为大于内核大小且是0x20000倍数的最小整数。

(2)Windows XP 环境

实现过程:1)在Windows XP中启动tftp服务器;2)在Windows XP中启动超级终端;3)启动目标板PPCBOOT;4)在超级终端中运行命令:SMDK2410 # tftp 0x30008000bzImage;5)下载Linux内核:SMDK2410# fl 0x1040000 0x30008000 0x100000。

2.通过串口

从串口下载操作系统内核,同样需要在Red Hat Linux或Windows XP中启动超级终端。启动目标机的PPCBOOT,在PPCBOOT的提示符下输入loadb命令, loadb命令的功能是通过串行线下载可执行文件到目标机,命令格式是:loadb [offset] [baud], 其中Offset是地址偏移量,baud是串口的波特率。

这个命令开始执行后,在超级终端中打开发送文件选项,出现发送文件对话框,在文件名选择项中加入要烧写的内核,然后单击发送,注意超级终端的波特率要与loadb命令的波特率一致。

四、根文件系统

根文件系统(Root File System)下载到目标机的方法与操作系统内核的方法相同。

首先制作根文件系统,Linux根文件系统的制作见文献[5],假定制作后根文件系统的文件名是ramdisk.image.gz,使用下面的命令下载。

SMDK2410# tftp 30800000 ramdisk.imag.gz

SMDK2410# fl 1140000 30800000 200000

其参数意义与上面的内核下载相同。

五、应用程序

由于应用程序运行在内核和根文件之上,所以应用程序的交叉开发能采用更方便的方法,一般采用NFS系统实现。在应用程序运行之前,应交叉编译为目标机的可执行程序。

NFS(Network File System)指网络文件系统,是Linux系统中经常使用的一种服务,NFS是一个RPC service,很像Windows中的文件共享服务。它的设计是为了在不同的系统间使用, 所以它的通讯协议设计与主机及作业系统无关。当使用者想使用远端档案时只要用“mount”就可把远端档案系统挂接在自己的档案系统之下,使得远端的档案在使用上和本地的档案没两样。

NFS系统配置包括目标机和宿主机的配置,其中以宿主机已配置为主。

在NFS服务中,宿主机(Servers)是被挂载(mount)端,为了远端目标机(Clients)可以访问宿主机的文件,宿主机配置两方面内容:打开NFS服务,允许“指定用户”使用。

在Red Hat Linux或Windows XP中均可以使用NFS服务,本文以Red Hat Linux为例进行说明。

1.NFS文件系统配置

宿主机NFS 文件系统的配置过程如下。

首先打开/etc/exports文件,加入如下内容:

/ 192.168.2.* (rw,sync,no_root_squash)。

其中:/表示宿主机的目录,在目标机共享,192.168.2.*为目标机的IP地址范围,括弧内表示操作的权限,然后运行命令:exportfs。

NFS服务的启动是由一些命令来完成的,它们是:portmap、rpc.nfsd、rpc.lockd、rpc.statd、rpc.mountd和rpc.rquotad,如果系统中有这几个命令,就运行下列命令启动NFS服务:service nfs start或/etc/rc.d/init.d/nfsstart;如果系统中没有,就下载工具包nfs-utils-1.0.7.tar.gz,然后编译安装就可以了。在目标机也应该启动NFS服务。在上述的工作完成以后,目标机和宿主机就可以通过NFS 文件系统进行软件的调试和运行,即软件编译在宿主机完成,运行在目标机。

2.通过NFS文件系统进行访问

访问过程的实现如下:在宿主机的Red Hat Linux 中运行命令:minicom,minicom是Linux下的超级终端,进入超级终端后进行一些设置,首先按下Ctrl-A,再按Z,然后选择O,进入配置界面,按上下键选择Serial port setup 进行如下设置:

Serial Device:/dev/ttyS0

BPS/par/bits:/115200 8N1

硬件流、软件流均选择无

然后按ESC键退出配置界面,启动目标机,就在超级终端出现Linux命令提示符,键入命令:ifconfig eth0 192.168.2.2,配置目标机的IP地址,然后在宿主机的控制台运行命令:ifconfig eth0 192.168.2.10,配置宿主机的IP地址。

然后在宿主机的超级终端中键入命令:mount-t nfs 192.168.2.10://mnt/,它的作用是把宿主机的/目录挂接到目标机的/mnt/ 目录中,这时宿主机的/目录下的程序就可以运行在目标机中。需要注意的是宿主机应关闭防火

墙。

六、结论

本文对嵌入式开发进行了总结,总结了嵌入式目标机软件的各个部分各种不同的实现方法,详细介绍了它们的实现过程。本文选用OURS_ARM9_2410EP作为实验对象,OURS_ARM9_2410EP是一款具有代表性的嵌入式实验平台,其他产品的操作是类似的。本文介绍的方法可在S3C2410的产品中使用,可对嵌入式开发提供一些参考方法。

参考文献:

[1]将ppcboot2.0.0移植到s3c2410平台.http://www.yuanma.org/data/2006/0917/article_1549.htm,2006.09.

[2]PPC Boot Firmware User Manual.http://www.radstone.com/linux/linux1/ppcboot.pdf,2004.

[3]陈健,宋健建.Linux程序设计(第三版)[M].北京:人民邮电出版社,2006.

[4]汪小燕,连晓平,董燕,杨大鹏.基于TFTP 协议的嵌入式系统开发方法设计与实现[J].华中科技大学学报(自然科学版),2006,34(12):56-58.

篇4:嵌入式学习心得总结

4月10号,为期一个阶段的Linux开发基础培训课程圆满结束,回首这些天所留下的点点滴滴,感触深深,学习上知识点的积累,灵活运用的过程中感受到了Linux操作的快速高效性能,这也是我所追求的效率!

当初初涉培训课程的第一门课程时,都说Linux操作很繁琐复杂,心里总有些顾忌,带着种种不安与些许拼博的决心,开始了自我提升阶段的“充电”,由徐海兵老师教授我们基础课程的培训,我们则像着小学生般认真的记着笔记,仔细听着并学会如何去在实践中运用所学的Linux下的各种强大的命令集。

在Unit 1中,徐老师详细生动的为我们讲述了有关Linux的诞生、初成长以及辉煌的发展至今,今后应用范围则愈来愈广泛,讲解了为Linux这个伟大的OS做出巨大贡献的一位位出色的、伟大的人物,他们那种学习钻研的精神、锲而不舍的信念、勇于把握住难得的机会,从小处着手,踏踏实实的创造出了对人类科技发展做出卓越贡献的Linux(Unix)系统,他们的种种,都值得我们去深刻反省、刻苦学习、传承并永远发展下去。

查看ip地址和重启网络服务是我学的第一个命令: ifconfig eth0、ifconfig eth0 Ip地址、service network restart。了解到远程登录软件可用xmanager。

secureCRT是我们常用的,安装好后利用其登录到了Red hat Linux,需要知道Linux主机的ip 地址。徐老师为我们介绍了重要内容:SHELL,即运行程序的程序,如echo $SHELL可查看SHELL的环境变量是csh还是bash。(学习心得 )指令pwd可查看当前所在路径,passwd:更改Linux下的密码,仅限root用户有此权限,当然我们是利用虚拟机VMware程序来运行Linux OS的,懂得了如何设置虚拟机的网卡设置、暂停、恢复、全屏等。

简单的学习后进入Unit 2,命令行的句法让我懂得了用法规则,一系列的命令功能强大:

date 显示当前年月时间星期之类的;

more指令与less重要但不常用;

cat用于查看短小的文件内容,常用!

mkdir命令用于在当前目录下创建新的目录;

ls 显示当前目录下所有文件;cd 更改文件路径,如cd、cd.当前目录;

rmdir 删除空文件夹;

rm指令很强大,用于删除空目录及非空目录下的指定或全部文件;

man 真男人,帮助手册;

history指令用于显示编写过的命令集,以history 序号 可显示序号所指命令;

echo回写命令,很重要,我需要继续学习;

exit 指从多重SHELL退出来;

Linux账号下,可以增加用户、删除用户、设置密码:useradd、userdel、passwd;注:所有的用户的家目录都在/home下面,唯独root的家是在/root.点文件都是些SHELL的脚本程序,也称隐藏文件;环境变量常见的有:HOME pATH pWD,懂得了绝对路径与相对路径的对比概念。

Unit

3、文件与文件处理的学习中,知道了Linux下支持的六种文件类型:普通文件、目录、设备文件、命名管道、符号链接、socket;Linux下文件系统的组织:倒立的树形结构:/ /bin /boot /dev /home /lib /proc等文件目录,ls –l指令很好很强大,显示文件类型与权限、所有者、字节大小、时间及文件名;touch可创建空文件,复制文件用指令 cp,可选-i、-r等;重命名文件使用 mv [-i];du 显示当前目录所占空间大小;wc 命令 显示列表中文件的行数、字数、字符数;追加:cat [文件列表] 》 目标文件;find指令与grep重要,暂未学习,自己在实践中学习,文件访问权限有:r w x;chmod指令可修改访问权限,如 chmod 777-R 文件名。

输入输出重定向 每个命令默认打开三个文件:标准输入stdin,标准输出stdout,标准错误stderr,键盘为标准输入,而控制台则是标准输出,文件描述符分别是0,1,2;最重要最常用的为输出重定向 > 与错误重定向 2>;

echo 添加的内容 >/ 》 文件;

Linux过滤器和管道:管道操作符:| ;即将某个命令的输出与某个命令的标准输入相连接,从而实现管道功能,例如 ls –l |wc;管道和重定向操作符可同时用于一个命令行。

Unit 5:Linux/Unix进程 进程为程序运行的一个实例,可用ctrl-z挂起进程,或在命令后加上&符号即可;运行在后台的系统进程是守护进程,它为用户提供各种服务。

ps 指令可显示进程属性,有ps l;ps a;ps aux等

ps –l可显示用户ID、进程ID、优先级、TTY以及STAT

bg、fg 分别将进程放后台、前台运行,jobs则是查询所运行的进程的状态;

& 放于命令间表示可同时运行多个命令;

; 表示可顺序执行多个命令

前台程序可用ctrl-c来终止、kill指令

进入Unit 6,神秘的Shell脚本逐渐揭开了她那瑰丽的面纱

环境变量的设置:export MYHOST=Ip地址

查询引用 echo $MYHOST

篇5:嵌入式行业调查总结报告

一、嵌入式工程师个人基本情况

在“2012-2013中国嵌入式开发从业人员调查”活动中,针对行业内嵌入式工程师个人基本情况的调查,除了延续前四届调查问卷的专业角度和务实的关注点,对公众普遍关注的工作经验、学历、薪资范围等关键项着手进行数据的汇总和分析之外,我们还增加了嵌入式工程师地域分布的调查。同时也综合之前调查汇总的结果数据,通过纵向的对比和分析,力求更全面地呈现出一个直观的、在时间跨度上的变化趋势。

1、工作经验

来自华清远见2012-2013的行业调查数据的结果显示,目前从事嵌入式开发“不到1年”和“1-2年”的工程师所占的比例依然是最大的,分别是29%和25%,占总参与调研人数的54%,对比去年增加了4个百分点,而具备相对丰富开发经验的嵌入式工程师(2年以上工作经验)则占总调研人数的46%。对比2008至2012年这几年的调查数据,我们不难得出这样的结论:伴随着整个嵌入式行业的快速稳步发展,嵌入式专业领域内技术研发人才分布已经呈现出日趋合理的比例结构,过去的一年,有更多的一线研发工程师投身到嵌入式这一热门行业中,并且继续呈现出逐年增长的趋势。结合本报告后面关于“企业人才需求现状”的调查结果,我们也不难分析出,嵌入式企业的发展速度和专业人才的成长速度依然有一定的差距,行业内专业研发工程师供不应求的状态扔将会持续。嵌入式开发涉及领域极广,嵌入式产品在日趋智能的工作和生活中也无处不在,巨大的市场发展空间将为更多投身嵌入式领域的工程师提供更为广阔的职业发展平台,我们相信,伴随着未来几年更多的专业嵌入式人才的加盟,这个行业将在坚实的步伐中高昂挺进全盛期。

2、学历要求

来自2012-2013的调查统计数据显示,嵌入式开发从业人员的学历仍然以本科(60%)和硕士(23%)居多,占所有参与调查人员的 83%,和去年调查报告结果基本持平。从中可以看出:在整个嵌入式行业的从业人员中,本科生和研究生凭借其扎实的理论功底和良好的综合素质,依然是嵌入式开发从业者的主要群体,并且在未来一段时间内也将持续稳居此项调查的前两位。同时,我们也可以进一步得出结论:在社会生活压力不断增大、大学生就业率更低、难度更高的今天,高校专业学科建设和教学改革的步伐越来越快,嵌入式及相关专业在大学校园内的普及和发展也达到了前所未有的速度。在高校更加贴近用人企业真实需求的实训模式的引导下,越来越多的计算机、电子、自动化等相关专业及物理、数学、信息工程等基础专业的本科生和研究生开始将自己的职业规划定位到高薪诱人且发展前景极为广阔的专业嵌入式开发领域。而作为一个具有庞大基数的群体,本科生势必将成为未来解决嵌入式人才供不应求问题的一个巨大突破口,而对于这样一个蓬勃发展的专业领域来说,也势必将为更多大学生提供更高质量的就业机会,从而有效推动相关专业的大学毕业生与企业人才真实需求的无缝对接。

3、地域分布

嵌入式行业从业人员的地域分布为本调查活动的新增调研项目,调查统计数据显示,嵌入式开发从业人员主要集中在北京、深圳、上海、广州、成都等一线城市,分别占总调研人数的18%、13%、11%、9%、8%,总计占59%。这一调研数据显示,高新技术企业密集的大城市仍然是广大嵌入式开发者获取更多工作机会及长远职业发展空间的首选。随着国家中西部开发的不断加强以及更多创新产业园和国际知名企业的入驻落户,武汉、西安等中西部城市也将呈现越来越旺盛的嵌入式人才需求,相信这将为更多的嵌入式开发者提供更为广阔的地域发展空间及就业机会,任何城市经济的发展,都离不开众多专业人才的加入。

4、薪资水平

来自华清远见2012-2013的调查统计数据显示,嵌入式行业从业人员月薪为3000-8000元的比例占到69%,与去年保持一致,月薪3000以下的比例减少了一个百分点,8000元以上高薪部分的比例略有增加。结合本次调查在职工程师“工作经验”项目的统计结果可以看出,工作在 1-2年的工程师薪水基本会在3000-8000元的范围,而随着工作年限的增加,薪资水平也会有较明显的提高。对于嵌入式工程师来说,“经验”会显得尤为重要,相比其他IT从业人员,嵌入式工程师的开发经验将会使薪水增长更快。当然对于新入行的嵌入式工程师来说,也将面临巨大的机遇,从个人职业发展角度来看,未来将会有更大的发展空间。该项调查通过客观的数据分析结果,全面反映了嵌入式开发从业人员的一个整体薪资待遇情况,显然由于整个嵌入式行业正处于高速发展期,必然使得专业人才的薪资发展空间与其个人专业技术经验的积累直接相关。人才永远是企业发展的核心动力,而嵌入式工程师作为一个高薪诱人、极具成长空间及发展潜力的专业技术岗位,也必将成为推动整个嵌入式行业更加快速地向前迈进的中坚力量。

二、嵌入式行业公司的基本状况

接下来的调查是针对与技术工程师息息相关的嵌入式行业中众多产品研发企业的发展现状,以期能够帮助大家从另外一个角度,借助更广阔的视野来分析了解整个嵌入式行业的现状。结合嵌入式企业在研发产品应用及核心技术领域的特点,本部分调查内容主要从“所属行业分布情况、公司规模、软件开发平台、软件开发调试工具、软件开发语言、硬件开发平台、处理器芯片、软硬件人员安排、未来嵌入式操作系统首选”等方面展开,其中本调查中新增的项目包括:软件开发调试工具、处理器芯片、未来嵌入式操作系统首选等项目,以帮助大家更加全面而有针对性地了解嵌入式行业内,专业研发企业的整体状况及未来的技术发展趋势。

1、所属行业分布情况

作为智能设备及终端产品的核心基础,嵌入式技术的应用已经渗透到社会工作及生活的各个领域。由于嵌入式技术的成熟应用,也进一步加速了移动互联网、物联网及云计算的产业化进程。来自2012-2013的行业调查数据显示,目前嵌入式产品应用最多的三大领域依然是“消费电子、通信设备、工业控制”,所占比例分别是23%、17%和13%,三大领域所占比例之和占53%,其中消费电子所占比例将相较去年有明显增长,相信这与智能手机、平板电脑等移动设备的大面积普及有直接关系。而占据9%的“其他”一项选择中,参与调查者主要选择的是“电力设备、智能电网、物联网、仪器仪表、教育”等行业。我们有理由相信,这些都充分表明,未来嵌入式系统将会走进IT产业的各个领域,成为推动整个产业发展的核心中坚力量。

2、公司规模

从“公司规模”调查项的统计结果可以看出,100人以内的小型公司所占比例为49%,基本上接近一半,100-500人的中型公司所占比例为 29%,这和传统的IT企业规模构成差别还是比较大,这恰恰说明了嵌入式系统充分结合行业应用、具有灵活定制性的特点。嵌入式系统应用领域非常广泛,在每个典型的应用领域内都要求企业具备一定的专注性和专业性,这与传统的IT行业经常会在某个领域内出现垄断的大型企业的局面有所不同。

3、软件开发平台的选择

来自华清远见2012-2013的调查统计数据显示,在嵌入式产品研发的软件开发平台的选择上,嵌入式Linux仍以42%的市场份额遥遥领先于其他嵌入式开发软件平台,由此可见,Linux凭借其得天独厚的优势和广泛的应用领域,依然成为众多嵌入式企业研发团队的首选。而作为移动互联网的重要切入点,智能手机操作系统平台也吸引了越来越多的开发者加入,Android智能手机操作系统平台以绝对的优势(16%)成为手机操作系统平台首选,市场份额也在逐年提升,对比去年的调研数据,虽然iOS操作系统在过去的一年增长幅度高于Android,但与Android操作系统的市场占有率仍然有一定的差距,以5%的比例屈居手机操作系统平台第二。在对华清远见老学员的回访中,很多嵌入式linux就业班毕业的学员,目前也呈现出软硬件各方向的多元发展趋势,也有部分毕业学员直接进入Android移动开发领域,由此可见,嵌入式Linux的学习无疑给众多学员提供了更为广阔的职业发展空间,究其原因主要是在于Android手机操作系统是在Linux内核基础上开发的,尤其在底层部分,两个系统基本是一样的,对于之前一直从事Linux开发的工程师来说,转向Android平台开发是比较轻松的事。而在新兴物联网领域,嵌入式作为物联网产品的核心技术之一,也将为嵌入式系统提供更为广阔的产业发展空间。嵌入式Linux的长远发展空间、Android、iOS等平台智能设备的广泛应用、物联网的巨大产业发展空间,所有这些与嵌入式相关的行业新动向,无疑为更多迈入嵌入式开发的初学者提供更好的就业机会和职业发展前景。

4、软件开发调试工具的选择

软件开发调试工具的选择为本新增调研项目,调查统计的数据结果显示,keil和IAR分别以37%、24%的比例成为嵌入式开发者的主要调试工具,总计占所有参与调研人数的61%。合适的调试工具的选择使用,可以大大加快产品的开发进度。这也使得在调试工具层面的技术支持和发展成为研发过程中需要考虑的因素之一。同时,这个调查结果也为初学者如何选择开发工具提供有价值的参考。

5、硬件开发平台的选择

从2012-2013的调查统计数据中可以看到,ARM处理器(包括ARM7/9/

11、Cortex-M系列、Cortex-A系列)毫无疑问地占据了嵌入式处理器绝大部分的市场份额(74%),在ARM及其合作伙伴的市场推动下,ARM7/9/11较前一年的统计结果,出现了非常明显的下滑,市场份额下降了13个百分点,而最新ARMv7架构的Cortex系列处理器成功布局嵌入式移动计算领域并取得了快速的发展,其中定位低端的Cortex-M系列处理器和定位高端的Cortex-A处理器较一年前的统计结果,分布有两个百分点的增长,已毋庸置疑地成为ARM处理器应用的主流。随着物联网产业的快速发展,对低功耗微控制器的需求必然会更进一步地推动Cortex-M系列处理器的快速应用,而高性能智能手机、平板电脑及更多智能终端设备的开速普及则使得Cortex-A系列处理器获得了快速发展的机会。

6、处理器芯片的选择

处理器芯片的选择为本新增的调研项目,据调查统计数据的结果显示,TI(德州仪器)和SAMSUNG(三星),成为最受开发者欢迎的嵌入式处理器芯片提供商,占据了接近一半(47%)的市场份额,其他知名厂家处理器芯片所占市场份额分布为:Qualcomm(高通)10%、Intel(英特尔)8%、NXP(恩智浦)6%、Atmel(爱特梅尔)5%、Nvidia(英伟达)5%、Freescale(飞思卡尔)4%、Renesas(瑞萨)3%,除以上厂家之外的其他处理器则占总体市场份额的12%。

7、软件开发语言的使用

来自2012-2013华清远见的调查统计数据显示,在嵌入式产品研发的软件开发语言的使用上,C语言仍然是嵌入式开发过程中最普遍使用的语言,其市场份额继续保持领先(70%),这一统计结果再一次表明,无论是在传统的工业控制领域、通信领域,还是迅猛发展的消费电子,安防控制、信息家电等领域,C语言均是嵌入式开发语言的首选。对比去年的调研数据,Java语言和Objective-C的使用比例有所上升,究其原因不难看出,Android智能手机操作系统的开发需求推动了java语言的广泛使用,成为在嵌入式领域内最受欢迎的高级语言,而iOS智能手机操作系统的开发则拓展了Objective-C语言的开发人群。C++所占比例为10%,位居第三。汇编语言所占比例3%,与去年持平。

8、软硬件人员的安排

2012-2013的调查数据显示,有一半从事嵌入式产品研发的企业都是采用软硬件人员分工合作完成产品的开发方式(50%),与去年的调查数据(62%)横向对比看,这一选项所占的比例也呈现出下降的趋势(下降了12个百分点)。而“人员不分开,要求员工同时具备硬件和软件开发能力,可独立完成项目”的公司所占比例,由去年的22%上升到今年的29%(上升了7个百分点)。从这一转变,我们可以看到:嵌入式系统作为一个软硬件结合的系统,需要嵌入式开发工程师在软件和硬件两个方面都不断深化学习,同时具备软硬件开发能力的工程师,将在求职过程中拥有更多的选择机会以及更大的成长空间。同时,从各大招聘网站的最新搜索数据中也可以看出,目前嵌入式软件开发人才的需求量远远大于纯硬件开发人才,嵌入式系统项目研发差不多80%以上的工作量都是在软件部分,软件是嵌入式系统最核心的部分,也是体现嵌入式系统优势的最关键部分,企业对嵌入式软件开发人才的需求必将持续上涨。

9、未来嵌入式操作系统首选

在本新增调研项目中新增了对未来1-2年内嵌入式行业会占主导地位的嵌入式操作系统的调查,调查统计数据显示,嵌入式Linux仍然是未来几年内,嵌入式工程师认可的最具发展潜力的首选嵌入式操作系统,所占比例接近一半(47%),而Android智能手机操作系统,也受到了越来越多嵌入式工程师的关注,并对其在移动手机操作系统中广阔的发展空间及发展潜力充满了期待。由此可见,作为开源系列的两款优秀的嵌入式操作系统(嵌入式Linux及 Android),其开源的特性,无疑使其在市场竞争中,具备了最强大的竞争优势及用户基础,用户就是王道。

获取专业知识的途径

1、首选搜索引擎

在嵌入式工程师对搜索引擎使用习惯的调查中,百度和Google的使用率依然是平分秋色,这和这两个搜索引擎在国内市场份额的实际占有率有很大差别,也与正打得火热的国内搜索引擎市场的实际状况有很大的不同。究其原因,这与嵌入式工程师会经常搜索国外的最新技术资料有直接关系,Google在搜索国外网站技术资料的广度和深度上具有明显的优势。嵌入式技术更新非常快,对于开发人员来说,必须具备较强的学习能力,善于通过各种渠道更新自身的知识体系,关注最新技术发展热点,适应行业最新发展需求。

2、微博平台

由于微博在发布信息及信息传播上具备速度快的明显优势,目前已成为主流的媒体平台之一。以成为。通过2012-2013的调查数据,我们可以看出,嵌入式工程师对微博的热度虽然明显低于大众用户,但关注微博的嵌入式工程师也在慢慢增多。对比去年的调研数据,很少使用微博的用户,下降了18个百分点(由去年的65%下降到今年的47%)。使用新浪和腾讯微博的用户比例分别是35%和16%,也有更多的行业媒体与嵌入式企业通过微博手段发布行业资讯及企业动态,吸引更多的嵌入式工程师关注,相信这对于企业品牌及产品形象的传播将会提供更多的帮助。

四、嵌入式工程师对职业生涯的看法

作为一个正在高速发展的行业,许多技术工程师和准备进入行业的技术爱好者都非常关注嵌入式领域未来的职业规划和行业整体的发展状况。本部分调查则主要从“企业人才需求现状、对工作薪资的满意度、未来一年薪资涨幅、如何看待培训以及对未来职业人生的规划”等方面进行问题设置,希望能从各个角度上展现嵌入式工程师对目前工作状态的的满意程度和真实需求。

1、企业人才需求现状

来自2012-2013的调查数据显示,在整个行业发展的过程中,嵌入式人才需求目前仍然是供不应求,74%左右参与调查的一线工程师均表示,自己所属的公司目前都急缺嵌入式开发方面的专业技术人才。虽然人才缺口仍然很大,但连续4年的调查数据显示,这一比例已在持续下降(2011年比2010年低了5个百分点,2012年比 2011年低了3个百分点,2013年比2012年低了1个百分点),这也表明,随着国家政策的更加重视、市场的整体推动及多渠道的嵌入式人才培养体系的不断完善,嵌入式开发人才需求瓶颈的问题,在逐步得到缓解,整个嵌入式专业人才市场的供求关系正在向更健康的方向发展和迈进。但是企业对专业人才需求量的缺口依然非常大,整个嵌入式行业的发展也需要更多专业嵌入式人才的加盟,而且越早进入这个行业,优势越大。

2、对工作薪资的满意度

本薪资满意度的调查结果显示,有63%的工程师对目前的薪资水平表示非常满意或基本满意,比去年同期有4个百分点的增长。另外有37%的人对目前薪资表示了不满意。结合“薪资分布”调查项的结果,本的薪资水平与工程师的满意度基本保持了同等比例的增长,工程师对自身能力的提升充满了信心,对行业发展的整体趋势表现出非常积极的态度。

3、未来一年薪资涨幅

来自华清远见2012-2013的调查统计,针对“未来一年薪资涨幅”的调查结果显示,几乎所有在职工程师对未来一年薪资的增长都充满了信心,其中接近68%的人预测涨幅会在40%以内,16%的预测涨幅会在41-60%之间,比去年上升了5个百分点,13%的人预测涨幅会在61%以上,比去年上升了5个百分点,以上数据要高于整个IT行业的平均水平,这充分说明在嵌入式领域,开发人员对自身的发展有更高的要求和更大的信心,对行业未来的发展也表示出积极乐观的态度。嵌入式技术的成熟应用推动了很多产业的高速发展,例如物联网、移动互联网、云计算等,这也让嵌入式工程师看到了未来自身的更高价值。对于用人企业来说,开发人员对未来薪资有更加的期望会增加企业开发成本,企业必须通过不断推出有市场竞争力的产品,更高效的内部管理,才能留住更多的人才,保证企业利润的持续增长。

4、未来职业人生的规划

篇6:嵌入式linux驱动学习总结

方法2: $ sudo dpkg-reconfigure portmap , 对Should portmap be bound to the loopback address? 选N.(2)配置/etc/hosts.deny 禁止任何host(主机)能和你的NFS服务器进行NFS连接,加入: ### NFS DAEMONS portmap:ALL lockd:ALL mountd:ALL rquotad:ALL statd:ALL(3)配 置/etc/hosts.allow 允许那些你想要的主机和你的NFS服务器建立连接。下列步骤将允许任何IP地址以192.168.2开头的主机(连接到NFS服务器上),也可以指定 特定的IP地址,加入: ### NFS DAEMONS portmap: 192.168.1.lockd: 192.168.1.rquotad: 192.168.1.mountd: 192.168.1.statd: 192.168.1./etc/hosts.deny 和 /etc/hosts.allow 设置对portmap的访问.采用这两个配置文件有点类似“mask”的意思.现在/etc/hosts.deny中禁止所有用

户对portmap的访问.再在/etc/hosts.allow 中允许某些用户对portmap的访问.sudo /etc/init.d/portmap restart 重启portmap daemon.(4)配置/etc/exports NFS挂载目录及权限由/etc/exports文件定义 比如我要将将我的/opt/FriendlyARM/mini2440/root_nfs目录让用户的IP共享, 则在该文件末尾添加下列语句:

/opt/FriendlyARM/mini2440/root_nfs *(rw,sync,no_root_squash)NFS客户端能够共享NFS服务器/opt/FriendlyARM/QQ2440/root_nfs目录内容.且有读,写权限, 并且该用户进入

/opt/FriendlyARM/mini2440/root_nfs目录后的身份为root 最好加上sync, 否则 $ sudo exportfs-r 时会给出警告, sync是NFS的默认选项.showmount-e 查看NFS server的export list.若更改了/etc/exports, 运行 sudo exportfs-r 更新

运行 /etc/init.d/nfs-kernel-server restart 重启nfs服务

(5)测试NFS 可以尝试一下挂载本地磁盘

我前面开始时已经提到了我的主机IP是192.168.1.101 我现在试把/opt/FriendlyARM/mini2440/root_nfs目录挂载到/mnt目录下 mount-t nfs 192.168.1.101:/opt/FriendlyARM/mini2440/root_nfs /mnt 就101和:之间的空格我耗了1个小时

成功的挂载上的话你会在/mnt目录下看到root_nfs这个文件夹下的内容

Arm9之家账户:李向阳85 安装ncurses

ncurses是字符终端下屏幕控制的基本库。可能很多新开发的程序都不使用了,不过如果要编译一些老程序,还经常遇得到。

安装:ncurses

http://ftp.gnu.org/pub/gnu/ncurses/

./configure--without-debug #以及其它自己需要的参数

make

make install

3,继续你的make menuconfig。

图形界面出来了。

允 23:22:22

小允 23:22:31

篇7:《嵌入式技术》学习总结报告

分 类:软件项目计划 使用者:E-fanciers

Version: 1.0

项 目 承 担 队伍:烟台大学

计算机学院 E-fanciers小组撰 写 人(签名): 许超 于歌

完 成 日 期: 2009-7-16 本文档使用小组: E-fanciers小组

评审负责人(签名): 孝瑞

评 审 日 期: 2009-7-19

目 录

一、引言.............................................3

1.1编写目的.......................................3 1.2项目背景.......................................3 1.3定义...........................................3 1.4参考资料:.....................................3

二、开发结果........................错误!未定义书签。

2.1产品..........................错误!未定义书签。2.2主要功能......................错误!未定义书签。2.3所用工时.......................................4 2.3所用机时.......................................4 2.3进度...........................................4

三、评价............................................4

3.1生产率评价.....................................4 3.2技术方案评价...................................4 3.3产品质量评价...................................4

四、经验与教训.......................................4

一.引言

1.编写目的(阐明编写总结报告的目的,指明读者对象。)

详细陈述项目开发过程,对项目开发做最后的总结完善,说明项目开发过程中遇到的难题及解决方案。

2.项目背景(说明项目的来源、委托单位、开发单位及主管部门。)

随着微电子技术、计算机技术和网络通信技术的发展,嵌入式系统已广泛应用在各个领域,包括消费电子、汽车电子、网络通信、工业设备、航空航天和国防军事等。随着嵌入式技术的发展,工业领域也一改过去传统的单片机应用模式,逐渐将一些新嵌入式技术引入到系统中。特别是作为软件基础的嵌入式操作系统已广泛为业界所接受,借以提高系统的开发效率和运行效率。是否采用嵌入式操作系统,已成为工业设备品质优劣的标志之一。

当今的嵌入式操作系统领域呈现百家争鸣的状态。据最近的调查数据显示,嵌入式操作系统有数十种之多的。这种多样性存在是必然的,是由嵌入式系统的定制性所决定的,是针对各个领域和行业的不同需求的应对。也就是说,各个嵌入式操作系统都有自己的应用领域,针对不同的应用没有绝对的优劣之分,不会出现一种操作系统垄断的局面。自主开发嵌入式操作系统绝对不是多余的,也是是对这种多样性的自然顺应,应该可拥有自己的用武之地。有些国内嵌入式厂商将希望寄托在Linux之上,以为它可以帮助解决所面临的版税和安全等问题。但事实并非完全如此,至少在嵌入式系统领域。首先,Linux还是泊来货,国人并未掌握其核心技术和进程,也并未解决对外依赖的问题。其次,Linux是为桌面系统而设计的,并不能很好地满足嵌入式系统高效性和灵活性的要求;再次,Linux的一统也违背了嵌入式系统应用灵活定制的本质特性。

3.定义(列出报告中用到的专门术语定义和缩写词的原意。)

int taskInit(void);

/*创建一个任务, 返回: 返回任务编号tid, >0: 成功, 其他: 失败.*/ /*name: 任务名称, entryPtr : 任务函数入口, stack_size: 任务栈大小, priority: 任务优先级*/ int taskCreate(char *name, void *entryPtr, int stack_size, int priority);/*启动一个任务, 让taskCreat创建的任务参加调度*/ int taskStart(unsigned char tid);/*tid: 任务编号, 由taskCreate返回*/ int taskPriorityGet(unsigned char tid);int taskPrioritySet(unsigned char tid, int newPriority);/*获取和设置任务优先级, 用于动态调整*/ int taskSuspend(unsigned char tid);/*将任务挂起, 该任务退出调度*/ int taskDelete(unsigned char tid);/*将任务删除 该任务退出调度且回收任务分配的资源*/ int semCreate(void);/*互斥信号量创建, 返回信号量标识sid, <0: 失败*/ int semTake(int sid);int semGive(int sid);/*互斥信号量获取和释放*/ int taskSleep(int ticks);/*任务睡眠(非忙等), 由任务自己调用, 主动阻塞一段时间.时间单位为tick, 即10ms*/ 4.参考资料(列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括:(1)项目开发计划;(2)需求规格说明书;(3)概要设计说明书;(4)详细设计说明书;(5)用户操作手册;(6)测试计划;(7)测试分析报告(8)本报告引用的其他资料、采用的开发标准或开发规范。)(1)软件项目计划(2)需求规格说明(3)软件编写向导

(4)国家软件开发文档标准模板

二.开发结果

1.产品(可包括:(1)列出各部分的程序名称、源程序行数(包括注释行)或目标程序字节数及程序总计数量、存储形式;产品文档名称等。)

2.主要功能及性能 基本功能

1.基于参考硬件平台,建立硬件抽象层,完成基本硬件初始化,建立时钟中断; 2.在硬件抽象层基础上,建立多任务操作系统环境; 3.任务调度采用同级时间片轮询机制;

4.实现任务间基本通讯机制:互斥信号量(共享内存); 5.实现基本的时钟管理机制:任务睡眠阻塞;

6.实现一个RS232串口驱动。基于串口驱动实现一个命令行Shell(用一个独立的任务实现),可在超级终端显示信息和执行命令。

扩展功能

7.任务区分优先级,在同级轮询调度基础上添加优先级调度机制; 8.不同优先级任务之间实现抢占调度;

9.在抢占调度的基础上实现优先级逆转保护,避免逻辑死锁问题; 10.将代码移植到另一个硬件平台上运行,验证代码移植性。3.所用工时(按人员的不同层次分别计时。)

编码成员工时:60小时/周,共约400小时;

编写文档成员:共约60小时。

4.所用机时

5小时/天,共约300小时的机时。

5.进度(给出计划进度与实际进度的对比。)

根据敏捷开发方法的指导,每天查漏补缺,实际进度基本和计划进度一致。三.评价

1.生产率评价(如平均每人每周源程序行数、文档的字数等。)

源程序:200行/周

文档:1500字/周

2.技术方案评价

严格遵循开发流程,运用科学开发方法。

3.产品质量评价

按照大赛要求完成了应有功能的基础上有所添加自己小组的特色,譬如,设置相应的出错处理机制,为加强该系统的安全性与稳定性也做了相应的措施,总体来说,我们小组开发的嵌入式实时操作系统功能良好,稳定性强。

四.经验与教训

上一篇:舞龙的作文300字下一篇:四年级范文300