本书是一本面向计算机、软件工程和网络工程专业及相关专业的本科生(高年级)和研究 生教材.根拐国内外计算机技术的最新发展、讲述计算机算法的各种设计策略。包括分治技术、贪心技术、动态规划技术、回溯和分支限界技术等,介绍算法分析技术,算法的时间和空间复杂度分析方法,包括最坏情况和平均情况的分析等;讨论各类经典和应用问题的算法,包括排序算法、搜索算法、字符串匹配算法、图论算法、调度算法、组合优化算法、数论算法等。并在计算复杂性理论的基础上引入近似算法、概率算法等最新内容。
标签: 计算机
上传时间: 2022-07-10
上传用户:
作为一个轻量级的操作系统,FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。FreeRTOS内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用时间。FreeRTOS的内核可根据用户需要设置为可剥夺型内核或不可剥夺型内核。当FreeRTOS被设置为可剥夺型内核时,处于就绪态的高优先级任务能剥夺低优先级任务的CPU使用权,这样可保证系统满足实时性的要求;当FreeRTOS被设置为不可剥夺型内核时,处于就绪态的高优先级任务只有等当前运行任务主动释放CPU的使用权后才能获得运行,这样可提高CPU的运行效率FreeRTOS对系统任务的数量没有限制。
标签: freertos
上传时间: 2022-07-20
上传用户:
VIP专区-嵌入式/单片机编程源码精选合集系列(130)资源包含以下内容:1. 武汉创维特的arm培训例程试验程序.2. 这是一个小车原理图,如果有设计不周到请提出建议.3. 用NiosII软核配置FPGA的C语言源程序.4. 用c语言写的niosii软核的多种外设测试程序.5. 介绍了MATLAB中GUI界面的一些基本的情况。有助于出学者对其有一个比较直观的认识。.6. EDA实验--RAM实验:利用-MegaWizard Plug-In Manager创建一个16×8的RAM.7. EDA实验--ROM实验:利用-MegaWizard Plug-In Manager创建一个256×16的ROM.8. 一个基于GUI的界面系统设计的程序.9. 基于AVR的mp3文件系统!里面有sd卡的fat32文件系统源程序.10. 这个是周立功公司的zlg文件系统的源代码 可以应用在小型嵌入式系统中.11. 13305控制320-240的源程序.12. 这个是非常不错的mp3源码.13. 经典的mp3源码程序.14. pc bios source code for emb.15. 3167cx4558数控机床200例 源程序.16. i2c的verilog代码.17. 书名:嵌入式系统Web服务器TCP-IPLean本书是一本TCP/IP网络的指导手册.18. Fedora Core 5功能强大.19. Nucleus任务调度算法原理及Nucleus优先级查找表的原理(有详细的文档及演示代码)。.20. AVR单片机的程序.21. AVR单片机的程序.22. LPC2220 的AD转换.23. 基于LPC2220的.24. 利用LPC2220内部的RTC功能.25. 使用LPC2220的UART1的Modem功能.26. u-boot.27. 不可多得的国外机器人制作技术资料.28. 单片机isp编程上位机源代码.29. 霍曼轨道的模拟图形.30. BinDCT算法描述,作为快速DCT算法适合嵌入式使用.31. 基于89S52的篮球计时计分器,实现外部中断和定时器的使用.用2803驱动共阳数码管..32. 一些关于微机的实验指导,帮助初学的人,容易理解.33. QQ64134703毕业设计 基于AT89C51.34. 1.04版opentcpip协议栈.35. n2cpu_nii5v1":niosII开发手册.36. 关于嵌入式EVC编程语言书籍.37. S3C2410+飞利浦PWC视频采集.38. 本文详细介绍了一个最小S3C44B0X嵌入式系统(包括网口)的软硬件构架。.39. 里面内置了10多篇论文.40. 以视频的方式介绍了qt的相信安装过程.
上传时间: 2013-07-10
上传用户:eeworm
随着电子技术的不断发展,各种智能核仪器逐步走向自动化、智能化、数字化和便携式的方向发展。针对传统的多道脉冲幅度分析器体积大,人机交互不友好,不方便现场分析等的缺陷[5]。新型的高速、集成度高、界面友好的多道脉冲幅度分析器的陆续出现填补了这一缺点。 随着电子技术的发展,以ARM为核的处理器技术的应用领域不断扩大,相比较单片机而言,它的主频高、运算速度快,可以满足多道脉冲幅度分析器的苛刻的时间上的要求。而且ARM处理器功耗小,适合于功耗要求比较苛刻的地方,这些方面的特点正好满足了便携式多道脉冲幅度分析器野外勘察的要求。同时,由于以ARM为核的处理器具有丰富的外设资源,这样就简化了外设电路及芯片的使用,降低了功耗并增强了产品的信赖性。另外,ARM芯片可以方便的移植操作系统,为多道脉冲幅度分析器多任务的管理和并行的处理,甚至硬实时功能的实现提供了前提。而且在ARM平台使用嵌入式linux操作系统使多道脉冲幅度分析器的软件易于升级。 智能化和小型化是多道脉冲幅度分析器的发展趋势。智能化要求系统的自动化程度高、操作简便、容错性好。智能化除了需要控制软件外,还需要软件命令的执行者即硬件控制电路来实现相应的控制逻辑,两者的结合才能真正的实现智能化。小型化要求系统的体积小、功耗小、便于携带;小型化除了要求采用微功耗的器件,还要求电路板的尺寸尽量的小且所用元件尽量的少,但小型化的同时必须保持系统的智能化,即不能减少智能化所要求的复杂的逻辑和时序的控制功能。为此采用高集成度的ARM芯片实现控制电路能满意地同时满足智能化和小型化的要求。在研制的多道脉冲幅度分析器中,几乎所有的控制都可以用控制芯片来实现,如阈值设定、自动稳谱以及多道数据采集,在节省了元件的数目和电路板的尺寸的同时仍能保持系统的智能化程度。 Linux内核精简而高效,可修改性强,支持多种体系结构的处理器等,使得它是一个非常适合于嵌入式开发和应用的操作系统。嵌入式Linux可以运行的硬件平台十分广泛,从x86、MIPS、POWERPC到ARM,以及其他许多硬件体系结构。目前在世界范围内,ARM体系结构的SOC逐渐占领32位嵌入式微处理器市场,ARM处理器及技术的应用几乎已经深入到各个领域,例如:工业控制,无线通讯,网络,消费类电子,成像等。 本课题采用三星公司生产的ARM(Advanced RISC Machines,先进精简指令集机器)芯片S3C2410A设计并研制了一种便携式的核数据采集系统设计方案。利用ARM芯片丰富的外设资源对传统的多道脉冲幅度分析器进行改进和简化。系统由前端探测器系统,以及由线性脉冲放大器、甄别电路、控制电路、采样保持电路组成的前置电路,中央处理器模块,显示模块,用户交互模块,存储模块,网络传输模块等多个模块组成。本设计基于ARM9芯片S3C2410,并在此平台上移植了嵌入式linux操作系统来进行任务的调度和处理等。 电路板核心板部分设计采用6层PCB板结构,这样增加了系统可靠性,提高了电磁兼容的稳定性。数据采集系统是多道脉冲幅度分析器的核心,A/D转换直接使用了S3C2410内置的ADC(Analog to Digital Converter,模数转换器),在2.5 MHz的转换时钟下最大转换速度500 KSPS(Kilo-Samples per second,千采样点每秒),满足了系统最低转换时间≤5 μs的要求,并且控制简单,简化了外部接口电路。由于SD(Secure Digital Card,安全数码卡)卡存储容量大、携带方便、成本低等优点,所以设计中采用其作为外部的数据存储设备,其驱动部分采用SD卡软件包,为开发带来了方便。本设计采用640*480的6.4寸LCD(Liquid Crystal Display,液晶显示)屏作为人机交互的显示部分,并且通过Qt/Embedded为系统提供图形用户界面的应用框架和窗口系统。其中包括了波形显示部分和用户菜单设置部分,这样方便了用户操作。系统的数据存取方面是基于SQLite嵌入式小型数据库而进行的。为了方便数据向上位机的传输,系统设计中采用XML(Extensible Markup Language,可扩展标记语言)格式来组织传输的数据,通过基于TCP/IP(Transmission Control Protocol/Internet Protocol)协议的Linux下Socket套接字编程,来进行与上位机或PC(Personal Computer,个人计算机或桌面机)等的连接和数据传输。
上传时间: 2013-04-24
上传用户:tzl1975
大多数现在的PCL打印机驱动程序都是将需要打印的文件(包括图形或者文本)处理成JPEG文件发送到打印机进行打印,因为这样一方面可以减少发送给打印机的数据量,一方面可以极大的简化驱动程序的开发。而在打印机内部,这些JPEG文件又被解码成BMP文件进行进一步的处理。采用这种方式工作的打印机JPEG解码的工作占据了其CPU时间的一半以上,所以JPEG文件解码引擎是打印机的核心之一,提高JPEG的解码速度对于提高打印机的处理能力至关重要。 同时,JPEG文件解码工作是一个计算密集型的作业,主要有两个办法提高它的速度:一个是设计更高效的算法,一个是采用性能更加强劲的CPU设备。在单核CPU的嵌入式环境中,JPEG编解码速度已经几乎到了极限,难有提升的空间,然而近两年多核嵌入式芯片的出现,为大幅度提升它的性能提供了可能。 本文基于嵌入式的Linux平台,采用ARM11 MPCore4核处理器,针对PCL,XL打印机控制语言的JPEG文件解码设计和实现了一个高速引擎,主要内容为: 分析和解码PCL,XL文件,提取出其中的JPEG文件。 对JPEG文件实现并行化解码,在多个处理器核上并行处理,并针对多核处理器构架进行内存读取等方面的优化。 针对多核处理器的特点和优势,设计和实现多线程调度算法。 总结和提取数据,分析多核处理器相对于单核处理器的性能提升。 另外,为便于读者理解,文中简要介绍了ARM(SIMD)指令集,嵌入式汇编以及与硬件相关的一些概念。
上传时间: 2013-06-16
上传用户:scorpion
嵌入式操作系统是嵌入式系统应用的核心。完成简单功能的嵌入式系统一般不需要操作系统,但是随着所谓后PC时代的来临,嵌入式系统设计日趋复杂,嵌入式操作系统就必不可少了。一般而言,嵌入式操作系统不同于一般意义的计算机操作系统,它有占用空间小、执行效率高、方便进行个性化定制和软件要求固化存储等特点。 本文在讨论了嵌入式操作系统的基本理论之后,论述了MINIX 3操作系统的特点,指出了MINIX 3向嵌入式操作系统方面发展的意义和可行性。建立可移植代码是操作系统移植的首要步骤和重要途径,本文又论述了建立可移植代码的一般方法和过程。而后深入分析了MINIX 3操作系统的内核结构及组成部分,重组了内核目录树,列出了移植MINIX 3内核需要重新编写的内核接口。在MINIX 3已有代码的基础上,分离了一部分机器相关代码和体系结构不相关代码,建立了相应的可移植代码。 提到嵌入式,就不能不提ARM,ARM体系结构是目前最流行的嵌入式微处理器体系结构。本文就是针对ARM处理器体系结构来展开的,文中简单介绍了ARM处理器的情况,并且对应ARM体系结构修改了MINIX 3内核的部分代码。最后在深入分析了MINIX3操作系统进程调度算法和代码之后,结合软实时操作系统进程调度特点和要求,改进了MINIX 3进程调度策略,使之适合软实时操作系统的要求,并给出了修改后的相关源代码。
上传时间: 2013-06-24
上传用户:kksuyiwen
嵌入式测控系统和测控装置在工业生产过程控制、仪器仪表及自动化系统、智能楼宇监控等方面得到广泛的应用。由于嵌入式测控系统监控对象的多样性,因此通用性不是很强,传统的设计方法都是从底层的硬件设计开始,再设计专用的软件,导致设计周期长,重复工作多,成本增加。微电子技术和计算机技术的飞速发展,使得微处理器的性能和功能得到极大的提高,为通用型测控平台的构建奠定了基础。 本文提出了一种嵌入式测控平台的设计思路。采用主板和扩展板相结合的模块化设计,使嵌入式测控系统可以在一个标准化平台上进行构建。平台主板选用基于32位ARM7TDMI-S内核的微控制器LPC2292作为核心,加上以太网芯片、CPLD以及其它外围电路,构成了一个维持系统正常运行的最小系统。扩展功能模块包括ZigBee无线通信、USB、A/D、D/A、液晶触摸屏等模块,通过层叠式结构与主板连接。测控开发平台在功能、电路、结构上实现了可裁剪、可扩展,能满足大多数嵌入式测控系统的需求。 在实现嵌入式测控开发平台硬件设计的基础上,嵌入式测控平台引入了Nucleus Plus实时操作系统来完成系统资源的管理和任务的调度。文中提出了启动代码模版的概念,简化了移植操作系统的工作,提高了效率。 基于ARM的嵌入式测控开发平台为开发各种智能化、小型化现代测控系统提供了可重用、高性能、图形化、网络化软硬件基础平台和高效的开发模式。从而,大大缩短了软、硬件开发的周期,具有十分重要的意义。 作为在测控开发平台的基础上构建测控系统的实例,研制了气门弹簧负荷计算机自动分选系统的现场级控制器。
上传时间: 2013-06-16
上传用户:kkchan200
嵌入式系统是一种将底层硬件、实时操作系统和应用软件相结合的专用计算机系统,在经济社会和人们的日常生活中得到了越来越广泛的应用。嵌入式系统的研究与开发已成为现代电子领域的重要研究方向之一。嵌入式实时操作系统是嵌入式系统应用软件开发的支撑平台,网络化是主要趋势之一。 μC/OS-Ⅱ作为一种新兴的嵌入式实时操作系统,以其免费公开源码、面向中小型应用、可抢占、多任务以及较好的移植性等突出特点,在各类嵌入式设备中得到广泛应用。然而,μC/OS-Ⅱ内核中不支持TCP/IP协议栈,因而无法适应嵌入式设备网络化的需要。本文的主要目标是:在计算资源严重受限的条件下,研究使嵌入式系统支持TCP/IP协议的策略及其实现方法。 本课题以实验室现有的Samsung S3C44BOX芯片为核心的ARM开发板作为硬件平台,分析了ARM7TDM[内核的特点及S3C44BOX的结构。在详细分析实时操作系统μC/OS-Ⅱ及其内核原理的基础上对其进行适当的改进并成功移植到ARM硬件平台上。针对μC/OS-Ⅱ内核不支持TCP/IP协议栈的问题,引进了嵌入式TCP/IP协议uIP,将其应用到μC/OS-Ⅱ上,成为μC/OS-Ⅱ的网络服务模块,实现了对μC/OS-Ⅱ的网络功能的扩充,并在uIP基础上编写了相关的网络驱动程序。最后,本课题设计了基于HTTP协议的嵌入式Web服务器和基于TFTP协议的远程文件传输,从而使网络远程监控测量和在线程序的更新下载成为现实。 本课题经过数月的软硬件的设计和调试,已实现了最初的设计目标。测试结果表明:移植到ARM处理器上的μC/OS-Ⅱ内核可以成功实现对任务的调度;对μC/OS-Ⅱ内核扩充的TCP/IP协议——uIP可正常运行:嵌入式Web服务器和远、程文件传输在实验室局域网中的稳定运行,更加证明了本课题的成功性。
上传时间: 2013-05-17
上传用户:LSPSL
英文版深入Linux内核架构》讨论了Linux内核的概念、结构和实现。主要内容包括多任务、调度和进程管理,物理内存的管理以及内核与相关硬件的交互,用户空间的进程如何访问虚拟内存,等等。
上传时间: 2013-04-24
上传用户:120231708
实用单片机系统是基于MCU8051硬件平台下开发的一款操作平台,它不是一个操作系统,而是一个操作平台,主要借鉴了操作系统、手机的一些概念,比如消息机制、系统时钟、软件定时器、平台等概念。 实用单片机系统的核心理念是:在一个标准化的硬件基础上(如8051,avr,arm等)扩展一个标准化的软件平台,把常规项目常用的一些功能如串口通讯、串口调试、系统定时器、软件定时器、按键界面处理等通过消息机制组织起来,形成一个完整的系统。当一个特定的项目需要增加或者删除一项具体的功能时,只需要在平台上增加或者去掉相应的功能即可,这样项目不需要每次重新构思架构,也不需要从零开始,并且原有的系统通过各个项目沉淀后,更加稳定可靠,这就是平台的概念,它不是各个子函数的集合。 相对于现在的很多人把RTOS操作系统应用于MCU来说,往往只为了实现任务的调度转换而不考虑功能的实用、易用性,此外因其较高的资源占用性导致其不适合在MCU类低资源的嵌入式平台应用,MS系统相对于这些RTOS来说,首先还是保留了编程者的常规前后台思维,但又加了一些RTOS的优点,如软件定时器实现的时间片任务系统,类似RTOS的任务,其次为编程者实现了整个程序的框架和一些常用的函数及接口功能如按键、串口、时钟等,让编程者把精力放在跟项目相关的地方,甚至不需要关心所用MCU的寄存器配置,再次就是代码非常简单,容易学习,尤其是建议大家采用SourceInsight查看程序,远比keil编辑器的功能强,它是C语言下最好的编辑器。而MS3.21版本,建议大家直接在Keil的软件仿真器下运行学习。 MS资料可以从以下网址下载:http://www.study-bbs.com/thread-46471-1-1.html读者有什么疑问也可以在这个版面提问,作者将尽力解释。目前MS3.21版本增加了一个GUI操作框架,相比目前已有的GUI更加简单易懂,利用一个函数指针代替了复杂的状态机,每一个界面由一个界面建立函数和一个执行函数构成即可。
上传时间: 2013-10-29
上传用户:txfyddz