git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1083 35acf78f-673a-0410-8e92-d51de3d6d3f4

master
gdisirio 2009-08-20 08:26:28 +00:00
parent 45a6b7dc5a
commit 24fc474ac6
7 changed files with 49 additions and 71 deletions

View File

@ -112,7 +112,7 @@ void hwinit1(void) {
/* /*
* Other subsystems initialization. * Other subsystems initialization.
*/ */
sd_lld_init(); sdInit();
/* /*
* ChibiOS/RT initialization. * ChibiOS/RT initialization.

View File

@ -68,7 +68,15 @@ static const struct SerialDriverVMT vmt = {
}; };
/** /**
* @brief Initializes a generic full duplex driver. * @brief Serial Driver initialization.
*/
void sdInit(void) {
sd_lld_init();
}
/**
* @brief Initializes a generic full duplex driver object.
* @details The HW dependent part of the initialization has to be performed * @details The HW dependent part of the initialization has to be performed
* outside, usually in the hardware initialization code. * outside, usually in the hardware initialization code.
* *
@ -84,7 +92,7 @@ static const struct SerialDriverVMT vmt = {
* some data is written in the Queue. The value can be * some data is written in the Queue. The value can be
* @p NULL. * @p NULL.
*/ */
void sdInit(SerialDriver *sdp, qnotify_t inotify, qnotify_t onotify) { void sdObjectInit(SerialDriver *sdp, qnotify_t inotify, qnotify_t onotify) {
sdp->vmt = &vmt; sdp->vmt = &vmt;
chEvtInit(&sdp->d1.ievent); chEvtInit(&sdp->d1.ievent);

View File

@ -99,7 +99,8 @@ struct _SerialDriver {
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
void sdInit(SerialDriver *sdp, qnotify_t inotify, qnotify_t onotify); void sdInit(void);
void sdObjectInit(SerialDriver *sdp, qnotify_t inotify, qnotify_t onotify);
void sdStart(SerialDriver *sdp, const SerialDriverConfig *config); void sdStart(SerialDriver *sdp, const SerialDriverConfig *config);
void sdStop(SerialDriver *sdp); void sdStop(SerialDriver *sdp);
void sdIncomingDataI(SerialDriver *sdp, uint8_t b); void sdIncomingDataI(SerialDriver *sdp, uint8_t b);

30
os/io/templates/pal_lld.c Normal file
View File

@ -0,0 +1,30 @@
/*
ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
This file is part of ChibiOS/RT.
ChibiOS/RT is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
ChibiOS/RT is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @file os/io/templates/pal_lld.c
* @brief PAL subsystem low level driver template
* @addtogroup PAL_LLD
* @{
*/
#include <ch.h>
#include <pal.h>
/** @} */

View File

@ -18,8 +18,8 @@
*/ */
/** /**
* @file src/templates/pal_lld.h * @file os/io/templates/pal_lld.h
* @brief PAL subsystem low level driver template * @brief PAL subsystem low level driver header template
* @addtogroup PAL_LLD * @addtogroup PAL_LLD
* @{ * @{
*/ */
@ -91,7 +91,7 @@ typedef uint32_t ioportid_t;
/*===========================================================================*/ /*===========================================================================*/
/* Implementation, some of the following macros could be implemented as */ /* Implementation, some of the following macros could be implemented as */
/* functions, if so please put them in a file named pal_lld.c. */ /* functions, if so please put them in pal_lld.c. */
/*===========================================================================*/ /*===========================================================================*/
/** /**

View File

@ -212,17 +212,17 @@ CH_IRQ_HANDLER(VectorDC) {
void sd_lld_init(void) { void sd_lld_init(void) {
#if USE_STM32_USART1 #if USE_STM32_USART1
sdInit(&COM1, NULL, notify1); sdObjectInit(&COM1, NULL, notify1);
GPIOA->CRH = (GPIOA->CRH & 0xFFFFF00F) | 0x000004B0; GPIOA->CRH = (GPIOA->CRH & 0xFFFFF00F) | 0x000004B0;
#endif #endif
#if USE_STM32_USART2 #if USE_STM32_USART2
sdInit(&COM2, NULL, notify2); sdObjectInit(&COM2, NULL, notify2);
GPIOA->CRL = (GPIOA->CRL & 0xFFFF00FF) | 0x00004B00; GPIOA->CRL = (GPIOA->CRL & 0xFFFF00FF) | 0x00004B00;
#endif #endif
#if USE_STM32_USART3 #if USE_STM32_USART3
sdInit(&COM3, NULL, notify3); sdObjectInit(&COM3, NULL, notify3);
GPIOB->CRH = (GPIOB->CRH & 0xFFFF00FF) | 0x00004B00; GPIOB->CRH = (GPIOB->CRH & 0xFFFF00FF) | 0x00004B00;
#endif #endif
} }

View File

@ -1,64 +1,3 @@
*****************************************************************************
*** Directories structure ***
*****************************************************************************
./readme.txt - This file.
./license.txt - GPL3 license file.
./src/ - ChibiOS/RT portable kernel source files.
./src/include/ - ChibiOS/RT include files.
./src/lib/ - ChibiOS/RT library code that can be included into
user applications but is not part of the core system.
The code in this directory is meant to be portable,
generic and architecture independent.
./src/templates/ - ChibiOS/RT non portable source templates, new ports
are started by copying the templates into a new
directory under ./demos/ and/or ./ports/.
./ports/ - Architecture specific portable files.
./demos/ - Demo programs for specific architectures/boards.
./ext/ - External libraries or other code not part of
ChibiOS/RT but used in the demo applications.
./test/ - Test suite code.
./test/coverage - Code coverage test application.
./docs/src - Documentation sources.
./docs/rsc - Documentation resources.
./docs/Doxyfile - Doxygen project file.
./docs/index.html - ChibiOS/RT documentation.
The documentation is also available on the project
web page: http://chibios.sourceforge.net/
./docs/reports - Test reports on the various targets.
*****************************************************************************
*** Current ports/demos ***
*****************************************************************************
Current ports under ./demos:
ARM7-LPC214x-GCC - ChibiOS/RT port for ARM7 LPC2148, the demo targets
the Olimex LPC-P2148 board. This port can be easily
modified for any processor into the LPC2000 family or
other boards. The demo can be compiled using YAGARTO
or any other GCC-based ARM toolchain. Full demo.
ARM7-LPC214x-GCC-min - Minimal demo for LPC214X.
ARM7-LPC214x-G++ - Yet another LPC214X demo but this one is done using
G++ in order to provide a C++ template project to the
ChibiOS/RT users.
ARM7-AT91SAM7X-GCC - Port for Atmel AT91SAM7X256. The demo program targets
the Olimex SAM7-EX256 board.
ARM7-AT91SAM7X-WEB-GCC - Port for Atmel AT91SAM7X256. The web demo program
targets the Olimex SAM7-EX256 board.
ARMCM3-ST32F103-GCC - ARM Cortex-M3 port. The demo targets the Olimex
STM32-P103 board.
AVR-AVRmega128-GCC - Port on AVRmega128. A special thanks to Vladimir for
the work done on the AVR port. The demo program
targets the Olimex AVR-MT-128 mini terminal board.
AVR-AT90CANx-GCC - Port on AVR AT90CAN128, not tested on hardware yet. It
ran correctly in the simulator.
MSP430-MSP430x1611-GCC - Port on Texas Instruments MSP430F1611, the demo
targets the Olimex MSP430-P1611 board.
Win32-MinGW - ChibiOS/RT simulator and demo into a WIN32 process,
MinGW version.
GNU-Linux-GCC - ChibiOS/RT simulator for x86 Linux systems, it is
still work in progress but already running.
***************************************************************************** *****************************************************************************
*** Releases *** *** Releases ***
***************************************************************************** *****************************************************************************