- WinARM, http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects
- WinAVR,http://winavr.sourceforge.net
- OpenOCD,http://openocd.berlios.de/web
- H-JTAG,http://www.hjtag.com/
一)Prex
http://prex.sourceforge.net/
What is Prex?
@H_502_0@Prex is an open source,royalty-free,real-time operating systemfor embedded systems.It is designed and implemented for resource-constrained systemsthat require predictable timing behavior.The highly portable code of Prex is written in 100% ANSI C based on traditional microkernel architecture. @H_502_0@The Prex microkernel provides only fundamental features for task,thread,memory,IPC,exception,and synchronization.The other basic OS functions - process,file system,applicationloading,and networking,are provided by the user mode servers.In addition,Prex provides a POSIX emulation layerin order to utilize existing *NIX applications.This design allows the systemto perform both of the native real-time task and the generic POSIX processsimultaneously without degrading real-time performance.It also helps platform designers to construct OSby choosing suitable system servers for their target requisition.Project Goals
The project targets the following goals:- To provide a small,portable,real-time,secure,and robust operating system.
- To provide simple and clean source codes for educationand an experimental test-bed.
- To conform to open standards as much as possible.
- To enjoy our life with kernel hacking. ;-)
License
@H_502_0@Prex is royalty-free software released under Revised BSD License.Features
Prex has the following features:- Task & Thread Control: preemptive priority scheduling with256 priority levels
- Memory Management: memory protection,virtual address mapping,shared memory,MMU or MMU-less configuration
- IPC: object name space,synchronous message passing between threads
- Exception: fault trapping,framework for POSIX signal emulation
- Synchronization: semaphores,condition variables,and mutexeswith priority inheritance
- Timers: sleep timers,one-shot or periodic timers
- Interrupt: nested interrupt serviceroutines,and prioritized interrupt service threads
- Device I/O: minimum synchronous I/O interface,DPC (Deferred Procedure Call)
- Security: task capability,pathname-based access control,I/O access permission.
- Real-time: low interrupt latency,high resolution timersand scheduling priority control
- Power Management: power policy,idle thread,DVS (Dynamic Voltage Scaling)
- Debugging Facility: event logging,kernel dump,GDB remote debug
- File Systems: multi-threaded,VFS framework,buffer cache,ramfs,fatfs,arfs,etc.
- POSIX Emulation: pid,fork,exec,file I/O,signal,pipe,tty,pthread,etc.
- Libc: C library fully optimized to generate a small executable file
- CmdBox: a small binary that includes tiny versions of many UNIX utilities.
- Networking: (plan) TCP/IP stack,BSD socket interface
Hardware Requirements
Prex minimum hardware requirements are as follows:- Processor: 32-bit Processor (x86,ARM,PowerPC)
- Memory: 256KB of RAM (Kernel < 25k bytes)
- Timer: programmable interval timer
二)rt-thread
http://www.rt-thread.org/web/
http://micrium.com/page/home
商业收费,注意哦;-)
四)FreeRTOS
http://www.freertos.org/
FreeRTOS TM is a portable,open source,royalty free,mini Real Time Kernel - a free to download and free to deploy RTOS that can be used in commercial applications without any requirement to expose your proprietary source code. Downloaded more than 77,500 times during 2008,FreeRTOS is the cross platform de facto standard for embedded microcontrollers. @H_502_0@Each official port includes a pre-configured example application demonstrating the kernel features,expediting learning,and permitting 'out of the Box' development. Support is provided by an active user community. @H_502_0@
OpenRTOSTM is a commercially licensed and supported version of FreeRTOS that includes fully featured professional grade USB,file system and TCP/IP components. @H_502_0@
SafeRTOSTM is a SIL3 RTOS version that has been certified for use in safety critical applications. It is a functionally similar product for which complete IEC 61508 compliant development/safety lifecycle documentation is available (conformance certified by TÜV SÜD,including compiler verification evidence).
Features Overview
[About FreeRTOS]
FreeRTOS.org Features:
FreeRTOS.org is a scaleable real time kernel designed specifically for small embedded systems. Highlights include:- Free RTOS kernel - preemptive,cooperative and hybrid configuration options.
- The SafeRTOS derivative product provides a high level of confidence in the code integrity.
- Official support for 23 architectures (counting ARM7 and ARM Cortex M3 as one architecture each).
- FreeRTOS-MPU supports the Cortex M3 Memory Protection Unit (MPU).
- Designed to be small,simple and easy to use.
- Very portable code structure predominantly written in C.
- Supports both tasks and co-routines.
- Powerful execution trace functionality.
- Stack overflow detection options.
- No software restriction on the number of tasks that can be created.
- No software restriction on the number of priorities that can be used.
- No restrictions imposed on priority assignment - more than one task can be assigned the same priority.
- Queues,binary semaphores,counting semaphores,recursive semaphores and mutexes for communication and synchronisation between tasks,or between tasks and interrupts.
- Mutexes with priority inheritance.
- Free development tools (Cortex-M3,ARM7,MSP430,H8/S,AMD,AVR,x86 and 8051 ports).
- Free embedded software source code.
- Royalty free.
- Cross development from a standard Windows host.
- Pre-configureddemo applications for selected single board computers allowing 'out ofthe Box' operation and fast learning curve.
- Compile time configuration allows a ROM footprint print as low as 4.3Kbytes on an ARM7 (Thumb mode) using GCC (third party figures,requires specific GCC command line options).
License Details
[About FreeRTOS]
Options
FreeRTOS is licensed under a modified GPL and can beused in commercial applications under this license. An alternativecommercial license option is also available in cases that:- You cannot fulfill the requirements stated in the "Modified GPL license" column of the table below.
- You wish to receive direct technical support.
- You wish to have assistance with your development.
- You require legal protection or other assurances.
http://www.ethernut.de/
Nut/OS
@H_502_0@Nut/OS is a modular,open source,real time operating system for embedded platforms. It is easily configurable and optimized to run on 8 and 32 bit microcontrollers. @H_502_0@Due to the modular architecture of the operating system only those components are included,which the application really needs. In general the adaption to the target system is done automatically. For fine tuning a graphical user interface is available under Linux,Windows and OS X. @H_502_0@Nut/OS multithreading is safe and easy to use. Its cooperative threading guarantees,that a thread yields control at well-defined points only. In most cases access to shared resources does not require any locking. This finally results in small and simple application code and significantly reduces the risk of race conditions and deadlocks. @H_502_0@Deterministic interrupt latencies provide hard real-time responses within strict deadlines,independent of currently available system resources. More...Features
@H_502_0@Nut/OS is based on an intentionally simple RTOS kernel,which provides a minimum of services to run Nut/Net,the TCP/IP stack. It's features include:- Coperative multithreading
- Deterministic interrupt response times
- Priority based event handling
- Periodic and one-shot timers
- Dynamic memory management
- Base protocols Ethernet,ARP,IP,ICMP,UDP,TCP and PPP
- User protocols DHCP,DNS,SNTP,SMTP,FTP,SYSLOG,HTTP and others
- Socket API
- Host,net and default routing
- Ethernet controllers
- UART devices with RS-232 handshake and RS-485 mode
- SPI,I2C and CAN busses
- MultiMedia and SD cards
- Hardware and software audio codecs
- Analog-to-digital converters
- Serial flash memory
- Realtime clocks
- Infrared remote controls
- Watchdogs and reset controllers
- Character displays
- GPIO and interrupt control
- Modem control
- ATmega103,ATmega128,ATmega2561,AT90CAN128
- AT91SAM7S,AT91SAM7SE,AT91SAM7X
- AT91SAM9260,AT91SAM9XE
- Gameboy Advance
- C99 integer types and optional floating point I/O
- File system support,including FAT
- Low level functions and streams on devices,TCP sockets and files
- Graphical user interface
- USB stack
- IPv6
- Encryption
- Wireless LAN
Applications
@H_502_0@The application developer can use a comprehensive C library,which complements the runtime library of the compiler. While almost compatible with the Posix standard,the need for learning a large number of new special calls is avoided. Amongst other features,access to files,TCP sockets and some important hardware interfaces is available via stdio streams. More... @H_502_0@Many basic and a few advanced examples are available in the NutWiki... @H_502_0@六)usmartxhttp://usmartx.sourceforge.net/
WhatisuSmartX ?
Main features
uSmartXprovidesmechanisms for inter-task communication,synchronization and timecontrol over system resources.- task control
- time control
- mailBoxes
- sempahores
- cyclic buffermanagement with trigger functions
- memory management
- atomic variables
- platform indipendant
Available ports
uSmartX isdesigned to be platform independant as much as possible,thus requiring minimal portingefforts. Only functions dealing with the global interrupt mask have tobe ported.
Actual avaible ports:
嵌入式文件系统
Actual avaible ports:
- ARM7TDMI
- Atmel's AVR
- Renesas Technology - H8-300H family(contributed by LucaBassanello)
一)FATFS
http://elm-chan.org/fsw/ff/00index_e.html
FAT File System Module
@H_502_0@FatFs is a generic FAT file system module for small embeddedsystems. The FatFs is written in compliance with ANSI C and completelyseparated from the disk I/O layer. Therefore it is independent ofhardware architecture. It can be incorporated into low costmicrocontrollers,such as AVR,8051,PIC,Z80 and etc...,withoutany change. Petit FatFs module is also available here.
二)EFSL
Features
- Windows compatible FAT12/16/32 file system.
- Platform independent. Easy to port.
- Very small footprint for code and work area.
- VarIoUs configuration options:
- Multiple volumes (physical drives and partitions).
- Multiple OEM code pages including DBCS.
- Long file name (LFN) support in OEM code or Unicode.
- RTOS support.
- Multiple sector size support.
- Read-only,minimized API,I/O buffer and etc...
http://efsl.be/
Project aims
The EFSL project aims to create a library for filesystems,to be usedon varIoUs embedded systems. Currently we support the Microsoft FATfilesystem family. It is our intention to create pure ANSI C code thatcompiles on anything that bears the name 'C compiler'. We don't makeassumptions about endianness or how the memory alignement is arrangedon your architecture.Adding code for your specific hardware is straightforward,just addcode that fetches or writes a 512 byte sector,and the library will dothe rest. Existing code can offcourse be used,own code is onlyrequired when you have hardware for which no target exists. Forexample,we support secure digital cards in SPI mode.
Project status
We have support for FAT12,FAT16 and FAT32. Read and write has beentested and is stable. Our code runs on PC (GNU/Linux,developmentenviroment),TMS C6000 DSP's from Texas instruments,and ATMega's fromAtmel.You can use this code with as little as 1.5 kilobyte RAM,however ifyou have more at your disposal,an infinite amount can be used as cachememory. The more memory you commit,the better the performance will be.
In order to minimise IO to the hardware 2 caching mechanism are inplace on different layers. The first layer is the IO Manager which does"dumb" caching of sectors. This will offcourse work better if you haveRAM to spare. The second level is higherup in the library,where sometricks are in place to minimise redundant reading of the FAT table(which is the primary bottleneck of the FAT filesystem,especially withhardware which has seek times).
License
This project is released under the Lesser General Public license,which,in short,means that you may use the library and it's sourcecodefor any purpose that you want,that you may link with it and use itcommercially,but that ANY change to the code must be released underthe same license.That means,if you add hardware suport,you share it,so that thecommunity may benefit from access to all kinds of hardware.
嵌入式网络协议栈
一)Lwip
http://www.sics.se/~adam/lwip/index.html
http://savannah.nongnu.org/projects/lwip/
http://savannah.inetbridge.net/lwip/
http://www.koders.com/info.aspx?c=ProjectInfo&pid=UPLZTGX8MX2KYSV5A3PMZA6S4F
@H_502_0@lwIP is a light-weight implementation of the TCP/IP protocol suite that was originally written by Adam Dunkels of the Swedish Institute of Computer Science but now is being actively developed by a team of developers distributed world-wide headed by Leon Woestenberg. The developement homepage has the latest news and releases: @H_502_0@http://savannah.nongnu.org/projects/lwip/ @H_502_0@Since it's release,lwIP has spurred a lot of interest and is today being used in manycommercial products. lwIP has been ported to several platforms andoperating systems and can be run either with or without an underlyingOS. @H_502_0@The focus of the lwIP TCP/IP implementation is to reduce the RAM usagewhile still having a full scale TCP. This makes lwIP suitable for usein embedded systems with tens of kilobytes of free RAM and room foraround 40 kilobytes of code ROM. @H_502_0@lwIP features:
- IP (Internet Protocol) including packet forwarding over multiple network interfaces
- ICMP (Internet Control Message Protocol) for network maintenanceand debugging
- UDP (User Datagram Protocol) for datagram data
- TCP (Transmission Control Protocol) with congestion control,RTTestimation and fast recovery/fast retransmit
- Specialized no-copy API for enhanced performance
- Optional Berkeley socket API
http://www.sics.se/~adam/uip/index.php/Main_Page
@H_502_0@The open-source uIP TCP/IP stack provides TCP/IP connectivity totiny embedded 8-bit microcontrollers,with maintained interoperabilityand RFC standards compliance. uIP was developed by Adam Dunkels of the Networked Embedded Systems group at the Swedish Institute of Computer Science but is further developed by a world-wide team of developers.
- Contributing to uIP
- uIP documentation
- Download the uIP code
- Mailing list
- Open source licence
- Publications
- Porting uIP
- Ports
- Known bugs
Features
@H_502_0@uIP has the following features:- Well documented and well commented source code - nearly every other code line is a comment.
- Very small code size.
- Very low RAM usage,configurable at compile time.
- ARP,SLIP,ICMP (ping) and TCP protocols.
- Includes a set of example applications: web server,webclient,e-mail sender (SMTP client),Telnet server,DNS hostnameresolver.
- Any number of concurrently active TCP connections,maxium amount configurable at compile time.
- Any number of passively listening (server) TCP connections,maximum amount configurable at compile time.
- Free for both commercial and non-commercial use.
- RFC compliant TCP and IP protocol implementations,includingflow control,fragment reassembly and retransmission time-outestimation.
http://ucip.sourceforge.net/
@H_502_0@uC/IP (pronounced mew-kip) is a project to develop a TCP/IP protocol stack for microcontrollers. The code is based on BSD code and therefore carries the BSD licence. We do not require that you contribute changes back to us but we would sure appreciate it.
Project Plan
|
Current Status
@H_502_0@The code was extracted from a working application which means that it works. It's too big but it's light on cpu load. The task synchronization needs to be more flexible. Documentation has been started. Bugs are getting fixed. 嵌入式Web服务器 @H_502_0@一)goaheadhttp://www.embed.com.cn/protocol/goahead/webserver.asp @H_502_0@http://www.goahead.com/products/webserver/ @H_502_0@ GoAhead WebServer采用开放源代码方式,任何人都可以下载、评估并修改代码,目的是为了使GoAhead WebServer成为市场上最领先的嵌入式Web服务器。
支持的平台 | 定制的平台 |
Windows NT/98/95 | ChorusOS |
Windows CE | pSOS |
Embedd Linux | uCOS |
Linux | IRIX |
VxWorks | HP-UX |
QNX | RTEMS |
Lynx |
@H_502_0@Overview
@H_502_0@
@H_502_0@Having a Web server in every device,is a prerequisite for device development
@H_502_0@GoAheadis committed to improving user experiences through the development anddistribution of 'smart' devices. In our view,smart starts withWeb-enabled and builds from there. Our goal in releasing GoAheadWebServer under an “open source license” and “non branded License”is to help put a Web server in every device,harness the pool oftalented developers,and enhance the reliability of GoAhead WebServerby leveraging the test and debugging efforts of thousands of companies.
@H_502_0@To foster this initiative,we are providing accessto our GoAhead WebServer source code through two license models. The“open source license” is provided at no charge. For customers who arenot able to comply with the GoAhead promotional and license-backrequirements of the “open source license”,we also offer a fee-basedlicense referred to as the “non-branded license”e. Our goal inreleasing the GoAhead WebServer source code is to initiate and fosteran environment enabling the development of the most widely usedembedded Web server on the planet.
@H_502_0@The GoAhead WebServer development community hascontributed greatly to the evolution of the source code of thisembedded Web server. Developers from all over the world havedownloaded,evaluated,and made improvements that have made GoAheadWebServer one of the top embedded Web servers on the market.
@H_502_0@Based on open standards,industry standards,GoAhead WebServer has no proprietary lock-ins. Many other embedded Webservers define proprietary tags to permit dynamic data to be insertedinto Web pages. These usually require proprietary tools to create thelinkage between the pages and the C code which supplies the data. TheGoAhead WebServer offers an open standards solution for creatingdynamic Web content with very efficient packaging. The memory footprintof the web server is approximately 60k.
嵌入式数据库
一)sqlite3
http://www.sqlite.org/
About sqlite
See Also... |