ChibiOS_2.3.4unstable

所属分类:处理器开发
开发工具:C/C++
文件大小:5326KB
下载次数:7
上传日期:2011-12-12 21:16:59
上 传 者superxxd
说明:  开源RTOS, 超级快任务切换,集成STM32F4XX驱动
(open-source RTOS,Super fast task switching, integrated STM32F4XX driver)

文件列表:
ChibiOS_2.3.4unstable (0, 2011-11-27)
ChibiOS_2.3.4unstable\boards (0, 2011-11-27)
ChibiOS_2.3.4unstable\boards\EA_LPCXPRESSO_BB_1114 (0, 2011-11-27)
ChibiOS_2.3.4unstable\boards\EA_LPCXPRESSO_BB_1114\board.c (2128, 2011-09-25)
ChibiOS_2.3.4unstable\boards\EA_LPCXPRESSO_BB_1114\board.h (2941, 2011-09-25)
ChibiOS_2.3.4unstable\boards\EA_LPCXPRESSO_BB_1114\board.mk (186, 2011-09-25)
ChibiOS_2.3.4unstable\boards\EA_LPCXPRESSO_BB_1343 (0, 2011-11-27)
ChibiOS_2.3.4unstable\boards\EA_LPCXPRESSO_BB_1343\board.c (2128, 2011-09-25)
ChibiOS_2.3.4unstable\boards\EA_LPCXPRESSO_BB_1343\board.h (2844, 2011-09-25)
ChibiOS_2.3.4unstable\boards\EA_LPCXPRESSO_BB_1343\board.mk (186, 2011-09-25)
ChibiOS_2.3.4unstable\boards\GENERIC_SPC563 (0, 2011-11-27)
ChibiOS_2.3.4unstable\boards\GENERIC_SPC563\board.c (1991, 2011-09-25)
ChibiOS_2.3.4unstable\boards\GENERIC_SPC563\board.h (1605, 2011-09-25)
ChibiOS_2.3.4unstable\boards\GENERIC_SPC563\board.mk (172, 2011-09-25)
ChibiOS_2.3.4unstable\boards\OLIMEX_AVR_CAN (0, 2011-11-27)
ChibiOS_2.3.4unstable\boards\OLIMEX_AVR_CAN\board.c (2543, 2011-10-15)
ChibiOS_2.3.4unstable\boards\OLIMEX_AVR_CAN\board.h (2588, 2011-10-10)
ChibiOS_2.3.4unstable\boards\OLIMEX_AVR_CAN\board.mk (172, 2011-09-25)
ChibiOS_2.3.4unstable\boards\OLIMEX_AVR_MT_128 (0, 2011-11-27)
ChibiOS_2.3.4unstable\boards\OLIMEX_AVR_MT_128\board.c (2593, 2011-10-15)
ChibiOS_2.3.4unstable\boards\OLIMEX_AVR_MT_128\board.h (3667, 2011-10-09)
ChibiOS_2.3.4unstable\boards\OLIMEX_AVR_MT_128\board.mk (178, 2011-09-25)
ChibiOS_2.3.4unstable\boards\OLIMEX_LPC_P2148 (0, 2011-11-27)
ChibiOS_2.3.4unstable\boards\OLIMEX_LPC_P2148\board.c (2304, 2011-09-25)
ChibiOS_2.3.4unstable\boards\OLIMEX_LPC_P2148\board.h (2904, 2011-09-25)
ChibiOS_2.3.4unstable\boards\OLIMEX_LPC_P2148\board.mk (186, 2011-10-08)
ChibiOS_2.3.4unstable\boards\OLIMEX_LPC_P2148\buzzer.c (3018, 2011-09-25)
ChibiOS_2.3.4unstable\boards\OLIMEX_LPC_P2148\buzzer.h (1135, 2011-09-25)
ChibiOS_2.3.4unstable\boards\OLIMEX_MSP430_P1611 (0, 2011-11-27)
ChibiOS_2.3.4unstable\boards\OLIMEX_MSP430_P1611\board.c (2390, 2011-09-25)
ChibiOS_2.3.4unstable\boards\OLIMEX_MSP430_P1611\board.h (2190, 2011-09-25)
ChibiOS_2.3.4unstable\boards\OLIMEX_MSP430_P1611\board.mk (182, 2011-09-25)
ChibiOS_2.3.4unstable\boards\OLIMEX_SAM7_EX256 (0, 2011-11-27)
ChibiOS_2.3.4unstable\boards\OLIMEX_SAM7_EX256\board.c (3590, 2011-09-25)
ChibiOS_2.3.4unstable\boards\OLIMEX_SAM7_EX256\board.h (3322, 2011-09-25)
ChibiOS_2.3.4unstable\boards\OLIMEX_SAM7_EX256\board.mk (178, 2011-09-25)
ChibiOS_2.3.4unstable\boards\OLIMEX_SAM7_P256 (0, 2011-11-27)
ChibiOS_2.3.4unstable\boards\OLIMEX_SAM7_P256\board.c (2915, 2011-09-25)
ChibiOS_2.3.4unstable\boards\OLIMEX_SAM7_P256\board.h (2455, 2011-09-25)
ChibiOS_2.3.4unstable\boards\OLIMEX_SAM7_P256\board.mk (176, 2011-09-25)
... ...

***************************************************************************** *** Files Organization *** ***************************************************************************** --{root} - ChibiOS/RT directory. +--readme.txt - This file. +--documentation.html - Shortcut to the web documentation page. +--todo.txt - Current plan (development/unstable versions only). +--license.txt - GPL license text. +--exception.txt - GPL exception text (stable releases only). +--boards/ - Board support files. +--demos/ - Demo projects. +--docs/ - Documentation. | +--html/ - Local HTML documentation (after rebuild). | +--reports/ - Test reports. | +--src/ - Documentation source files (required for rebuild). | +--rsc/ - Documentation resource files (required for rebuild). | +--Doxyfile - Doxygen project file (required for rebuild). | +--index.html - Local documentation access (after rebuild). +--ext/ - External libraries, not part of ChibiOS/RT. +--os/ - ChibiOS/RT files. | +--hal/ - Hardware Abstraction Layer. | | +--include/ - HAL high level headers. | | +--src/ - HAL high level source. | | +--platforms/ - HAL low level drivers implementations. | | | +--AT91SAM7/ - Drivers for AT91SAM7 platform. | | | +--AVR/ - Drivers for AVR platform. | | | +--LPC11xx/ - Drivers for LPC11xx platform. | | | +--LPC13xx/ - Drivers for LPC13xx platform. | | | +--LPC214x/ - Drivers for LPC214x platform. | | | +--MSP430/ - Drivers for MSP430 platform. | | | +--SPC56x/ - Drivers for SPC56x/MPC563xx platforms. | | | +--STM32/ - Drivers for STM32 platform. | | | +--STM8L/ - Drivers for STM8L platform. | | | +--STM8S/ - Drivers for STM8S platform. | | | +--Posix/ - Drivers for x86 Linux/OSX simulator platform. | | | +--Win32/ - Drivers for x86 Win32 simulator platform. | | +--templates/ - Driver template files. | | +--meta/ - Driver meta templates. | +--ports/ - Port files for the various architectures. | | +--GCC/ - Ports for the GCC compiler. | | | +--ARM/ - Port files for ARM7 and ARM9 architectures. | | | +--ARMCMx/ - Port files for ARMCMx architectures (ARMv6/7-M). | | | +--PPC/ - Port files for PowerPC architecture. | | | +--AVR/ - Port files for AVR architecture. | | | +--MSP430/ - Port files for MSP430 architecture. | | | +--SIMIA32/ - Port files for SIMIA32 simulator architecture. | | +--IAR/ - Ports for the IAR compiler. | | | +--ARMCMx/ - Port files for ARMCMx architectures (ARMv6/7-M). | | +--RVCT/ - Ports for the Keil RVCT compiler. | | | +--ARMCMx/ - Port files for ARMCMx architectures (ARMv6/7-M). | | +--cosmic/ - Ports for the Cosmic compiler. | | | +--STM8/ - Port files for STM8 architecture. | | +--RC/ - Ports for the Raisonance compiler. | | +--STM8/ - Port files for STM8 architecture. | +--kernel/ - Kernel portable files. | | +--include/ - Kernel headers. | | +--src/ - Kernel source. | | +--templates/ - Kernel port template files. | +--various/ - Various portable support files. +--test/ - Kernel test suite source code. | +--coverage/ - Code coverage project. +--testhal/ - HAL integration test demos. | +--LPC11xx/ - LPC11xx HAL test demos. | +--LPC13xx/ - LPC13xx HAL test demos. | +--STM32F1xx/ - STM32F1xx HAL test demos. | +--STM32L1xx/ - STM32L1xx HAL test demos. | +--STM8S/ - STM8S HAL test demos. +--tools - Various tools. +--eclipse - Eclipse enhancements. ***************************************************************************** *** Releases *** ***************************************************************************** *** 2.3.4 *** - FIX: Fixed Extra initialization in STM32 SPI driver (bug 3436127) (backported to 2.2.8). - FIX: Fixed DMA priority setting error in STM32 UART driver (bug 3436125) (backported to 2.2.8). - FIX: Fixed DMA priority setting error in STM32 SPI driver (bug 3436124) (backported to 2.2.8). - FIX: Fixed broken support for UART5 in STM32 serial driver (bug 3434094) (backported to 2.2.8). - FIX: Fixed broken TIM8 support in STM32 PWM driver (bug 3418620). - FIX: Fixed halconf.h file corrupted in some STM32 demos (bug 3418626). - NEW: Added an unified registers file for STM32: stm32.h. This file includes the appropriate vendor file then adds its own additional definitions. - NEW: Added demo for the ST STM32F4-Discovery kit. - NEW: STM32F4xx ADC driver implementation. - NEW: Added initialization of the NVIC VTOR register to all Cortex-Mx (v7M) ports. Also added a port option CORTEX_VTOR_INIT to enforce a different default value into the register. - NEW: Removed the warning about the "untested M4 platform", now it is tested and officially supported. - NEW: Reorganized the STM32F1xx hal_lld_xxx.h files in order to distribute the capability macros into the appropriate file (previously those were all in the common hal_lld.h). - NEW: Added HAL, Serial, ADC, EXT, GPT, ICU, PWM, SPI and UART support for the STM32F4xx sub-family. TODO: Add CAN and SDC, the drivers need to be ported and tested. - NEW: Added handling of USART6 to the STM32 serial driver. - NEW: Added USE_COPT setting to all makefiles, contributed by Mabl. - NEW: Added EXT driver implementation for AT91SAM7x, contributed by Florian. TODO: Test application missing. - NEW: Updated USB driver model and STM32 implementation and fixed several problems. - Changed the API to move buffer copy operations out of critical zones. - Added usbConnectBus() and usbDisconnectBus() functions. - Fixed problems with incorrect assertions. - NEW Updated the SERIAL_USB driver to match the new USB API, also fixed some problems. - Fixed incorrect use of input queues, the change required a change in input queues too. - NEW: Added a macro THD_STATE_NAMES to chthreads.h. This macro is an initializer for string arrays containing thread state names. - NEW: Added memory copy functionality to the STM32 DMA driver. - NEW: Implemented new makefile system for ARM GCC ports, now objects, listings and output files are generated into a "build" directory and not together with sources, also implemented a simplified output log mode. Now makefiles and load script files are requirements and trigger a rebuild if touched. - NEW: Updated AVR demos to use the new PAL driver. - NEW: Added Keil build files to the STM32L-Discovery demo. - CHANGE: Now the callback associated to input queues is invoked before reading each character. Previously it was invoked only before going to sleep into the THD_STATE_WTQUEUE state. - CHANGE: Moved the STM32 DMA helper drivers files under the sub-family specific directories because documentation issues. *** 2.3.3 *** - FIX: Fixed missing UART5 definition in STM32 HAL (bug 3411774)(backported to 2.2.8). - FIX: Fixed uninitialized variable in STM32 PWM and ICU drivers (bug 3413558). - FIX: Fixed wrong parameter passed to the DMA error hook in STM32 ADC driver, the DMA error hook has been removed entirely in the new ADC driver model (bug 3413214). - FIX: The function chThdExit() triggers an error on shell return when the system state checker is enabled (bug 3411207)(backported to 2.2.8). - FIX: Some ARMCMx makefiles refer the file rules.mk in the ARM7 port (bug 3411180)(backported to 2.2.8). - FIX: Fixed wrong check on CH_DBG_ENABLE_STACK_CHECK setting (bug 3387671) (backported to 2.2.7). - FIX: Fixed wrong APB1 frequency check (bug 3361039)(backported to 2.2.7). - FIX: Fixed missing state in shell demos (bug 3351556)(backported to 2.2.7). - FIX: Fixed race condition in Cortex-Mx ports (bug 3317500)(backported to 2.2.6). - FIX: Fixed wrong macro check in STM32 UART driver (bug 3311999)(backported to 2.2.6). - FIX: Fixed wrong macro definition in ARMv6-M architecture files (bug 3310084). - FIX: Fixed race condition in output queues (bug 3303908)(backported to 2.2.4). - FIX: Fixed CH_USE_HEAP and CH_USE_MALLOC_HEAP conflict (bug 3303841) (backported to 2.2.4). - FIX: Fixed timeout problem in the lwIP interface layer (bug 3302420) (backported to 2.2.4). - NEW: Added AVR implementation of the PAL driver contributed by Leszek. - NEW: STM32L ADC driver implementation. - NEW: Improved ADC driver model, now it is possible to handle error conditions during the conversion process. - NEW: STM32L1xx sub-family support, all STM32 drivers adapted and re-tested on the new platform except ADC that will need a specific implementation. - NEW: Added new API chThdExitS() in order to allow atomic operations on thread exit (backported to 2.2.8). - NEW: New EXT driver model and STM32 implementation. - NEW: New I2C driver model and STM32 implementation. (evaluate the option to change the API to a synchronous model) - NEW: New RTC driver model and STM32 implementation. (API and functionality review) - NEW: Improved MAC driver model, it now follows the same template of other drivers. TODO: uIP demo to be adapted. TODO: implement macStop() in AT91SAM7X implementation. - NEW: New RCC helper driver for STM32F1xx and STM32L1xx, it simplifies the use of the RCC resources and hides most differences found among the various STM32 sub-families. - NEW: New DMA helper driver for STM32, it simplifies the use of the DMA resources and hides most differences with the new enhanced DMA units found in the STM32F2xx sub-family. - NEW: Now an error is generated at compile time when trying to enable the options CH_DBG_ENABLE_STACK_CHECK on ports that do not support it. - NEW: Added a kernel-only Cortex-Mx demo as reference project for users not interested in the HAL but just want to use the ChibiOS/RT kernel. The demo is named ARMCM3-GENERIC-KERNEL and is defaulted to the STM32, in order to use it on other families or on the ARM Cortex-M0 just change the inclusion paths in the makefile. - NEW: Integrated new FatFs version 0.8b. - NEW: Added a new hook THREAD_CONTEXT_SWITCH_HOOK() that allows to insert code just before a context switch. For example this hook could be used in oder to implement advanced power management schemes. - NEW: Added a new debug option CH_DBG_SYSTEM_STATE_CHECK that ensures the correct API call protocol. If an API is invoked out of the correct context then the kernel panics with a debug message. - NEW: Added Eclipse ChibiOS/RT debugger plugin 1.0.5 under ./tools/eclipse. - NEW: The ARMCMx startup file (crt0.c) now is able to fill the stack areas with a filler (default behavior). This is required in order to easily assess the stack usage at runtime. - NEW: Added the new CMSIS 2.1 headers, now CMSIS resides into a shared location: ./os/ports/common/ARMCMx/CMSIS. Old CMSIS files have been removed from the various platforms. - NEW: Removed all the ch.ld files from the ARMCMx demos, now the makefiles point to common ld files under the various ports. Less duplication and easier maintenance. - NEW: Improved stack checking and reorganized memory map for the Cortex-Mx demos. Now stacks are allocated at the start of the RAM, an overflow of the exception stack now triggers an exception (it could go unnoticed before). The process stack is organized to be checked on context switch like other threads. Now all threads have an explicit stack boundary pointer. - NEW: Added debug plugin for Eclipse under ./tools/eclipse (backported to 2.2.7). - NEW: The debug macros chDbgCheck() and chDbgAssert() now can be externally redefined. The macro chDbgCheck() no more includes the line number in the description because incompatibility with the Cosmic compiler (backported to 2.2.7). - NEW: Added provisional support for STM32F2xx. Because of this some directories related to the STM32 have been renamed, your makefiles may require adjustments. - NEW: Added a custom rule to the various rules.mk files, now it is possible to add an user rule into the Makefiles. - NEW: Improvements to the trace buffer, now it stores a full thread pointer and event time, changed names to debug variables by adding the "dbg_" prefix (backported to 2.2.7). - NEW: Added a new functionality to the registry subsystem, now it is possible to associate a name to the threads using chRegSetThreadName. The main and idle threads have their name assigned by default (backported to 2.2.7). - NEW: Added TIM8 support to the STM32 GPT, ICU and PWM drivers. - NEW: Updated the STM32 header file to the latest version 3.5.0 and fixed it in order to correct several bugs related to the XL family. - NEW: Added a chprintf() function to ./os/various, it can print on any BaseChannel. - NEW: Improved the mini shell, enhanced info command, optimizations and removed the shellPrint() and shellPrintLine() functions, now it uses chprintf() for output. - NEW: lwIP 1.4.0 has been integrated, this new version does not require custom hooks into the Thread structure and is thus much lighter. - NEW: FatFs demo for the STM32F103ZG using the SDC driver. - NEW: Now the STM32 SDC driver supports unaligned buffers transparently. Optimized the driver for single block read and write operations. Optimized the driver state machine. - NEW: Finished the reorganization of the Cortex-Mx ports, now also the IAR and RVCT ports support the new Compact mode. - NEW: Added to the ARMv6-M sub-port an option to use the PendSV exception instead of NMI for preemption (backported to 2.2.5). - NEW: Reorganization of the Cortex-Mx ports in order to reduced code and comments duplication in the various headers (backported to 2.2.5). - NEW: Improved the ARMv7-M sub-port now there are two modes: Compact and Advanced. The advanced mode is equivalent to the previous versions, the compact mode is new and makes the kernel *much* smaller and generally faster but does not support fast interrupts (backported to 2.2.5). - NEW: Now the port layer exports info regarding the compiler and the port options. The info are printed into the test reports. Date and time also added. - CHANGE: Removed the option CH_USE_NESTED_LOCK, lwIP no more requires it and it would have conflicted with CH_DBG_SYSTEM_STATE_CHECK which is far more useful. - CHANGE: Renamed the scheduler functions chSchIsRescRequiredExI() to chSchIsPreemptionRequired(), chSchDoRescheduleI() to chSchDoReschedule(), chSysSwitchI() to chSysSwitch(). All those functions were special cases and not regular I-class APIs. - CHANGE: Renamed the macros IDLE_THREAD_STACK_SIZE and INT_REQUIRED_STACK to PORT_IDLE_THREAD_STACK_SIZE and PORT_INT_REQUIRED_STACK for consistency. - CHANGE: Removed the "old" Cortex-M3 port from the code, the current port has no drawbacks and the old port is now just a maintenance cost. - CHANGE: Removed the CH_CURRP_REGISTER_CACHE option, it is GCC-specific so it does not belong to the kernel options. The feature will be eventually reimplemented as a port-specific option. - CHANGE: chiQGetFullI() and chOQGetFullI() become macros. The queues subsystem has been optimized and is no more dependent on semaphores. Note that the queues callbacks invocation policy has been slightly changed, see the documentation (backported to 2.2.4). *** 2.3.2 *** - FIX: Fixed invalid BRR() macro in AVR serial driver (bug 3299306)(backported to 2.2.4). - FIX: Fixed missing IRQ vectors amicable names for STM32 XL devices (bug 32***889)(backported to 2.2.4). - FIX: Fixed wrong identifier in AVR serial driver (bug 3292084)(backported to 2.2.4). - FIX: Fixed wrong macro check for STM32 XL devices (bug 32918***)(backported to 2.2.4). - FIX: Fixed SPI driver restart in STM32 SPI driver implementation, also applied the same fix to the STM8S SPI driver (bug 3288758)(backported to 2.2.4). - FIX: Fixed missing state transition in ADC driver (bug 3288149)(backported to 2.2.4). - FIX: Fixed missing state transition in SPI driver (bug 3288112)(backported to 2.2.4). - FIX: Fixed spurious characters generated by Serial over USB driver (bug 3276379). - NEW: Added an option to the kernel to not spawn the Idle Thread from within chSysInit(), this way the application can spawn a custom idle thread or even use the main() thread as idle thread (backported to 2.2.4). - NEW: Added new SDC driver model, Secure Digital Card. - NEW: SDC driver implementation for STM32. - NEW: Updated the STM32 header file to the latest version 3.4.0, had to fix a bug regarding the STM32 XL sub-family. - NEW: New unified GCC startup file for Cortex-Mx processors, it is written in C instead of asm and supports constructors/destructors. Improved the Cortex-Mx linker scripts in all the GCC demos. - NEW: Now it is possible to share DMA channels in the STM32 HAL thanks to a centralized manager. Channels are allocated when the driver is started and released when it is stopped. - NEW: Added an STM32 C++ demo for the GNU compiler. - NEW: Added an STM32F103ZG demo for the STM3210E-EVAL evaluation board. - OPT: STM32 PWM driver implementation simplified. - CHANGE: Now pwmChangePeriod() does not implicitly disable the active PWM channels. - CHANGE: Renamed the chSemSetCounterI() function to chSemAddCounterI() and changed its behavior. - CHANGE: Modified the STM32 USB-CDC test demo to spawn a shell over the USB serial connection. *** 2.3.1 *** - FIX: Fixed insufficient idle thread stack in Cortex-M0-GCC port (bug 3226671) (backported to 2.2.3). - FIX: Fixed stack checking in Cortex-M0-GCC port (bug 3226657)(backported to 2.2.3). - FIX: Fixed wrong checks in PAL driver (bug 3224681)(backported to 2.2.3). - FIX: Fixed wrong checks in I/O Queues (bug 3219197)(backported to 2.2.3). - FIX: Fixed invalid assertion in adcConvert() (bug 3205410)(backported to 2.2.3). - NEW: Improvements to the PWM driver model: - Easier configuration similar to the GPT driver initializations, macros are no more required. - Added a new function that allows to change the PWM period on the fly, even from within callbacks. Formerly it was required to stop and restart the driver. - Improved driver documentation. - NEW: Added advanced mode to the STM32 PWM driver (TIM1 only). - NEW: Added new ICU driver model, Input Capture Unit. - NEW: ICU driver implementation for STM32. - NEW: Implemented stack checking in the Cortex-Mx RVCT port (backported to 2.2.3). - NEW: Added support for PLL3 in STM32 HAL driver. Note, the format of the mcuconf.h file is changed for STM32F105/STM32F107 devices. - NEW: Added board files for the Olimex STM32-P107. - NEW: Improved setup packets handling in the USB driver through a specific callback. - NEW: Improvements to the PAL driver and various implementation in order to make them more parenthesis friendly. - OP ... ...

近期下载者

相关文件


收藏者