diff options
-rw-r--r-- | arch/arm/lpc17xx/Drivers/source/lpc17xx_can.c | 4 | ||||
-rw-r--r-- | arch/arm/lpc17xx/Drivers/source/lpc17xx_i2c.c | 4 | ||||
-rw-r--r-- | arch/arm/lpc17xx/Drivers/source/lpc17xx_i2s.c | 2 | ||||
-rw-r--r-- | arch/arm/lpc17xx/Drivers/source/lpc17xx_spi.c | 10 | ||||
-rw-r--r-- | arch/arm/lpc17xx/Drivers/source/lpc17xx_ssp.c | 8 | ||||
-rw-r--r-- | arch/arm/lpc17xx/Drivers/source/lpc17xx_timer.c | 2 | ||||
-rw-r--r-- | arch/arm/lpc17xx/Drivers/source/lpc17xx_uart.c | 6 | ||||
-rw-r--r-- | demo.c | 36 | ||||
-rw-r--r-- | os/src/close.c | 1 | ||||
-rw-r--r-- | os/src/free.c | 1 | ||||
-rw-r--r-- | os/src/lseek.c | 1 | ||||
-rw-r--r-- | os/src/sprintf.c | 2 | ||||
-rw-r--r-- | os/src/write.c | 1 | ||||
-rw-r--r-- | target-rules.mk | 2 |
14 files changed, 61 insertions, 19 deletions
diff --git a/arch/arm/lpc17xx/Drivers/source/lpc17xx_can.c b/arch/arm/lpc17xx/Drivers/source/lpc17xx_can.c index eef871f..18cdce2 100644 --- a/arch/arm/lpc17xx/Drivers/source/lpc17xx_can.c +++ b/arch/arm/lpc17xx/Drivers/source/lpc17xx_can.c @@ -73,9 +73,9 @@ static void can_SetBaudrate (LPC_CAN_TypeDef *CANx, uint32_t baudrate); static void can_SetBaudrate (LPC_CAN_TypeDef *CANx, uint32_t baudrate)
{
uint32_t result = 0;
- uint8_t NT, TSEG1, TSEG2;
+ uint8_t NT, TSEG1 = 0, TSEG2 = 0;
uint32_t CANPclk = 0;
- uint32_t BRP;
+ uint32_t BRP = 0;
CHECK_PARAM(PARAM_CANx(CANx));
if (CANx == LPC_CAN1)
diff --git a/arch/arm/lpc17xx/Drivers/source/lpc17xx_i2c.c b/arch/arm/lpc17xx/Drivers/source/lpc17xx_i2c.c index 9b54228..c130ce1 100644 --- a/arch/arm/lpc17xx/Drivers/source/lpc17xx_i2c.c +++ b/arch/arm/lpc17xx/Drivers/source/lpc17xx_i2c.c @@ -211,7 +211,7 @@ static uint32_t I2C_GetByte (LPC_I2C_TypeDef *I2Cx, uint8_t *retdat, Bool ack) ***********************************************************************/
static void I2C_SetClock (LPC_I2C_TypeDef *I2Cx, uint32_t target_clock)
{
- uint32_t temp;
+ uint32_t temp = 0;
CHECK_PARAM(PARAM_I2Cx(I2Cx));
@@ -985,7 +985,7 @@ Status I2C_SlaveTransferData(LPC_I2C_TypeDef *I2Cx, I2C_S_SETUP_Type *TransferCf {
uint8_t *txdat;
uint8_t *rxdat;
- uint32_t CodeStatus;
+ uint32_t CodeStatus = 0;
uint32_t timeout;
int32_t time_en;
int32_t tmp;
diff --git a/arch/arm/lpc17xx/Drivers/source/lpc17xx_i2s.c b/arch/arm/lpc17xx/Drivers/source/lpc17xx_i2s.c index e151edb..085e963 100644 --- a/arch/arm/lpc17xx/Drivers/source/lpc17xx_i2s.c +++ b/arch/arm/lpc17xx/Drivers/source/lpc17xx_i2s.c @@ -323,7 +323,7 @@ Status I2S_FreqConfig(LPC_I2S_TypeDef *I2Sx, uint32_t Freq, uint8_t TRMode) { uint32_t x, y;
uint16_t dif;
uint16_t error;
- uint8_t x_divide, y_divide;
+ uint8_t x_divide = 0, y_divide = 0;
uint16_t ErrorOptimal = 0xFFFF;
CHECK_PARAM(PARAM_I2Sx(I2Sx));
diff --git a/arch/arm/lpc17xx/Drivers/source/lpc17xx_spi.c b/arch/arm/lpc17xx/Drivers/source/lpc17xx_spi.c index 7643de7..77a0e51 100644 --- a/arch/arm/lpc17xx/Drivers/source/lpc17xx_spi.c +++ b/arch/arm/lpc17xx/Drivers/source/lpc17xx_spi.c @@ -215,11 +215,11 @@ uint16_t SPI_ReceiveData(LPC_SPI_TypeDef* SPIx) int32_t SPI_ReadWrite (LPC_SPI_TypeDef *SPIx, SPI_DATA_SETUP_Type *dataCfg, \
SPI_TRANSFER_Type xfType)
{
- uint8_t *rdata8;
- uint8_t *wdata8;
- uint16_t *rdata16;
- uint16_t *wdata16;
- uint32_t stat;
+ uint8_t *rdata8 = NULL;
+ uint8_t *wdata8 = NULL;
+ uint16_t *rdata16 = NULL;
+ uint16_t *wdata16 = NULL;
+ uint32_t stat = 0;
uint32_t temp;
uint8_t dataword;
diff --git a/arch/arm/lpc17xx/Drivers/source/lpc17xx_ssp.c b/arch/arm/lpc17xx/Drivers/source/lpc17xx_ssp.c index bbf03a6..7d6bb1d 100644 --- a/arch/arm/lpc17xx/Drivers/source/lpc17xx_ssp.c +++ b/arch/arm/lpc17xx/Drivers/source/lpc17xx_ssp.c @@ -339,10 +339,10 @@ uint16_t SSP_ReceiveData(LPC_SSP_TypeDef* SSPx) int32_t SSP_ReadWrite (LPC_SSP_TypeDef *SSPx, SSP_DATA_SETUP_Type *dataCfg, \
SSP_TRANSFER_Type xfType)
{
- uint8_t *rdata8;
- uint8_t *wdata8;
- uint16_t *rdata16;
- uint16_t *wdata16;
+ uint8_t *rdata8 = 0;
+ uint8_t *wdata8 = 0;
+ uint16_t *rdata16 = 0;
+ uint16_t *wdata16 = 0;
uint32_t stat;
uint32_t tmp;
int32_t dataword;
diff --git a/arch/arm/lpc17xx/Drivers/source/lpc17xx_timer.c b/arch/arm/lpc17xx/Drivers/source/lpc17xx_timer.c index 163cccd..8f8dc79 100644 --- a/arch/arm/lpc17xx/Drivers/source/lpc17xx_timer.c +++ b/arch/arm/lpc17xx/Drivers/source/lpc17xx_timer.c @@ -53,7 +53,7 @@ static uint32_t converPtrToTimeNum (LPC_TIM_TypeDef *TIMx); **********************************************************************/
static uint32_t getPClock (uint32_t timernum)
{
- uint32_t clkdlycnt;
+ uint32_t clkdlycnt = 0;
switch (timernum)
{
case 0:
diff --git a/arch/arm/lpc17xx/Drivers/source/lpc17xx_uart.c b/arch/arm/lpc17xx/Drivers/source/lpc17xx_uart.c index 5f4ee0c..da01cde 100644 --- a/arch/arm/lpc17xx/Drivers/source/lpc17xx_uart.c +++ b/arch/arm/lpc17xx/Drivers/source/lpc17xx_uart.c @@ -60,7 +60,7 @@ static Status uart_set_divisors(LPC_UART_TypeDef *UARTx, uint32_t baudrate) {
Status errorStatus = ERROR;
- uint32_t uClk;
+ uint32_t uClk = 0;
uint32_t calcBaudrate = 0;
uint32_t temp = 0;
@@ -668,7 +668,7 @@ void UART_ForceBreak(LPC_UART_TypeDef* UARTx) *********************************************************************/
void UART_IntConfig(LPC_UART_TypeDef *UARTx, UART_INT_Type UARTIntCfg, FunctionalState NewState)
{
- uint32_t tmp;
+ uint32_t tmp = 0;
CHECK_PARAM(PARAM_UARTx(UARTx));
CHECK_PARAM(PARAM_FUNCTIONALSTATE(NewState));
@@ -1158,7 +1158,7 @@ void UART_FullModemForcePinState(LPC_UART1_TypeDef *UARTx, UART_MODEM_PIN_Type P void UART_FullModemConfigMode(LPC_UART1_TypeDef *UARTx, UART_MODEM_MODE_Type Mode, \
FunctionalState NewState)
{
- uint8_t tmp;
+ uint8_t tmp = 0;
CHECK_PARAM(PARAM_UART1_MODEM(UARTx));
CHECK_PARAM(PARAM_UART1_MODEM_MODE(Mode));
@@ -1,6 +1,42 @@ #include <FreeRTOS.h> #include <task.h> +#include <debug_frmwrk.h> +#include <lpc17xx_gpio.h> + +#define LED1_wire 18 +#define LED2_wire 20 +#define LED3_wire 21 +#define LED4_wire 23 + +static void setupLEDs() { + GPIO_SetDir(1, (1 << LED1_wire) | (1 << LED2_wire) | (1 << LED3_wire) | (1 << LED4_wire), 1); +} + +void litLED(int led, int value) { + if ((led >= 4) || (led < 0)) + return; + + switch (led) { + case 1: led = LED1_wire; break; + case 2: led = LED2_wire; break; + case 3: led = LED3_wire; break; + case 4: led = LED4_wire; break; + } + + if (value) { + GPIO_SetValue(1, led); + } else { + GPIO_ClearValue(1, led); + } +} int main() { + debug_frmwrk_init(); + setupLEDs(); + litLED(1, 1); + litLED(2, 0); + litLED(3, 1); + litLED(4, 0); vTaskStartScheduler(); + return 0; } diff --git a/os/src/close.c b/os/src/close.c index 46ee8c5..ae0716f 100644 --- a/os/src/close.c +++ b/os/src/close.c @@ -1,4 +1,5 @@ #include <reent.h> int _close_r(struct _reent * reent, int fd) { + return 0; } diff --git a/os/src/free.c b/os/src/free.c index f2d1fe5..d80aff2 100644 --- a/os/src/free.c +++ b/os/src/free.c @@ -1,4 +1,5 @@ #include <reent.h> +#include <malloc.h> void free(void * ptr) { _free_r(_impure_ptr, ptr); diff --git a/os/src/lseek.c b/os/src/lseek.c index 1b86dbb..f132693 100644 --- a/os/src/lseek.c +++ b/os/src/lseek.c @@ -1,4 +1,5 @@ #include <reent.h> _off_t _lseek_r(struct _reent * reent, int fd, _off_t seek, int wheel) { + return 0; } diff --git a/os/src/sprintf.c b/os/src/sprintf.c index 76ea9a2..30d27b3 100644 --- a/os/src/sprintf.c +++ b/os/src/sprintf.c @@ -1,4 +1,5 @@ #include <reent.h> +#include <stdio.h> #include <stdarg.h> int sprintf(char * str, const char * fmt, ...) { @@ -7,4 +8,5 @@ int sprintf(char * str, const char * fmt, ...) { va_start(ap, fmt); r = _vsprintf_r(_impure_ptr, str, fmt, ap); va_end(ap); + return r; } diff --git a/os/src/write.c b/os/src/write.c index a1bf474..a54195f 100644 --- a/os/src/write.c +++ b/os/src/write.c @@ -1,4 +1,5 @@ #include <reent.h> _ssize_t _write_r(struct _reent * reent, int fd, const void * buf, size_t size) { + return 0; } diff --git a/target-rules.mk b/target-rules.mk index 1edcc7a..6a608f6 100644 --- a/target-rules.mk +++ b/target-rules.mk @@ -1,6 +1,6 @@ %.o: %.c $(E) "[TC] Compiling $<" - $(Q)$(TARGET_CC) $(addprefix -I, $(TARGET_INCLUDES)) $(TARGET_CPPFLAGS) -c -o $@ $< + $(Q)$(TARGET_CC) -ffunction-sections -Wall -Werror $(addprefix -I, $(TARGET_INCLUDES)) $(TARGET_CPPFLAGS) -c -o $@ $< %.o: %.s $(E) "[TS] Compiling $<" |