登录
首页 » Others » 决策树分类器(ID3算法)C语言

决策树分类器(ID3算法)C语言

于 2021-05-06 发布
0 278
下载积分: 1 下载次数: 1

代码说明:

决策树分类器(ID3算法)C语言,可直接运行

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • android绘制心电图
    最近在做一个医疗的app项目,需要通过蓝牙获取心电仪的数据然后绘制心电图,此demo可以直接用!
    2020-11-27下载
    积分:1
  • C#初学者练习集(60道经典练习
    C#练习题,总共60道,适合初学者。题不多,但都是经典的,容易疏忽的。
    2021-05-06下载
    积分:1
  • OPC UA C# 示例
    OPC UA C# 示例,使用C#语言 ,OPC UA client,实现与PLC通信,数据采集,紧提供开发示例及思路。
    2020-12-06下载
    积分:1
  • HP2080主板bios
    HP行业电脑2080 G41的主板BIOS
    2020-03-03下载
    积分:1
  • C# 画图工具(鼠标拖动方式)
    用C#编写的一个简单的绘图工具,用鼠标拖动画圆,矩形,线条等,适合初学者。
    2020-12-03下载
    积分:1
  • matlab隐马尔可夫模型事例代码
    【实例简介】matlab隐马尔可夫模型事例代码,相信对学习马尔科夫模型的同学非常有用
    2021-11-04 00:32:47下载
    积分:1
  • 基于LabVIEW的数据采集与处理技术
    labview编程 基于LabVIEW的数据采集与处理技术 白云 高育鹏922 LabsQL的安装及配置…185102.1 Labview中的数字仿真简介…20392.3 LabsQLⅥ模块及使用方法……1871022 LabvIew中的数字仿真本章小结.201算法模块203练习与思考…本章小结…215第10章 LabviEw与仿真技术…02练习与思考21610.1仿真技术概述…02参考文献…21710.2LabⅤIEW中的数字仿真…203第1章虚拟仪器技术命器DDC第1章虚拟仪器技术NICFS-C3器好,来案是1.1虚拟仪器概述萨好14器外口约D1.11虚拟仪器的基本概念所谓虚拟仪器 Virtual instrument,Vm,是指以通用计算机作为系统控制器,由软件来实现人机交互和大部分仪器功能的」种计算机仪器系统。用户操作这台通用计算机就像操作一台为自己专门设计的传统电子仪器样。虚拟仪器的出现,使得测量仪器与计算机之间的界线逐渐模糊。总虚拟仪器通过o接口设备完成信号的调理、采集与测量,利用个人计算机强大的软件功能实现信号数据的运算、分析、处理,由个人计算机显示器模拟传统仪器的控制面板,以多种形式输出检测结果,从而完成各种测试功能。“虚拟”二字主要包含以下两方面含义:(1)虚拟仪器的面板是虚拟的。虚拟仪器面板上的各种“控件”与传统仪器面板上的各种“器件”所完成的功能是相同的。程传统仪器面板上的器件都是实物,需要通过手动或触摸进行操作;而在虚拟仪器中,物理的开关、按键等器件均由与实物外观相似的图形控件来代替,它们分别对应着相应的软件程序。这些程序是已设计好的,用户可直接通过鼠标或键盘操纵这些控件来完成对仪()虚拟仪器的测量功能是由软件编程来实现的。在虚拟仪器系统中,硬件仅仅用来处的操控n101i理信号的输入输出,软件才是整个测试仪器系统的关键。用户可以通过软件编程来实现仪器的测试功能,还可以通过组合不同测试功能的软件模块来实现多种测试功能。当测试要求发生变化或者需要增加(减少)测试项目时,用户只需要适当地更改软件程序,即可生成满足测试要求的全新的测试仪器系统。因此,在硬件平台确定后,有着“软件就是仪器”的说法,它体现了测试技术与计算机深层次的结合。壁1.1.2虚拟仪器的构成从内部功能来讲,虛拟仪器与传统仪器一样,均由数据采集与控制、数据分析与处理及结果显示三部分组成,如图1-1所示。以总的游关样其平南OM的,对,当的器外,中亲2基于 LabVIew的数据采集与处理技术采集与控制数据分析与处理结果显示插入式数据采集板数字信号处理网络通信GPB仪器数字滤波硬盘拷贝输出XPX仪器统计分析文件10RS232仪器数值分析用户图形接口图1-1虚拟仪器的内部功能划分从构成要素来讲,虚拟仪器由硬件系统和软件系统两大部分组成,如图1-2所示。硬件系统软件系统广============--------------------=信号调理数据采集卡GPI接口仪器GPIB接口卡应用软件|仪器是加1.1,1串行接口仪器仪器个被通|s器功对测对 VXUPXI仪器用计算/能动应人机程用长合现场总线设备用P回过大管计个图像釆集、数字信号处理件上虛户拟下中舍面其他硬件模块板示释等外围硬件设备向面流器进重()图1-2虚拟仪器的系统构成回的雨“器1.虚拟仪器的硬件系统集干要,求景器书器的避面器虚拟仪器的硬件系统通常包括通用计算机和外围硬件设备。其中,通用计算机可以是笔记本电脑、台式机或工作站等。外围硬件设备可分为GB( General Purpose Interface Bus)VXI(VMEbus eXtension for Instrumentation), PXI(PCI eXtension for Instrumentation) FLDAQ( ata Acquisition)四种标准体系结构。构成系统时,可以选择单一的,也可以选择由两种或两种以上硬件系统构成的混合系统。其中,最简单、最廉价的形式是采用ISA或PCI总线的数据采集卡,或是基于RS-232或USB总线的便携式数据采集模块2.虚拟仪器的软件系统平合虚拟仪器的软件系统从底层到顶层共包括三部分,即vSA(O)库、仪器驱动程序与应用软件。1)ⅤISA库的器VISACVirtual Instrumentation Software Architecture即虚拟仪器软件体系结构,实质是标准的IO函数库及其相关规范的总称。一般称这个LO函数库为VSA库,它驻留于计算机系统之中,执行仪器总线的特殊功能,是计算机与仪器之间的软件层连接,可实现对仪器第1章虚拟仪器技术13的程控。对于仪器驱动程序开发者来说,它是一个个可调用的操作函数集。不2)仪器驱动程序仪器驱动程序是完成对某一特定仪器控制与通信的软件程序集,它是应用程序实现仪器控制的桥梁。每个仪器模块都有自己的仪器驱动程序,仪器厂商将仪器驱动程序以源码的形式提供给用户。D情总分能器对期干善。高研善淀3)应用软件应用软件建立在仪器驱动程序之上,直接面对操作用户。它通过直观、友好的测控操作界面,丰富的数据分析与处理功能,来完成自动测试任务。虚拟仪器应用软件的编写大致可分为两种方式:总面(1)用通用编程软件进行编写。通用编程软件主要有 Microsof公司的Ⅴ sual Basic与Visual c++、 Borland公司的 Delphi、 Sybase公司的 PowerBuilder等(2)用专业图形化编程软件进行开发。专业图形化编程软件如HP公司的VE、NI公司的 Lab vIew和 Lab windows/CⅥ等应用软件还包括通用数字处理软件,它主要由用于数字信号处理的各种功能函数(如频域分析的功率谱估计、FFT、FHT、逆FFT、逆FH和细化分析等;时域分析的相关分析卷积运算、反卷运算、均方根估计、差分积分运算和排序等)及数字滤波等部分组成。这些功能函数为用户进一步扩展虚拟仪器的功能奠定了基础113虚拟仪器的特点14虚拟仪器具有如下六个特点1)突出“软件就是仪器”的新概念,用户可自定义测量功能在通用硬件平台确定后,可由软件取代传统仪器中的硬件来完成仪器的功能。软件的灵活性和复用性使用户可以按自己的需要定义(设置测量功能,这就给用户提供了一个充分发挥自己能力和想象力的空间。2)强大的数据处理功能。虚拟仪器将信号分析、显示、存储、打印和其他管理交由计算机来集中处理,充分利用了计算机强大的数据处理、传输和发布功能。信号处理理论的不断完善以及计算机运算速度的大大提高,为虚拟仪器快速、准确地处理数据提供了良好的基础。(3)灵活性和可扩展性强,性价比高,便于组成复杂的测试系统。当希望测试系统增加个新的测量功能时,只需通过增加软件来执行新的功能或增加一个通用模块来扩展系统的测量范围;为提高测试系统的性能,可以通过加入一个通用仪器卡或更实现,这样有利于系统的扩展,也可大大节约购买和维护仪器的费用(4)良好的人机界面。虚拟仪器的操控界面是一种虚拟面板,亦称为软面板。虚拟面板可以模拟传统仪器面板的风格来设计,也可以由用户根据实际需求自行设计。测量结果可以通过计算机显示器以曲线、图形数据或表格等形式方便灵活地显示出来。(5)与其他设备互连的能力强。虚拟仪器通常具有标准化的总线或通信接口,具有与其他设备互连的能力。近年来,随着网络技术的发展,已经形成了网络虚拟仪器。这是一种新型的基于Web技术的虚拟仪器,它使得虚拟仪器测试系统成为 Internet/Intranet的一部分,可实现远程测试、监控和故障诊断等功能,以便充分利用有效资源,提高测试效率(6)技术更新快。由于虚拟仪器技术是建立在当今世界最新的计算机技术、数据采集技4基于 Labview的数据采集与处理技术术和通信技术基础上的,因而技术更新速度快于传统仪器。界搭对干,登路器界(S1.14虚拟仪器接口总线技术器对宝一某量平器为随着计算机技术、测试仪器和测试技术的不断发展,虚拟仪器接口总线技术也得到了不断的完善和提高。目前用于虚拟仪器和测试系统的总线技术有GPIB总线、VX总线、PX总线、IEEE1394总线和USB总线等。科(1.GPB总线,器器为立游GPB在20世纪70年代由惠普公司率先提出,经批准后成为IEE488标准,是业界所接受的第一个程控通用仪器总线。GPIB包括IEEE4881-1978标准和IEEE4882-1987标准两部分,前者定义了硬件标准,后者则定义了软件标准。GPB总线接口有24线(EE488标准)和25线(IEC-625标准)两种形式,其中以IEEE488的24线GPB总线接口应用最多在我国,国家标准中规定采用24线的电缆及相应的插头插座。如今,GPB已经成为计算机与仪器间最通用的总线标准。由于历史悠久,GPIB具有广泛的软/硬件支持,几乎所有的独立仪器都配有GPIB接口。因GPIB的最大带宽为18Mbs(最新的高速版HS488更是将最大带宽提高到了8Mb/s,所以最为适合与分立仪器通信,并对分立仪器进行控制。GPB中的数据传递采用基于信息的通信模式,并常使用 AScII字符。北用长典型的GPIB测试系统包括一台计算机、一块GPIB接口卡和若干台GPIB仪器,其总距为20m,带宽为总线上的所有仪器共享。GPIB测试系统的仪器之间可采用总线型连接或星型连接,如图1-3所示。每台GPIB仪器有单独的地址,由计算机控制操作。整个测试系统中的仪器若要增加、减少或更换,只需对计算机的控制软件做相应改动即可。中升如柱(置如)义宝要害x的大资,里中果来时出于,卦活仪器A仪器C仪器A仪器B仪器D仪器C仪器B不是探(a)图1-3GPB测试系统仪器间的连接方式界益为(a)仪器间采用总线型连接;(b)仪器间采用星型连接」甲第1章虚拟仪器技术」-5GPIB测试系统的结构和命令简单,有专为仪器控制所设计的接口信号和接口插件,具有突出的坚固性和可靠性。网络上也有各种GPHB驱动,因而具有较好的兼容性。GPIB适用于现有的自动化测试设备、混合测控系统和有特殊要求的专用仪器系统。GPIB的缺点是无法提供多台仪器同步和触发的功能,在传输大量数据时带宽不足。前目率解卦目2.V总线日(2 uH Lense IBas in)a2uwx即ME总线在仪器领域的扩展,它于1987年,由主要仪器制造商在ⅥE总线Eurocard标准(机械结构标准)和EE488等基础上,共同制定的开放性仪器总线标准。目前,国际上有两个VX总线组织:一是VⅪ联盟,负责制定vXI的硬件(仪器级标准规范,包括机箱背板总线、电源分布、冷却系统、“0槽”模块、仪器模块的电气特性、机械特性电磁兼容性以及系统资源管理和通信规程等内容;二是vX总线即插即用vxPg&Pay,vP系统联盟,宗旨是通过制定一系列VX的软件系统级标准来提供一个开放性的系统结构,真正实现ⅴXT总线产品的“即插即用”。这两套标准组成了VXI标准体系,实现了VXI的模块化、系列化、通用化,提高了vX仪器的互换性和互操作性。E1VX系统最多可包含256个装置,主要由主机箱、“0槽”控制器、具有多种功能的模块仪器和驱动软件、系统应用软件等组成。系统中各功能模块可随意更换,即插即用,可组成新系统。1998年,VⅪI20版采用了VME总线的最新扩展技术,提供有64位的扩展能力,数据传输率可达80Mbs,而且经过段时间的努力,VⅪI总线系统已成功地应用于微波频段。目前,可用的VⅪI仪器已有将近2000种,并还在以每年150~200种的速度增加,基本上可以满足绝大多数VXI系统的需要。1X,1MO0C,mis2m由于ⅴⅪI的价格相对较高,而且许多GPIB仪器还能满足实际的需要,再则在集成XI系统时,需要有系统设计能力、系统调试经验、误差分析修正定标、校准技术及测试程序开发能力,因此ⅴⅪI仪器的使用和推广受到了一定的限制。目前,VXI主要应用于国防、航空航天、通信以及其他需要高性能、高质量、大批量产品的生产环境或实验室及研究开发中。回计,到为类,中时测交,器由积封主3.PX总线未站以1即法原以,重下DPⅪI是PCI在仪器领域的扩展,N公司于199年发布的一种新的开放性、模块化仪器总线规范,其核心是 CompactPCI结构和 Microsoft windows软件。PⅪ是在PCI内核技术上增加了成熟的技术规范和要求而形成的。PXI增加了用于多板同步的触发总线和参考时钟、用于精确定时的星型触发总线以及用于相邻模块间高速通信的局部总线等,以满足试验和测量用户的要求。PⅪI兼容 CompactPCI机械规范,并增加了主动冷却、环境测试(温度、湿度、振动和冲击试验等要求。这样,可保证多厂商产品的互操作性和系统的易集成性。与ⅴⅪI模块相比,PⅫⅪ模块体积更小、传输速率更高、价格也较便宜,而且组建一个PX系统要比ⅴX系统简单。PX与台式机的区别在于,Px将计算机和插卡式仪器模块安装在带有许多护展槽的工业机机箱中。从软件角度上说,安装个PⅪ模块就像在台式机上安装一块PC卡,PXI模块作为标准的即插即用PCI器件能被自动识别和设置,并配置有相应的 Windows驱动程序。由于PXI和主流计算机技术完全兼容,因此在许多测试领域,由台式机组成的系统与PX系统可以相互替代,而且PX1系统在性能上还远远超过了台式机。,的d3W6甚于 LabVIEw的数据采集与处理技术4.USB总线和E1394总线独速UsB总线和IEE1394总线是日前广泛使用的两种总线接口,它们支持热插拔,可以自动识别、自动组态,实现即插即用。与并行总线比较,它们更适合连接多外设的需要,且传输速率高,目前已有一些测量仪器使用了这两种总线,回器合费USB( Universal serial Bus)主要用来连接外围设备,如键盘、扫描仪、磁盘机等。苹果电脑率先于1998年使用USB做为其唯一的串口,目前在PC机上已被广泛使用。由于其即插即用的易用性和USB20高达480Mbs的传输速率,USB总线已逐渐成为仪器控制的主流总线技术。USB总线只有一对信号线和一对电源线,轻巧简便、价格便宣,能连接127个装置。现在计算机上的USB接口越来越多,这使得工程师可以很方便地将基于USB的测量仪器连接到整个系统中。但是USB在仪器控制方面亦有一些缺点。比如说USB的排线没有工业标准的规格,在恶劣的环境下,可能造成数据的丢失;此外,USB对排线的距离也有一定的限制。1如到IEEE1394总线又称火线总线,是苹果电脑公司于1989年设计的高性能串行总线,目前的标准为IEEE1394-1995。IEE1394总线的传输速率为100Mb/s、200Mbs、400Mb/s,甚至可以达到32Gbs。EE1394总线具有两对信号线和一对电源线,可采用任意方式连接63个装置。当两M建0.D,e1,亲边5.其他总线15直,2M08率,(3安捷伦科技和ⅴ XI Technology公司于2004年推出了LXI( LAN eXtensions forInstrumentation)总线。2004年11月,LX联盟 LXI Consortium成立,旨在开发、支持和促进LXI标准。2005年9月,LX联盟正式公布了LXI1.0标准。2006年第一季度首批通过LXT认证的产品即被推出。,课为图要箭相溶LXI基于IEEE8023以太网技术,是以太网在仪器领域的扩展。LXI总线速度现在最快达到千兆位每秒,还将发展为万兆位每秒。LXI理论上支持的设备数目不受限制,并且通过使用路由器、交换机和中继器,对线缆长度几乎没有限制,还可以使用无线局域网技术LXI不受地理限制,可以实现远程测量应用。LXI被认为在未来将取代GPB,但相比GPIB,LXI还存在一定的延迟问题。T公1A,的器1除了上述几种总线技术外,虚拟仪器还广泛采用其他的总线,如RS232C、标准并行接口( Standard parallel port,SPP)、增强型并行接口( Enhanced parallel port,EPP)以及以太网Etherne等。用户可根据自己的实际情况选用适当的产品。修下12虚拟仪器技术前景展望虚拟仪器技术经过二十多年的发展,正沿着总线与驱动程序标准化、软硬件模块化,以及编程平台图形化和硬件模块即插即用(Plug&Pay)化等方向发展。其发展前景主要体现在以下几方面:部(1)开放式数据采集标准将使虚拟仪器走上标准化、通用化、系列化和模块化的道路。(2)数据采集产品性能的不断提高,为测试技术水平的提高提供了可靠的保证。3)随着Web技术的迅猛发展,以及它与虚拟仪器技术的结合,会形成基于web技术第1章虚拟仪器技术7的虚拟仪器。新一代的虚拟仪器将能够快速、方便地与蓝牙、无线以太网和其他标准的网络技术相融。“网络即仪器”也将成为新的概念,而网络化仪器必将推动仪器界新的革命。基十本章小结9本章简要介绍了虚拟仪器的基本概念、构成、特点以及虚拟仪器接口总线技术。通过本章的学习,希望读者能够对虚拟仪器及接口总线技术有一个总体的了解,以便于以后进一步的学习。9圈登图小型“点,天个行计的练习与思考一1浪求,米得的到中已样11.什么是虚拟仪器?简述虚拟仪器的组成及特点。出烟显读十贵的2.虚拟仪器主要采用哪些总线接口技术?它们各有什么优、缺点?装量,的出中量实同世个部量,的为实出果声面真对人1容内频,景的具个1)求来清置西公胃到的翻首应中亲长蛙道,( OAU.TOUPPIUDA里处没变面小的早中出人解的早滑由,长过文,团是个。当出求合一溶内内善外出非料,A,更应翅器计,中差,书一分中机:卧申名方,量中面平,界近否,图宾动结上米限个示显的律,两长过销题自中个发西眼实世量(离,试科平中强(2等来中C图头中紫计要最,平无,之上其,平的,的一,长为,只的更,过1要果,类,深菱人,中题,限回单首算出,型米
    2021-05-06下载
    积分:1
  • ARM LINUX入门与实践
    一个嵌入式爱好者的自学体验,从零介绍ARM和LINUX的方方面面博客稳阁丛书程方网名阿南曰曰强个嵌入式爱好者的自学体验南编著与实践京航空统无荟出版社内容简介本书是以作者自学、应用嵌入式 Linux时的笔记(包括实验、出现的问题、调试过程、经验总结等)为基础,再增加应用到的硬件平台而成的。全书以亲自制作实验平台硬件,亲自设计实验软件为线索,指导读者从零开始学习到最终掌握ARM和 Linux应用的方方面面。全书可以分成ARM硬件、ARM前后台系统应用和基于Lnux系统的应用3个部分。ARM硬件部分包括整个硬件的原理分析、原理图、PCB板的绘制、元件焊接、硬件的检测与调试。ARM前后台系统应用部分包括启动代码、处理器内部外设、扩展外部设备及接口等的所有底层软件分析与实现,还有 Bootloader、文件系统、GUI等的原理与实现。 Linux系统的应用部分包括基于PC机的操作、应用编程和驱动、嵌入式 Linux的汗发环境创建、各种硬件的驱动实现、网络编程、图形用户界面设计等。本书可作为有志于掌握ARM、 Linux等嵌入式技术的高校学生、工程师等的参考书。图书在版编目(CIP)数据ARM Linux人门与实践/程昌南,方强编著.一北京:北京航空航天大学出版社,2008.10ISBN978-7-81124-422-9I.A…Ⅲ.①程…②方…Ⅲ.①微处理器,ARM系统设计② Linux操作系统一系统设计Ⅳ.TP332TP316.89肀国版本图书馆CIP数据核字(2008)第150813号c2009,北京航空航天大学出版社,版权所有。未经本书出版者书面许可,任何单位和个人不得以任何形式或手段复制本书及光盘内容。侵权必究。ARM Linux入门与实践一个嵌入式爱好者的自学体验程昌南[网名阿南]编著方强责任编辑董立娟北京航空航天大学出版社出版发行北京市海淀区学院路37号(100191)发行部电话:010-82317024传真:010-82328026http://www.buaapress,comcnE-mail:bhpress@263.net涿州市新华印刷有限公司印装各地书店经销开本:787mm×960mm1/16印张:31.5字数:706千字2008年10月第1版2008年10月第1次印刷印数:;5000册ISBN978-7-81124-422-9定价:49.50元(含光盘1张)本书的使用及学习方法ARM和 Linux学习方法的体会如何才能学好或尽快上手ARM和 Linux?这是很多初学者想问的,也曾经在网上讨论过。其实学习没有捷径,主要还是取决于学习态度和学习方法。ARM、 Linux也一样,在此阿南根据自学过程中的体会和网上的讨论作一些总结。ARM的学习。有了单片机或计算机结构的基本知识、C语言的基础,上手ARM是比较容易的。学习ARM,首先应该了解一下ARM的体系结构,了解它有哪些版本、哪些模式、哪些寄存器、异常等。这方面的内容可以参考《ARM体系结构与编程》一书,这本书介绍的内容还是很全的,可以先快速地浏览特别是汇编指令不需要记住,以后应用时再查。其次选定一种具体厂家型号的ARM处理器,学习该处理器相关的开发工具的使用,如开发环境、仿真器及评估板等。然后可以分析该处理器的外围扩展方法,如 SDRAM、 NAND Flash等,一般官方或第三方都会提供原理图,可以用来分析。接下来要理解该处理器的启动过程,亲自尝试从块裸板逐步运行自己的应用程序,也可以参考官方的启动代码及例程。最后就可以调试、测试该处理器的各种外围部件,例如定时器PWM串口、LCD等,特别是中断及执行过程。Liux的学习。尽管我们最终应用的是嵌入式 Linux,但还是要先在PC机下学习,因为无论基于PC机还是嵌入式处理器的 Linux开发、编程、调试等都是相近的,而PC机的性能、资源等都更加丰富,嵌入式 Linux的开发环境通常也都建立在PC机 Linux环境下,另外Linux大量的书籍也都是针对PC机写的。阿南觉得学习的顺序应该是先在PC机上安装Linux系统,再参考相应的入门书籍,主要是熟悉 Linux环境,学习常用的命令和操作(不一定多,基本、常用的就可以,以后在使用过程中慢慢积累),理解各 Linux下的目录结构与作用等。其次,学习在Liπux环境下编程。可以参考《GNU/ Linux编程指南》或《UNX环境高级编程》,它们介绍了文件描述符的概念,打开读写等操作的系列基础知识;没有这些基础而直接看《 Linux设备驱动程序》会觉得困难。再次,了解一下 Linux内核源代码树的目录结构、编译等。最后,学习《 Linux设备驱动程序》,理解驱动程序的结构框架等。根据实践需要也可学习网络编程和图形用户界面GUI编程,可以参考学习《UNIX网络编程》和《C++ GUI Qt3编程》。另外由于 Qt GUI是基于C++的,所以需要学习C++的知识,也可以选择其他如Microwindows、 MiniGUI等。有了PC机的 Linux基础及编程知识后,就可以直接应用于嵌入式前言了!此时需要一个硬件平台(如开发板或直接的产品等目标系统)和该平台的开发环境。一般的处理器原厂或第三方都会提供开发环境,所以不需要我们移植,它包括建立在PC宿主机上的编译等工具和嵌入式 Linux内核(包括硬件驱动等BSP)源码。此时只须学习开发环境的建立和使用以及将PC机所学的知识应用于具体的嵌入式平台。如果涉及硬件及驱动那么应三该有一定的硬件调试和解决问题的能力,此时单片机、ARM基础及外围设备接口的调试能力将起到很重要的作用。很多朋友(包括非电子、自动化专业的朋友)都希望将来从事 Linux驱入门与实践入动方面的工作,认为学习了Limx驱动方面的知识就OK了而往往忽略硬件本身的调试解决问题能力,阿南觉得这是不正确的。因为 Linux驱动与前后台控制硬件外设的区别只在于它与应用程序的接口,它要遵循一定的结构和规则,这种规则涉及的也就是通常讲的 Linux驱动知识和技术,它是固定的,是容易掌握的,只要遵循就不会出问题。而硬件及外设是千变万化的,它所涉及的技术是多方面的,除处理器本身外,还有各种接口及协议、数字、模拟技术等。这些在设计、调试时是很容易出现问题的,此时要求我们有一定的调试、测试手段和方法。所以,阿南认为要想成为一名优秀的 ARM Linux驱动工程师,首先必须是一名优秀的、具有丰富调试经验的单片机或ARM处理器应用工程师本书的使用与相关知识的同步学习曾经有一个朋友这样告诉阿南:“如果看您的笔记就能掌握 ARM Linux驱动,那就是最好的目的了”。对不起,阿南做不到,写不出这种“葵花宝典”。这本书的前身是在21CBBS上发表的《嵌入式 Linux人门笔记》,主要是阿南在自学 Linux和在项目中应用 Linux时记录的笔记、出现的错误和心得等,是自己平时工作中非常重要的参考手册。发表后得到众网友的喜爱、支持及北航出版社胡晓柏主任的鼓励,故花更多的时间、精力将笔记丰富出版。嵌人式是一门实践性很强的技术,而《嵌入式 Linux入门笔记》主要记录的是 Linux等相关的软件部分,没有包括硬件相关的部分,为了让读者能够亲自实践,故增加了ARM及硬件部分。并且亲自设计了AN2410SSB(最小系统板)和AN2410MB(扩展底板),给出了所有原理图,介绍了制作过程,记录了用裸板开始调试的步骤和过程,介绍了如何让ARM运行及启动等各方面的内容,以及前后台(无操作系统下)的应用等。本书没有将所涉及的技术及理论都包括进来,不仅篇幅有限,而且也没有必要,因为已有太多相当经典的资料。本书第1章为概述。第2章分析了硬件的原理图,读者应该阅读S3C2410A的数据手册,特别是信号引脚功能描述,内存控制部分。第3章主要介绍了关于 Protel原理图和PCB板的绘制,如果读者没有 Prote的基础可以参考人民邮电出版社的《电路设计与制版— Protel99入门与提高》或其他 Protel书。如果有 Protel基础,只是没有绘制过多层板,那么可以参考人民邮电出版社的《 Protel99E多层电路板设计与制作》。第4章介绍了S3C2410A系统核心部分的调试方法和工具的使用,以及利用工具进行测试的方法、手段。该部分是整个系统的基础,也是非常重要的,读者需要多试验,出现问题时多参考S3C2410A的数据手册。第5章专门分析了S3C2410A的启动代码,用于理解S3C2410A的启动过程,中断处理过程及存储器等前言相关部分,也是非常基础和重要的。因为启动代码由汇编组成,此时可参考清华大学出版社的《ARM体系结构与编程》,学习理解ARM的汇编语言等相关知识。第67章为硬件平台上实现ARM的外围实验和扩展实验读者仍然要参考S3C240A的数据手册,在仿真调试情况下理解ARM内部的寄存器、存储器、状态寄存器等与ARM体系相关的知识。另外还要阅读如WAv音频格式,SD卡规范及相关的数据手册等。CPLD部分读者可以参考电子工业出版社的《基于 Quartus II的FPGA/CPLD设计》,学习基本的工程创建,图形设计输入,编译和编程等。 Altera cpld更详细的资料可以去官网下载。第8章介绍了前后台系统还需要考虑的相关知识: NAND Bootloader、文件系统和图形界面。图形界面部分,读者需要理解一些基本的绘图原理和算法,可以参考机械工业出版社的《计算机图形学的算法基础》。第9章介绍了在PC机下的 Linux各方面技术,这些都是嵌入式 Linux的基础,非常重要,涉及的知识内容也很多。在该章中,阿南只是总结了一些实践操作的部分内容所以还需要读者自己去参考学习Linux的这些书籍: Linux系统的基本操作参考清毕大学出版社的《 Red hat linuⅹ9系统管入门与实践理》(这本书应该被实践安装的桌面 Linux系统相应版本的书替代),应用编程参考清华大学出版社的《GNU/Linuⅹ编程指南》或机械工业出版社的《Uniⅸx高级环境编程》,驱动编程参考中国电力出版社的《 Linux设备驱动程序》。第10章主要介绍S3C2410A的嵌入式 Linux开发环境的搭建及工具的使用。这里采用的是MIZI公司的 Linux for s3C2410平台,读者也可以直接参考《 MIZI Linux sdk for s3C2410》文档。第11章介绍在S3C2410A下实现 Linux驱动,很多原理性的知识依然要参考《 Linux设备驱动程序》一书,而且要多试验验证。读者在调试实现过程中也可以直接参考 Linux for s3C2410的内核源码中和硬件、驱动相关的代码例子(可以在 Windows系统下安装 Source insight软件,方便阅读 Linux内核源代码)。第12章介绍嵌人式 Linux桌面系统,可读写文件系统 YAFFS的实现,嵌入式Web服务器BOA、NFS及WIFI。这些都是实践性很强的应用操作,所以读者主要是应用它们,出现问题时上网查找相关应用操作,寻找解决问题的思路,再测试验证。第13章是网络编程方面的知识,主要参考清华大学出版社的《UNIX网络编程第1卷:套接口API》,目的是掌握TCP客服机/服务器的实现及网络的调试方法。第14章介绍嵌人式GUI开发环境的创建和开发方法,桌面系统的移植。学习前读者应该先学习基于Qt的应用编程,可以参考北航出版社的《C++GU1Qt3编程》,如果没有C++的基础可以参考清华大学出版社的《C++程序设计教程》。致谢感谢我的导师(也是本书的另一位作者)—方强多年来的关心与指导,且对本书付出的辛苦劳动。感谢我的公司——广州市天誉创高科技有限公司及同事们,他们对本书提供了很大帮助。段克为本书绘制了部分电路图,丁亚锋为本书编写并调试了部分程序。另外,还要感谢曾水生、李玉琪、刘卫国、张端峰、龙靖、彭雄飞、王勇、黄焕立、王菊林、黄斌、何运辉、吴建、方斌、黄伟、傅良英、胡孝发、黄志艳、张凯、欧孔德、梁家乐、宁雪玉、蔡青青及蓝萍等人的帮助。前言感谢深圳英蓓特公司提供 Realview mDK开发工具及相关资料和技术支持。感谢EDN网为本书创立书友会(hp:// group. ednchina, com/999/)和开展本书的AN2410SSB学习板助学等活动。感谢北京航空航天大学出版社嵌入式系统事业部主任胡晓柏的信任与鼓励,感谢21CBBS上网友们的支持、建议和帮助。感谢我的父母、老师、姐姐、姐夫及所有亲戚朋友们,你们的关心与爱都是阿南不断前进的动力。入门与实践阿南的技术水平、经验都还很欠缺,书中的错误和不妥之处在所难免,恳请广大读者朋友们批评指正;也欢迎登陆21CBBS的ARM论坛或《 ARM Linux人门与实践》书友会与阿南交流,共同提高。阿南2008年9月自序嵌入式自学经历和体会目的回想从2000年自学单片机开始,到后来的ARM,再到 Linux,自己经历了很多,也体会了很多,有经验也有教训,所以希望通过此次机会与读者相互交流,也让更多的爱好者在自学过程中有所借鉴。如果能得到您的共鸣,可以发送电子邮件给阿南:c422@hotmail.com。初识单片机和电子竟赛大一的暑假没有回家,留在学校里希望能向师兄学点技术,后来他向我推荐了单片机和全国大学生电子竞赛。和普通学生一样,阿南认为能参加电子竞赛是多么自豪呀!且对单片机很是好奇,于是去图书管借了些基础书来阅读,很快就被它的强大功能吸引,也产生了迅速学好、将来参加电子竞赛的念头买仿真器,下定决心学好单片机当时学校还没有开模拟、数字电子等专业基础课程,所以学习单片机还是很困难的,一般阿南都拿两三本单片机基础书一起对照着看,旁边还放着模拟、数字等基础教程以便查阅。暑假很快就过去了,期间虽然专心学习,但进展很慢,后得到师兄的指点:要想学好单片机,必须要有个仿真器实践大概1500元。这么贵?(这对农村孩子来讲,实在太贵了!另外买了之后,还不一定就能学会呢!)经过一个星期的思想斗争,终于下定决心要买。当时的想法是这样:“从小家里就穷,家人为了阿南付出了很多心血,所以阿南必须学好技术,好将来回报他们;要参加电子竞赛且取得好成绩,在技术上必须要超越同学、师兄及其他院校的同齡人,而论聪明、基础不可能占优,唯有比他们更早开始,更加勤奋和善于思考;是的,很心疼父母的这些辛苦钱,也正是这个原因更促使阿南尽最大努力,更加勤奋地学习”。培养兴趣,它是最好的老师买了仿真器后,阿南比以前任何时候都更加勤奋了:图书馆、书店找书学习,独自骑两小时自行车买器件,万能板上焊接电路,学习自己编程,用仿真器仿真,万用表测量各种信号变化等。对于单片机,阿南到了近乎疯狂的地步,调试遇到困难时的痛苦、解决问题后的畅快和兴奋,都让阿南对它产生了很深的感情,也已不再是在当初的巨大压力和包袱下学习了,而是在种很浓厚的兴趣下享受着它带来的喜怒哀乐。自序冲破难关,学会独立时间过的真快,自学单片机已经一年了,在这期间阿南对51系列单片机的原理已经理解得差不多了,也实验、测试了所有的片内外设,但只有并行通信测试还一直没有成功过,就是ADCo809的A/D转换实验。这个实验已经断断续续调了近两个月,分析了书上所有的相关内容,对原理也已经很清楚了,但仿真器就是采集不到正确的数据。当时遇到困难时没有像现在这样方便的网络,也没有示波器,只能分析书本和凭自己的想象和试验,另外总是期盼着师入门与实践兄能帮助解决。后来静下心来想了各种解决测试的方法和线索,一个个排除,最终在仿真器说明书中发现“POD52仿真头的P0、P2口只能用作IO用,POD51可以作为总线用”。由于直使用POD52的仿真头,所以读/写等信号都没有出来,换成POD51果然就成功了。(当时真的很兴奋!)之后,单片机学习就变得非常顺利,一般的系统都能独自完成,也终于可以自豪地宣告:阿南的单片机人门啦。在这一过程中阿南体会到了独自思考、解决问题的重要性,也明白了开发工具在实践过程中所起到的作用。(其实很多问题是要用示波器测试和请求工具厂商技术支持的。)上帝是公平的,机会留给有准备的人人门单片机后,不仅自己做些小课题,也用它完成课程设计、参加校里组织的竞赛等。虽然没有参加院里的工程师摇篮协会,但自己的勤奋、动手能力及对单片机的执着还是得到了老师的肯定。初识贾老师(负责组织参加全国大学生电子竞赛相关事务的老师)时,他给了一道1999年的竞赛题——工频真有效值表。该题有很多的运算,考虑到汇编语言实现的难度,所以阿南学习用C语言为单片机编程。由于大一时开过C语言的基础课,再加上良好的汇编语言基础能力,这个课题很顺利地完成了。之后,贾老师将阿南推荐给方老师,目的很明确:学好单片机,备战2003年SONY杯全国大学生电子设计竞赛。有了方老师的指导,再加上实验室的各种硬件,阿南开始了一个新的阶段:不仅学习单片机和C语言编程,还要学习单片机以外的相关技术,如 Protel绘制原理图、PCB制板;学习各种总线和协议,学习电动机控制等;还要学习PLC、MCGS组态软件以及VB。这2年半的时间里,阿南早已不仅仅是为了竞赛更多的是在体会和享受着整个学习过程。回想自己5年的大学学习生活,感觉真的很幸运,最初的王师兄,后来的贾老师和方老师、女朋友及所有帮助过阿南的朋友,在此对他们表示衷心的感谢,感谢他们总是在适当的时候出现指导和帮助阿南,让阿南为之感动,为之奋斗。同时,也深深体会一个道理:机会总是留给足够真诚,足够勤奋、执着,有所准备的人;连自己都不能感动,何以感动别人?感动上帝?坎坷的一年,技术上的追求而不断放弃工作当同学们纷纷进入大中专院校,从事让多少人羡慕的稳定的教师职业时,阿南却选择了南下打工,希望在技术上有更高的造诣。当时ARM在国内已经流行,阿南和广大爱好者一样,和当年初识单片机一样,也被它深深地吸引。辗转了几家公司后,终于可以从事单片机的应用开发。半年后,阿南作出了一个让
    2021-05-06下载
    积分:1
  • 基于LabVIEW的多通道数据采集系统
    1. 本程序只在Windows XP 平台上经过完整测试,因此只能保证该程序在WinXP系统下正确运行。2. 由于本程序使用的是MySQL数据库,因此需要计算机上安装有MySQL。如果没有,可以尝试Access数据库。3. 将本程序下载到本地计算机后,需要建立ODBC连接。建立方法如下:进入开始菜单->控制面板->管理工具->数据源(ODBC),建立一个新的系统DSN:选择“Add-->MySQL ODBC 3.51 Driver”,数据源名称为“daq_test”,然后自己根据实际情况配置,点击OK完成设置。4. 启动系统.vi,输入用户名:admin,密码:answer 登录系
    2020-06-25下载
    积分:1
  • 混淆工具ConfuserEx_bin
    这个资源里面包含混淆工具和文档说明,该混淆器将代码混淆成不可阅读的字符,基本上是翻译不出来了,保证的代码的相对安全。
    2020-12-08下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载