嵌入式系统学习

2024-04-30

嵌入式系统学习(精选8篇)

篇1:嵌入式系统学习

学习嵌入式系统心得

说实在话在没有学习之前,以及在学之前通过一些口中得知这是一门很不错,很有意思的一门课。而且目前是十分吃香的一门课程,如果学好了工作很好找并且待遇也很好。听到这些,我内心非常期待上这门含金量如此之高的一门技术课。据我了解,嵌入式系统是一个很有前景的行业。学会嵌入式技术,就相当于给自己创造了更多的机会。那么,在可以预计的将来,嵌入式技术的应用会越来越广泛。(大量的人才需求,未来五年内,国内LINUX嵌入式软件开发的人才缺口达到120万)

说实在的,第一天,我满怀期望的去上这门课。可是一上课听到老师的介绍,我就头昏脑胀了。这是什么课啊,谁会听得懂。犹如天书一般。

实事求是的说,嵌入式技术的全面掌握是有相当难度的。可以轻轻松松学会嵌入式技术的说法是夸大其词了。这个就像学英语一样,学英语无论怎样学,不管是“疯狂学”还是用新理念来学,真正掌握的话还是需要一步步积累才能熟练掌握。在此,我们通过短短的几个星期简单的了解和学习一下嵌入式,想成为这方面的高手。这些想法本身是不太现实的。我心里清楚我们需要做的是:

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

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

这就是我这段时间的学习心得。

鲁增庆 110402110 A11电气

篇2:嵌入式系统学习

1.linux应用 5天

linux 基本命令 服务器配置《linux管理员》

2.linux下C语言

编译环境和windows不同

makemakefilegcc编译器

3.linux环境高级编程

进程进程间通信文件操作多线程TCP/IP编程

4。arm体系结构与接口开发(硬件驱动)

5。linux系统移植交叉编译PC—>arm

6.qt程序设计

7.驱动程序设计(linux)有操作系统的驱动,让每一个硬件能够工作操作系统的源代码块设备驱动字符设备(外设)驱动网络设备(网卡 网络芯片)驱动

提供一种机制(能力)能实现什么功能而不是策略(怎么干)如何使用这些功能《linux驱动程序开发设计 魏友明?》

8.项目实训

知识体系:

处理器

arm(占20%的份额)

单片机(8051、AUR、DSP、MIPS、PowerPC。。)

操作系统

实时ucOSII,vxWorksThreadX)

非实时(WinCE linuxAndroidWindowsMobile)

驱动程序开发过程:

1.设备工作原理

2.查看电路原理图

3.查询数据手册(datasheet)体系结构和驱动都需要

篇3:嵌入式系统学习

单片机作为计算机技术的一个重要分支、嵌入式系统的先头兵, 广泛应用于工业控制、智能仪器、机电一体化产品、家用电器、智能产品、个人数字处理器等领域。台湾凌阳公司研制的基于SOC的单片机以其语音识别和处理方面的独到之处, 便于学生学习和实践, 近年来广泛用于各类电子实习、电子设计大赛及毕业设计中。为了配合我院师生学习新技术、接触新器件的机会, 提高在校学生的动手实践能力, 推动教学和新技术同步发展, 因此建设一个凌阳嵌入式系统的专题学习网站十分必要。

2专题学习网站系统的总体构建和技术手段

专题学习网站采用Brower-Server (浏览器-服务器) 架构, 即B/S结构, 是一个三层应用系统, 在B/S 结构下, 整个系统的管理、资源分配、 数据库操作、业务逻辑部件的管理及动态加载等工作集中于服务器, 容易部署和管理[1,2]。

本系统选择符合SQL标准的大型数据库管理系统Microsoft SQL Server 2000为整个系统的数据库管理平台, 它是运行在Windows2000/XP上的一个高性能数据库管理系统, 具有优良的联机分布事务处理能力, 很强的故障恢复能力, 较强的安全性和稳定性。系统的总体架构如图1所示。

3主要功能模块

本专题学习网站主要由用户管理、结构化知识、扩展性资源、交互会话和评价区五部分组成。系统的功能结构图如图2所示。

(1) 用户管理

提供用户注册功能。为了记录学生使用网站进行学习的情况, 记录网站被使用的情况, 系统要求用户注册后以网站成员的身份访问、使用和建设系统。用户分为四类:学生、教师、教务管理员、系统管理员, 不同类型的用户具有不同的权限。

(2) 结构化知识

结构化知识指的是通过收集整理、建设与本专题相关的文本、图片、动画、音频、视频等教学媒体, 按一定的教学策略进行分类、组织, 以网页形式制作的具有较强交互性的专题网络教学课件。本网站这部分主要包含电子教材、多媒体课件、教学录像、实验指导、毕业设计、课程实训、电子实习等内容, 可以满足学生学习过程中的基本需要。

(3) 扩展性资源

主要作用是扩展其他与专题相关的内容, 拓展学生的学习宽度。本模块主要包含大学生实践创新项目、典型应用设计、数据手册、开发资料、相关期刊等下载内容, 让学生在掌握基本知识的同时, 能更好的在实践中应用起来。

(4) 交互对话

交互会话在整个学习过程中是不可缺少的环节。它对学习资料的搜集与分析、假设的提出与验证、学习效果的考核都有着重要的作用。本网站在设计时充分考虑了这方面的需求, 设置了“在线作业”、 “在线测试”和“在线答疑”等模块, 利用多媒体和网络技术, 通过友好的人机界面, 创设形象直观的交互式学习环境, 一方面避免学习者因为单纯的接受知识产生对学习的厌恶感, 另一方面可以激发学生协作学习兴趣, 深化巩固知识。

(5) 评价区

收集与学习专题相关的思考性问题、形成性练习和总结性考查的评测资料, 并将其设计成基础性强、覆盖面广、难度适宜的题库, 让学习者能进行网上自我学习评价。

4结束语

专题学习网站是信息技术与学科课程整合的一种新形式, 通过这种形式不仅可以让学生获得知识, 而且能够帮助学生进行知识重构和创作, 培养学生良好的创新精神、实践能力和信息素养[3,4]。

凌阳嵌入式系统专题学习网站是我院凌阳创新实验室数字化资源建设的重点内容, 现已经投入使用。通过我们建设专题学习网站和开展教学实践探索, 有效地提高了学生的学习能力、知识探究能力, 培养了学生的协作学习、主动学习的积极态度, 使他们更加深刻地掌握知识, 取得了良好的效果。

摘要:台湾凌阳公司研制的基于SOC的单片机以其语音识别和处理方面的独到之处, 近年来在高校中得到广泛的使用。为了满足广大师生的学习需求, 其专题学习网站的开发和建设势在必行。结合完成的实际网站介绍了基于浏览器/服务器模式的凌阳嵌入式系统专题学习网站的总体结构和各部分功能模块, 并分析了其主要技术手段。

关键词:凌阳,嵌入式系统,专题学习网站

参考文献

[1]吴畅渠, 丁金龙, 李卫东.《岭南医药文化专题学习网站》的创新构思与模块设计[J].广东科技, 2009, 7 (217) :69-70.

[2]汤秀春, 吴黎明, 蒋永平, 等.面向嵌入式系统应用的课程专题学习网站建设[J].桂林电子工业学院学报, 2006, 26 (4) :319-321.

[3]刘斌.ASP.NET+SQL SERVER动态网站开发案例精选[M].北京:清华大学出版社, 2005.10.

篇4:嵌入式系统在温控系统中的应用

1.前言

温度作为一个基本物理量,它是一个与人们的生活、生产密切相关的重要物理量。生活和工业生产过程中温度作为一种常用的主要被控参数,我们需要对温度参数进行检测并利用该参数进行自动控制。采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此单片机对温度的控制问题是一个工业生产中经常会遇到的问题。

2.国内外发展现状

目前国内外的温度控制方式越来越趋向于微型化和智能化,温度测量首先是由温度传感器来实现的。测温仪器由温度传感器和信号处理两部分组成。随着工业生产效率的不断提高,自动化水平与范围也不断扩大,因而对温度检测技术的要求也愈来愈高,一般可以归纳以下几方面。

(1)扩展检测范围 现在工业上通用的温度检测范围为-200-3000℃,而今后要求能测量超高温与超低温。尤其是液化气体的极低温度检测更为迫切,如10K以下的温度检测是当前重点研究课题。

(2)扩大测温对象 温度检测技术将会由点测温发展到线、面,甚至立体的测量。应用范围己经从土业领域延伸到环境保护、家用电器、汽车工业及航天工业领域。

(3)发展新型产品 利用以前的检测技术生产出适应于不同场合、不同工况要求的新型产品,以满足用户需要。同时利用新的检测技术制造出新的产品。

(4)适应特殊环境下的测温 对许多场合中的温度检测器有特殊要求,如防硫、防爆、耐磨等性能要求;又如移动物体和高速旋转物体的测温、钢水的连续测温、火焰温度检测等。

(5)显示数字化 温度仪表向数字化方向发展。其最大优点是直观、无读数误差、分辨率高、测量误差小,因而有广阔的销售市场。

(6)标定自动化 应用计算机技术,快速、准确、自动地标定温度检测器。根据分析,由单片机组成的温控系统,通过在单片机外部添加各种接口电路,可构成单片机最小系统,用以实现对温度控制对象的温度的显示和控制。同时也能根据实际情况实现数据处理、报警,对各个参数以一定的周期进行检查和测量,检测的结果经处理后再进行显示和报警,以提醒操作人员注意或直接用于生产控制。

3.应用情况

嵌入式温控系统现在应用非常广泛,可以说深入到了生活的方方面面,如蔬菜大棚智能温度控制系统、贮液容器温控系统、汽车空调温控系统、电加热炉温度控制系统等。

(1)蔬菜大棚智能温度控制系统 冬季塑料蔬菜大棚最重要的一个管理因素是温度控制。温度过低,蔬菜会冻死或停止生长,所以要控制温度在蔬菜适宜的范围内。如果仅靠人工控制既耗费人力、物力,又容易发生差错。为此设计智能化温控系统,控制蔬菜大棚温度,适应生产需求。蔬菜大棚智能温度控制系统的研制水到渠成。

(2)贮液容器温控系统 贮液容器溫控系统中以贮液容器温度为被控参数,蒸汽流量为控制参数,输入贮液容器冷物料的初温为前馈控制,构成前馈一反馈控制系统,从而达到控制贮液容器温度,满足工艺要求的目的。

(3)汽车空调温控系统 现代化的汽车空调就是能将汽车室内空间的环境调整到对人体最适宜的状态,创造良好的车内环境,以提高司机的工作效率和保护乘员的身体健康。目前高档轿车中用各种微处理器完成各种控制,汽车空调温控系统技术也有了飞速的发展。

(4)电加热炉温度控制系统 电加热炉随着科学技术的发展和工业生产水平的提高,已经在冶金、化工、机械等各类工业控制中得到了广泛应用,并且在国民经济中占有举足轻重的地位。嵌入式电加热炉温度控制系统现在正被广泛地使用。

4.技术情况分析

下面对使用80C51和18B20的系统进行分析:

(1)硬件 硬件主要包括中央处理器80C51、温度传感器18B20、键盘、LED等。

(2)软件 系统软件设计时可以采用模块化的结构和层次设计思想,不仅方便了设计和使用,也有利于以后系统的扩展和升级。系统软件可以包括主程序、数据采集处理模块,可以使用PID算法,可以包括声光报警模块、通讯模块等。

从以上分析不难看出,使用单片机进行温控系统的开发已具有成熟的技术。

5.趋势

随着微电子技术的不断发展,集成了CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器甚至A/D、D/A转换器等电路在一块芯片上的超大规模集成电路芯片出现了。以单片机为主体,将计算机技术与测量控制技术结合在一起,又组成了所谓的“智能化测量控制系统”,也就是智能仪器。

与传统仪器仪表相比,智能仪器具有以下功能特点:

(1)操作自动化 仪器的整个测量过程如键盘扫描、量程选择、开关启动闭合、数据的采集、传输与处理以及显示打印等都用单片机或微控制器来控制操作,实现测量过程的全部自动化。

(2)具有自测功能 包括自动调零、自动故障与状态检验、自动校准、自诊断及量程自动转换等。

(3)具有数据处理功能 具有数据处理功能,这是智能仪器的主要优点之一。智能仪器由于采用了单片机或微控制器,使得许多原来用硬件逻辑难以解决或根本无法解决的问题,现在可以用软件非常灵活地加以解决。

(4)具有友好的人机对话能力 智能仪器使用键盘代替传统仪器中的切换开关,操作人员只需通过键盘输入命令,就能实现某种测量功能。与此同时,智能仪器还通过显示屏将仪器的运行情况、工作状态以及对测量数据的处理结果及时告诉操作人员,使仪器的操作更加方便直观。

(5)具有可程控操作能力 一般智能仪器都配有GPIB、RS232C、RS485等标准的通信接口,可以很方便地与PC机和其他仪器一起组成用户所需要的多种功能的自动测量系统,来完成更复杂的测试任务。

随着嵌入式在温控系统的应用,温控系统也具有了操作自动化功能、自测功能、数据处理、人机对话能力、可程控能力等功能,随着嵌入式技术的不断发展,温控系统应用的领域会越来越大,温控系统也会向微型化、高度集成化、控制简单化等方向发展。

6.结论

嵌入式温控系统具有良好的动态性能,控制精度高,控制效果稳定、良好,可以满足各个行业的不同要求。随着智能温控系统的不断普及和发展,基于高性能处理器的嵌入式温控系统将会有更加广阔的用武之地。

篇5:嵌入式系统学习

题 目:嵌入式系统Android

选题性质:□设计报告□其他

院 系 电子系

专 业 物联网

班 级 12021071 学 号 20120027

学生姓名 钱硕

2014年 6月 12

日重庆航天技术职业学院嵌入式系统设计报告书

摘要

随着手机的普及以及手机应用的深入人心,近几年“智能手机”成为了人们关注的话题。在现今这个智能手机系统群雄纷争的时候,2008年Google推出了一款名为Android的开源智能手机操作系统。Android凭借其开放性和良好的人机界面,受到广大手机生产商的重视,随着3G时代的到来,Android有可能会改变现在智能手机市场的格局。Android 是由Linux操作系统、中间件以及核心应用程序组成的专门为移动终端设备开发的层次软件集。在对Android学习中,主要做了以下的研究:首先,Android系统是一个层次的软件集,所以先从层次方面对Android进行系统研究,主要对其运行时环境层以及Android应用框架层的研究;其次,通过对Android平台上应用的开发,更进一步了解Android这个系统,在开发中,尤其注重Android的Intent机制的使用。

关键字:Android; Android 内核层; Android构架;Android应用; Android SDK;Android 开发

I

目录

摘要...............................................................................................................................I 目录..............................................................................................................................II 前言............................................................................................错误!未定义书签。第1章......................................................................................................................1.1 何为嵌入式系统.............................................................................................1.2嵌入式系统的发展............................................................................................1.3嵌入式系统有哪些.........................................................................................第2章

ANDROID系统...............................................................................................2.1来历.................................................................................................................2.2起源.................................................................................................................2.3系统构架.........................................................................................................2.4 应用组件.........................................................................................................个人评价..........................................................................................................................6

II 重庆航天技术职业学院嵌入式系统设计报告书

前 言

毋庸置疑,嵌入式技术是继网络技术之后,又一个新的技术发展方向。嵌入式系统是计算机软件与硬件的完美结合,广泛地应用于手持设备、信息家电、仪器仪表、汽车电子、医疗仪器、工业控制、航天航空等都各个领域,并嵌入在各类设备之中,起着核心作用。

毋庸讳言,嵌入式系统已经无处不在,无疑是当前最有前途、最为热门、最需人才的技术领域。嵌入式人才主要分为两大类:一类是嵌入式硬件工程师,主要从事嵌入式系统硬件研发,包括硬件系统原理图的设计、PCB印刷线路板的设计,开发与硬件相关的底层软件(如BootLoader、嵌入式驱动程序等);另一类是嵌入式软件工程师,主要从事嵌入式操作系统和应用软件的开发,如果对嵌入式硬件原理和接口技术有较好的掌握,也可以从事嵌入式系统底层程序的开发。

第1章

嵌入式系统

1.1 何为嵌入式系统

嵌入式系统(Embedded System),一般指非桌面计算机系统(即非PC、服务器、大中小型机等),有计算机功能且可以“嵌入”到专用设备并发挥专用功能的计算机设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,这种计算机通过和设备的电气连接,并通过在计算机上运行的专用程序对接口进行通讯和控制,使设备成为智能化的设备,比如:基于网络的工业控制器、带彩色显示的智能终端等。

嵌入式系统主要由嵌入式处理器为核心的硬件系统、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。

1.2 嵌入式系统的发展

嵌入式系统的出现至今己经有30多年的历史了,嵌入式技术也历经了几个发展阶段。进入90年代后,以计算机和软件为核心的数字化技术取得了迅猛发展,不仅广泛渗透到社会经济、军事、交通、通信等相关行业,而且深入到家电、娱乐、艺术、社会文化等各个领域,掀起了一场数字化技术革命。多媒体技术与Internet的应用迅速普及,消费电子、计算机和通信一体化趋势日趋明显,嵌入式技术再度成为一个研究热点。嵌入式技术的发展大致经历了以下四个阶段: 第一阶段是以单芯片为核心的可编程控制器形式的系统具有与监测、伺服、指示设备相配合的功能。这类系统大部分应用于一些专业性强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制。这一阶段系统的主要特点是:系统结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简单和价格低,以前在国内工业领域应用较为普遍,但是已经远不能适应高效的、需要大容量存储的现代工业控制和新兴信息家电等领域的需求。

第二阶段是以嵌入式微处理器为基础、以简单操作系统为核心的嵌入式系统。主

3重庆航天技术职业学院嵌入式系统设计报告书

供的功能不是太多,为了避免你做了很久之后才发现——原来 NDK 不支持某项功能,大家可以根据自己的需求来选择是否采用 NDK 开发原生程序。2.应用程序框架层

应用程序框架层为开发人员提供了可以完全访问核心应用程序所使用的API框架。该应用 程序的构架设计简化了组件的重用,任何一个应用程序(以及任何其他应用程序)都可以发布自己的功能模块(在遵循框架的安全性限制的前提下)。同样,该应用程序重用机制也使用户可以方便地替换程序组件。下面来看一下该层的每一个模块为我们提供的组件。2.4 应用组件

应用组件Android开发四大组件分别是:活动(Activity): 用于表现功能。服务(Service): 后台运行服务,不提供界面呈现。广播接收器(BroadcastReceiver):用于接收广播。内容提供商(Content Provider): 支持在多个应用中存储和读取数据,相当于数据库。活动Android 中,Activity是所有程序的根本,所有程序的流程都运行在Activity 之中,Activity可以算是开发者遇到的最频繁,也是Android 当中最基本的模块之一。在Android的程序当中,Activity 一般代表手机屏幕的一屏。如果把手机比作一个浏览器,那么Activity就相当于一个网页。在Activity 当中可以添加一些Button、Check box 等控件。可以看到Activity 概念和网页的概念相当类似。一般一个Android 应用是由多个Activity 组成的。这多个Activity 之间 Android的应用(20张)可以进行相互跳转,例如,按下一个Button按钮后,可能会跳转到其他的Activity。和网页跳转稍微有些不一样的是,Activity 之间的跳转有可能返回值,例如,从Activity A 跳转到Activity B,那么当Activity B 运行结束的时候,有可能会给Activity A 一个返回值。这样做在很多时候是相当方便的。

当打开一个新的屏幕时,之前一个屏幕会被置为暂停状态,并且压入历史堆栈中。用户可以通过回退操作返回到以前打开过的屏幕。可以选择性的移除一些没有必要保留的屏幕,Android会把每个应用的开始到当前的每个屏幕保存在堆栈中。

个人评价

在老师的耐心教导下,我经过了一学期的努力,顺利的完成了此门课程。在此期间,我学到了不少的知识,经历了很多,也体会到了很多,虽然结果很重要是并不能因此就忽略了中间的过程,因为这才是解决问题的关键。有人说:“平凡的大学生有着相同的平凡,而不平凡的大学生会有不平凡的辉煌。”

虽然我这个学期不是很积极,但我相信在这个学期会比上个学期更加清楚自己的去向。人们常说,大学的生活是异常轻松和自由的,我也觉得的确是这样。但时间总是宝贵的,我再也不想成为虚度光阴的人,不想自己在老的时候后悔自己这样浪费时间。为了改正我以上不珍惜时间的缺点,我决定给自己制定一些措施,以便更好的督促自己。

篇6:嵌入式系统学习

嵌入式Linux操作系统学习规划

ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:

(1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9)

(2)必须掌握一个嵌入式操作系统(初步定为uclinux或linux,版本待定)

(3)必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。

从事嵌入式软件开发的好处是:

(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。

(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。

(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。

(4)兴趣所在,这是最主要的。

从事嵌入式软件开发的缺点是:

(1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。

(2)这方面的企业数量要远少于企业计算类企业。

(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。

(4)平台依托强,换平台比较辛苦。

兴趣的由来:

1、成功观念不同,不虚度此生,就是我的成功。

2、喜欢思考,挑战逻辑思维。

3、喜欢C

C是一种能发挥思维极限的语言。关于C的精神的一些方面可以被概述成短句如下:相信程序员。

不要阻止程序员做那些需要去做的。

保持语言短小精干。

一种方法做一个操作。

使得它运行的够快,尽管它并不能保证将是可移植的。

4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。

5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。

方法步骤:

1、基础知识:

目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。

科目:数字电路、计算机组成原理、嵌入式微处理器结构。

汇编语言、C/C++、编译原理、离散数学。

数据结构和算法、操作系统、软件工程、网络、数据库。

方法:虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。

2、学习linux:

目的:深入掌握linux系统。

方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是0.11版,适合学习。最后深入代码。

主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。

3、学习嵌入式linux:

目的:掌握嵌入式处理器其及系统。

方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。

(2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。

(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。

4、深入学习:

A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。

B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。

C、网络与信息安全技术:如加密技术,数字证书CA等。

D、DSP技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。说明:太多细节未说明,可根据实际情况调整。重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。对于linux内核,学习编程,读一些优秀代码也是有必要的。

注意:要学会举一反多,有强大的基础,很多东西简单看看就能会。想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。一定要理论结合实践。不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。还有一些不愿意做但必须要做的!技术是通过编程编程在编程编出来的。永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。

嵌入式书籍推荐

Linux基础

1、《Linux与Unix Shell 编程指南》

C语言基础

1、《C Primer Plus,5th Edition》【美】Stephen Prata着

2、《The C Programming Language, 2nd Edition》【美】Brian W.Kernighan David M.Rithie(K & R)着

3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)

4、《嵌入式Linux应用程序开发详解》

Linux内核

1、《深入理解Linux内核》(第三版)

2、《Linux内核源代码情景分析》毛德操 胡希明著

研发方向

1、《UNIX Network Programming》(UNP)

2、《TCP/IP详解》

3、《Linux内核编程》

4、《Linux设备驱动开发》(LDD)

5、《Linux高级程序设计》 杨宗德著

硬件基础

1、《ARM体系结构与编程》杜春雷着

2、S3C2410 Datasheet

英语基础

1、《计算机与通信专业英语》

系统教程

1、《嵌入式系统――体系结构、编程与设计》

2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明着

3、《Building Embedded Linux Systems》

4、《嵌入式ARM系统原理与实例开发》 杨宗德著

理论基础

1、《算法导论》

2、《数据结构(C语言版)》

3、《计算机组织与体系结构?性能分析》

4、《深入理解计算机系统》【美】Randal E.Bryant David O'Hallaron着

5、《操作系统:精髓与设计原理》

6、《编译原理》

7、《数据通信与计算机网络》

8、《数据压缩原理与应用》

C语言书籍推荐

1.The C programming language 《C程序设计语言》

2.Pointers on C 《C和指针》

3.C traps and pitfalls 《C陷阱与缺陷》

4.Expert C Lanuage 《专家C编程》

5.Writing Clean Code-----Microsoft Techiniques for Developing Bug-free C Programs

《编程精粹--Microsoft 编写优质无错C程序秘诀》

6.Programming Embedded Systems in C and C++ 《嵌入式系统编程》

7.《C语言嵌入式系统编程修炼》

8.《高质量C++/C编程指南》林锐

篇7:嵌入式系统学习

一个典型的桌面Linux系统包括3个主要的软件层---linux内核、C库和应用程序代码。

内核是唯一可以完全控制硬件的层,内核驱动程序代表应用程序与硬件之间进行会话。内核之上是C库,负责把POSIX API转换为内核可以识别的形式,然后调用内核,从应用程序向内核传递参数。应用程序依靠驱动内核来完成特定的任务。

在设计嵌入式应用的时候,可以不按照这种层次,应用程序越过C库直接和内核会话,或者把应用和内核捆绑在一起,甚至可以把应用写为内核的一个线程,在内核中运行,虽然这样在移植上带来了困难,但考虑嵌入式系统对尺寸要求小的特点,是完全可行的。不过我们使用三层软件结构的模式来学习嵌入式linux将会是我们认识更清晰,简单可行并使应用具有弹性。

快速入门

最简单的建立嵌入式Linux应用的方法就是从我们使用的桌面Linux入手,安装一个喜爱的版本,把我们的某个应用作为初始化的一部分,框架就算完成了。

当然,嵌入式linux应用远比我们的桌面版本功能简单专一,它也许就是一个用于足彩的终端机,或是一个数码音频播放器,这些系统除了使用嵌入式CPU外,仅仅再需要一个串口,网口等少量的输入输出接口就可以完成它们特定的应用了。

在软件上,它可以按照三层的概念由内核装载器,定制的内核和较少的为特定任务设计的静态连接的应用程序组成。之所以使用静态连接的应用程序,是因为少量的静态连接程序所要的存储空间,比同样数量的动态连接的程序所占的空间小,这个平衡点需要我们在实际开发中去获取。也许你正在设计的是个PDA,它的应用程序较多,那么你很可能就要使用动态连接程序来减少存储空间。在你的/bin或者/sbin目录下,用厂列表看看bash,ifconfig,vi...,也许只用几十K,当你运行 ldd /bin/bash 时,你会看到它们都和好几个库文件相连。好了,这样看来,我们得把PC想像成一个嵌入式硬件平台,再重新制作一个特定功能的嵌入式linux。

基础知识

再进行实际操作之前,先来搞清楚几个基础知识。

内核装载器Loader,它的作用是把内核从外部存储器,移动到内存中。它只作这个事情,一旦完成了调入内核的工作,Loader就跳转到内核位置开始执行。不同架构有不同的 Loader,在x86结构的PC上,通常使用的loader有LILO,GRUB,syslinux,syslinux在嵌入式linux中也同样工作。其他非x86架构的应用中,你必须使用专门的loader,或者自己编写loader来装入内核。也有不使用loader的情况,系统加电以后,内核直接从烧录有映象的Flash上开始执行。

内核,一旦内核开始执行,它将通过驱动程序初始化所有硬件,这可以从我们的pc机监视器的输出看出来,每个驱动程序都打印一些有关它的信息。初始化完成后,计算机就准备运行嵌入式应用。也许一个,也许是多个应用程序组成了嵌入式应用,但通常首先调用的是init(通过loader 向核心传入init=/program 可以定制首先运行的程序)。桌面linux中,init会读取/etc/inittab文件,来决定执行级别和哪些脚本和命令。嵌入式应用中,可以根据实际的情况决定是否使用标准的init执行方式,也许这个init是个静态程序,它能够完成我们的嵌入应用的特定任务,那完全不用考虑inittab了。

initrd文件系统,initrd以一种把内核从存储介质装入到内存的相同的机制来装入一个小型文件系统。这个文件系统最好是以压缩的方式存储在介质上的,解压缩到RAM盘上。通过使用initrd,包含有核心驱动和启动脚本的小文件系统,就可以直接从介质上和内核一起启动起来,内核届压缩这个文件系统,并执行这个文件系统上叫做/linuxrc的脚本文件,这个脚本通常会把启动过程中所需要的驱动程序装入。脚本退出以后,initrd文件系统也卸下了,启动过程进入真正初始化过程。对于嵌入式来讲,可以将需要的应用软件都运行在这个initrd文件系统上,只要/linxrc文件不结束,内核启动过程的其他部分就不会继续。

做个试验:

cp /boot/initrd-2.4.20.img /tmp

cd /tmp

mv initrd-2.4.2-.img initrd.img.gz

gunzip initrd.img.gz

mount-o loop initrd.img /mnt

cd /mnt

ls

cat linuxrc 可以看到里面执行了加载了两个模块的操作,你在启动linxu的时候会看见屏幕打印信息。

入门试验,制作一个简单的应用

我们使用一张软盘启动一台假象的只有一个串口,键盘输入,显示输出的x86架构的linux系统,执行的特定应用就是运行minicom,通过串口拨号。需要软件: minicom-xx.src.tar.gz 和 syslinux-xx.tar.gz,xx代表版本号,开始之前,在主目录建立一个目录,来释放这两个软件包:

cd

mkdir-p project/minilinux

cd project/minilinux

tar zxvf minicom-xx.src.tar.gz

tar zxvf syslinux-xx.tar.gz1、裁减linux内核(需要系统安装内核文件包)

配置内核的时候,我们需要选择这些:摸块编入内核,386处理器、物理内存off、支持ELF、标准PC软盘、支持RAM盘(4096)、支持 initial RAM disk(initrd)、虚你终端、虚拟终端控制台、标准串口、ext2文件系统、控制台驱动,VGA text console、DOS FAT、MSDOS文件系统,其他的都可以不要,这样内核编出来较小。

步骤:

cd /usr/src/linux

make mrproper

make xconfig

make dep && make bzImage

得到 /usr/src/linux/arch/i386/boot/目录的内核文件bzIamge。

2、编译一个静态的minicom,把它作为将来的linuxrc

cd minicom-xx/src

vi Makefile

修改下面这行

minicom: $(minicom_OBJECTS)$(minicom_DEPENDENCIES)

rm-f minicom 下面的行加上-static,连接为静态程序

(LINK)-static $(minicom_LDFLAGS)$(minicom_OBJECTS)$(minicom_LDADD)$(LIBS)

vi minicom.c

找到 if(real_uid==0 && dosetup==0)删除这个判断条件语句,主要是用于权限判断的,因为这个嵌入应用不关注权限问题,否则会出错。

make

得到可执行程序,用ldd 检查一下是不是静态程序。

3、准备initrd压缩文件image.gz

dd if=/dev/zero of=image bs=1k count=4096

losetup /dev/loop0 image

mke2fs-m 0 /dev/loop0

mounmt-t ext2 /dev/loop0 /mnt/

mkdir-p /mnt/dev

mkdir-p /mnt/usr/share/terminfo/l/

cd /dev

cp-a consle null tty tty0 zero mem /mnt/dev

cp-P /usr/share/terminfo/l/linux /mnt/usr/share/terminfo/l/linux

cp ~/project/minilinux/mincom/src/minicom /mnt/linuxrc

umount /mnt

losetup-d /dev/loop0

sync

gzip-9 image4、制作软盘引导,并拷贝文件 bzimage image.gz 到软盘

A.使用grub

fdformat /dev/fd0

mke2fs /dev/fd0

mount /mnt/fd0 /mnt/floppy

mkdir-p /mnt/floppy/boot/grub

cp /boot/grub/stage1 /boot/grub/stage2 /mnt/floppy/boot/grub

执行 grub,在软盘上创建引导

grub > root(fd0)

grub > setup(fd0)

grub > quit

cp /usr/src/linux/arch/i386/boot/bzImge /mnt/floppy

cp ~/porject/minilinux/image.gz /mnt/floppy

编辑 /mnt/floppy/boot/grub/grub.conf

default =0

timeout-=10

title minilinux

root(fd0)

kernel /bzImage

initrd /image.gz

卸下软盘

umount /mnt/floppy

B.使用syslinux

fdformat /dev/fd0

mkfs.msdos /dev/fd0

mount-t msdos /dev/fd0 /mnt/floppy

cp /usr/src/linux/arch/i386/boot/bzImge /mnt/floppy

cp ~/porject/minilinux/image.gz /mnt/floppy

cp syslinux-xx/ldlinxu.sys /mnt/floppy

cat > /mnt/floppy/syslinux.cfg

LABEL linux

KERNEL bzimage

APPEND initrd=image.gz

umont /mnt/floppy

syslinux-xx/syslinux /dev/fd0

sync5、用软盘启动计算机,如果幸运,minicom的运行画面出现在屏幕上。

篇8:嵌入式系统学习

随着社会的发展, 社会对毕业生要求越来越高, 要想提高毕业生的就业率, 并使之能更好地适应社会对人才的需求, 高校的部分课程的教学模式与教学方法必须有所改变。嵌入式系统是一门理论性与实践都很强的学科, 它不仅需要前面一些课程理论知识的铺垫, 而且还要求同学们在课余时间加强动手练习, 所以仅凭教师在理论课讲理论, 学生在实验课完成指定实验是不够的。针对我院学生的特点, 课题组结合校园网和信息化技术开发了嵌入式系统课程辅助教学平台, 该平台通过提供与本门课程相关知识的资料、每节课需要预习的知识点, 每节实验课基本实验的演示视频, 并提供预习情况的监督功能来保证同学的预习质量。通过提供嵌入式课程设计管理功能来保证同学课余时间的动手能力, 通过提供交流论坛来为同学提供一个经验交流环境。

2. 系统设计

2.1 系统功能

根据课程建设、学院和学生的要求, 本系统需要完成功能如下:

(1) 课程要求:系统应能显示本门课的课程大纲、教学日历、课程表和相关的上课规定等文件, 让同学在上课之前对本门课的相关要求有一定的了解, 并能在系统内发布相应的公告信息。

(2) 资料共享:可以上传教师上课课件、相关辅导材料和工具软件。上传的资源不要求多, 但必须精, 因为一门课在一个学期学习内学习时间有限, 繁多的教学资料会使得同学抓不住重点。

(3) 预习管理:任课教师在课程开课前按照教学大纲和教学日历, 将上课内容按章划分好知识点, 发布在网上供学生阅读, 实验课应将实验指导书, 相关工具介绍、实验的基本操作视频放在网上, 以便学生能提前预习。学生通过用户名登录后, 对于课前预习知识点来说, 学生每次浏览知识点后, 系统就会记录下来其是否浏览过。对于实验视频演示系统, 每次学生观看, 系统会记录下来其是否浏览过, 浏览了多长时间, 并可以将此作为评判平时成绩因素之一。

(4) 交流论坛:为学生提供一个相关交流学习的一个空间, 老师也可利用解答版块解决学生提出的问题, 交流论坛不但可以回答学生在学习过程当中遇到的问题, 也可以将被解答过答案留给以后学习本门课学生的作为参考。

2.2 系统框架

本系统共五个功能模块, 分别为:公告管理模块、资源管理模块、大作业管理模块、交流论坛模块和用户管理模块。系统框图如图1所示。

3. 系统实现

本系统是在Windows XP操作系统下, Adobe Dreamweaver CS6软件环境下, 以PHP为编程语言开发完成的, 数据库采用My Sql 5.0, 系统采用通用B/S结构。

3.1 公告管理模块

该系统包括发布公告、公告管理等子功能模块。该模块可以由任课教师和管理员进行操作。

(1) 公告管理子模块

主要发布上课相关公告, 交作业时间。为了保证是学生亲自动手完成的, 每次学生交作业后, 进行答辩, 答辩的时间、地点在公告里进行通知, 每次答辩成绩和实课成绩通过公告进行发布。

(2) 公告管理子模块

主要完成公告的删除与修改功能。

3.2 资源管理模块

该系统包括上传资料、管理资料、课前预习等子功能模块。

(1) 上传资料子模块

主要完成教师上传课件、课程相关资源、实验视频等相关资料, 此子模块的功能可以由任课教师和管理员进行操作, 本子模块对资料的大小没有限制。

(2) 管理资料子模块

主要完成对上传资料的管理, 包括修改资料名称、修改资料分类、删除上传资料等。本子模块可以由管理员和任课教师进行操作。

(3) 课前预习子模块

该子模块主要完成对学生预习情况记录的功能, 如果学生下载过理论课预习资料视其阅读过, 如果学生在上实验课前浏览过教学视频且浏览时间为视频最后时间, 视为浏览过。

3.3 大作业管理模块

该模块包括教师出题子模块、学生选题子模块、学生分组子模块和上传大作业资料子模块。

(1) 教师出题子模块

教师在此子模块里出大作业的题目, 学生根据自己的兴趣选择大作业题目。

(2) 学生选题子模块

学生通过在本模块里选择自己的大作业题目。

(3) 学生分组子模块

学生选择题目之后按照教师规定的功能模块进行分组, 学生分组之后将组信息填在本子模块里。

(4) 上传大作业资料子模块

学生完成大作业后, 将答辩用PPT、相关程序和课程论文传至本模块。

3.4 交流论坛模块

该模块采用Discuz X2.5论坛模版, 主要包括前沿技术、问题讨论、老师答疑和资源共享等版块。

在这个模块里, 学生们可以讨论问题, 也可以给任课教师留言, 由任课教师回答相关问题。

3.5 用户管理模块

本系统不能用户自己注册, 所有注册均由管理员进行添加, 该子模块包括学生用户管理子模块、教师用户管理管理子模块和管理员用户管理子模块。

4. 结束语

本系统在本学期开发完成, 目前正在使用, 系统操作比较稳定, 基本上能满足辅导要求, 但是还存在如上传的资料不够精简、预习知识点不够全面等问题。

参考文献

[1]孙宝军.课程建设与大学生毕业设计互溶性的思考[J].现代计算机, 2013, 13:38-40.

[2]林祥果.基于“项目导向, 任务驱动”的高职嵌入式系统课程开发实践[J].顺德职业技术学院学报, 2012, 3:50-53.

[3]郑广海, 曲英伟.“嵌入式Linux操作系统及实践”课程改革[J].计算机教育, 2012, 4:37-40.

[4]潘巧书.计算机教学辅助系统的应用研究[J].中国电子商情:科技创新, 2013, 17:26-26.

上一篇:初中语文快速得分的答题方法及技巧下一篇:工程预验收申请报告