Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
87ca3d1521
@ -41,7 +41,7 @@
|
|||||||
* are provided by common STM32 logic. To use this common SPI logic on your
|
* are provided by common STM32 logic. To use this common SPI logic on your
|
||||||
* board:
|
* board:
|
||||||
*
|
*
|
||||||
* 1. Provide logic in stm32l4_boardinitialize() to configure SPI chip select
|
* 1. Provide logic in stm32l4_board_initialize() to configure SPI chip select
|
||||||
* pins.
|
* pins.
|
||||||
* 2. Provide stm32l4_spi1/2/3select() and stm32l4_spi1/2/3status() functions in your
|
* 2. Provide stm32l4_spi1/2/3select() and stm32l4_spi1/2/3status() functions in your
|
||||||
* board-specific logic. These functions will perform chip selection and
|
* board-specific logic. These functions will perform chip selection and
|
||||||
|
@ -97,7 +97,7 @@ FAR struct spi_dev_s *stm32l4_spibus_initialize(int bus);
|
|||||||
* (including stm32l4_spibus_initialize()) are provided by common STM32 logic. To use this
|
* (including stm32l4_spibus_initialize()) are provided by common STM32 logic. To use this
|
||||||
* common SPI logic on your board:
|
* common SPI logic on your board:
|
||||||
*
|
*
|
||||||
* 1. Provide logic in stm32l4_boardinitialize() to configure SPI chip select
|
* 1. Provide logic in stm32l4_board_initialize() to configure SPI chip select
|
||||||
* pins.
|
* pins.
|
||||||
* 2. Provide stm32l4_spi1/2/...select() and stm32l4_spi1/2/...status() functions in your
|
* 2. Provide stm32l4_spi1/2/...select() and stm32l4_spi1/2/...status() functions in your
|
||||||
* board-specific logic. These functions will perform chip selection and
|
* board-specific logic. These functions will perform chip selection and
|
||||||
|
@ -53,6 +53,7 @@
|
|||||||
#include "stm32l4.h"
|
#include "stm32l4.h"
|
||||||
#include "stm32l4_gpio.h"
|
#include "stm32l4_gpio.h"
|
||||||
#include "stm32l4_userspace.h"
|
#include "stm32l4_userspace.h"
|
||||||
|
#include "stm32l4_start.h"
|
||||||
|
|
||||||
#ifdef CONFIG_ARCH_FPU
|
#ifdef CONFIG_ARCH_FPU
|
||||||
# include "nvic.h"
|
# include "nvic.h"
|
||||||
@ -358,7 +359,7 @@ void __start(void)
|
|||||||
|
|
||||||
/* Initialize onboard resources */
|
/* Initialize onboard resources */
|
||||||
|
|
||||||
stm32l4_boardinitialize();
|
stm32l4_board_initialize();
|
||||||
showprogress('F');
|
showprogress('F');
|
||||||
|
|
||||||
/* Then start NuttX */
|
/* Then start NuttX */
|
||||||
|
59
arch/arm/src/stm32l4/stm32l4_start.h
Normal file
59
arch/arm/src/stm32l4/stm32l4_start.h
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/************************************************************************************
|
||||||
|
* arch/arm/src/stm32l4/stm32l4_start.h
|
||||||
|
*
|
||||||
|
* Copyrigth (C) 2017 Gregory Nutt. All rights reserved.
|
||||||
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
* used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __ARCH_ARM_SRC_STM32L4_STM32L4_START_H
|
||||||
|
#define __ARCH_ARM_SRC_STM32L4_STM32L4_START_H
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Included Files
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Public Function Prototypes
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Name: stm32l4_board_initialize
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* All STM32L4 architectures must provide the following entry point. This entry
|
||||||
|
* point is called early in the initialization -- after all memory has been
|
||||||
|
* configured and mapped but before any devices have been initialized.
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
void stm32l4_board_initialize(void);
|
||||||
|
|
||||||
|
#endif /* __ARCH_ARM_SRC_STM32L4_STM32L4_START_H */
|
@ -249,7 +249,7 @@ board/libboard$(LIBEXT):
|
|||||||
# Change the names of most symbols that conflict with libc symbols.
|
# Change the names of most symbols that conflict with libc symbols.
|
||||||
|
|
||||||
GNU:
|
GNU:
|
||||||
$(Q) mkdir ./GNU
|
$(Q) mkdir -p ./GNU
|
||||||
|
|
||||||
GNU/Linux-names.dat: GNU nuttx-names.dat
|
GNU/Linux-names.dat: GNU nuttx-names.dat
|
||||||
$(Q) cp nuttx-names.dat $@
|
$(Q) cp nuttx-names.dat $@
|
||||||
|
@ -43,6 +43,7 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <sched.h>
|
#include <sched.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
|
||||||
#include <nuttx/fs/fs.h>
|
#include <nuttx/fs/fs.h>
|
||||||
|
|
||||||
@ -97,12 +98,13 @@ static ssize_t devconsole_read(struct file *filep, char *buffer, size_t len)
|
|||||||
* on the first read.
|
* on the first read.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ch = simuart_getc();
|
ch = simuart_getc(!(filep->f_oflags & O_NONBLOCK));
|
||||||
if (ch < 0)
|
if (ch < 0)
|
||||||
{
|
{
|
||||||
set_errno(EIO);
|
/* errno is set in upper layer according to returned value */
|
||||||
|
|
||||||
sched_unlock();
|
sched_unlock();
|
||||||
return ERROR;
|
return ch;
|
||||||
}
|
}
|
||||||
|
|
||||||
*buffer++ = ch;
|
*buffer++ = ch;
|
||||||
|
@ -262,7 +262,7 @@ void up_registerblockdevice(void);
|
|||||||
|
|
||||||
void simuart_start(void);
|
void simuart_start(void);
|
||||||
int simuart_putc(int ch);
|
int simuart_putc(int ch);
|
||||||
int simuart_getc(void);
|
int simuart_getc(bool block);
|
||||||
bool simuart_checkc(void);
|
bool simuart_checkc(void);
|
||||||
void simuart_terminate(void);
|
void simuart_terminate(void);
|
||||||
|
|
||||||
|
@ -171,6 +171,12 @@ void netdriver_loop(void)
|
|||||||
{
|
{
|
||||||
FAR struct eth_hdr_s *eth;
|
FAR struct eth_hdr_s *eth;
|
||||||
|
|
||||||
|
/* Check for new frames. If so, then poll the network for new XMIT data */
|
||||||
|
|
||||||
|
net_lock();
|
||||||
|
(void)devif_poll(&g_sim_dev, sim_txpoll);
|
||||||
|
net_unlock();
|
||||||
|
|
||||||
/* netdev_read will return 0 on a timeout event and >0 on a data received event */
|
/* netdev_read will return 0 on a timeout event and >0 on a data received event */
|
||||||
|
|
||||||
g_sim_dev.d_len = netdev_read((FAR unsigned char *)g_sim_dev.d_buf,
|
g_sim_dev.d_len = netdev_read((FAR unsigned char *)g_sim_dev.d_buf,
|
||||||
|
@ -42,6 +42,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
@ -268,7 +269,7 @@ int simuart_putc(int ch)
|
|||||||
* Name: simuart_getc
|
* Name: simuart_getc
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
int simuart_getc(void)
|
int simuart_getc(bool block)
|
||||||
{
|
{
|
||||||
int index;
|
int index;
|
||||||
int ch;
|
int ch;
|
||||||
@ -282,6 +283,12 @@ int simuart_getc(void)
|
|||||||
{
|
{
|
||||||
/* Wait for a byte to become available */
|
/* Wait for a byte to become available */
|
||||||
|
|
||||||
|
if (!block && (g_uarthead == g_uarttail))
|
||||||
|
{
|
||||||
|
sched_unlock();
|
||||||
|
return -EAGAIN;
|
||||||
|
}
|
||||||
|
|
||||||
while (g_uarthead == g_uarttail)
|
while (g_uarthead == g_uarttail)
|
||||||
{
|
{
|
||||||
simuart_wait();
|
simuart_wait();
|
||||||
|
@ -43,6 +43,7 @@
|
|||||||
#include <arch/board/board.h>
|
#include <arch/board/board.h>
|
||||||
|
|
||||||
#include "up_arch.h"
|
#include "up_arch.h"
|
||||||
|
#include "stm32l4_start.h"
|
||||||
#include "b-l475e-iot01a.h"
|
#include "b-l475e-iot01a.h"
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
@ -50,16 +51,16 @@
|
|||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Name: stm32_boardinitialize
|
* Name: stm32l4_board_initialize
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* All STM32 architectures must provide the following entry point. This entry point
|
* All STM32L4 architectures must provide the following entry point. This entry
|
||||||
* is called early in the initialization -- after all memory has been configured
|
* point is called early in the initialization -- after all memory has been
|
||||||
* and mapped but before any devices have been initialized.
|
* configured and mapped but before any devices have been initialized.
|
||||||
*
|
*
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
void stm32l4_boardinitialize(void)
|
void stm32l4_board_initialize(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
/* Configure on-board LEDs if LED support has been selected. */
|
/* Configure on-board LEDs if LED support has been selected. */
|
||||||
|
@ -243,7 +243,7 @@ extern "C"
|
|||||||
* Public Function Prototypes
|
* Public Function Prototypes
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Name: stm32l4_boardinitialize
|
* Name: stm32l4_board_initialize
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* All STM32L4 architectures must provide the following entry point. This entry point
|
* All STM32L4 architectures must provide the following entry point. This entry point
|
||||||
@ -252,7 +252,7 @@ extern "C"
|
|||||||
*
|
*
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
void stm32l4_boardinitialize(void);
|
void stm32l4_board_initialize(void);
|
||||||
|
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
|
@ -64,7 +64,7 @@
|
|||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Name: stm32l4_boardinitialize
|
* Name: stm32l4_board_initialize
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* All STM32L4 architectures must provide the following entry point. This entry point
|
* All STM32L4 architectures must provide the following entry point. This entry point
|
||||||
@ -73,7 +73,7 @@
|
|||||||
*
|
*
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
void stm32l4_boardinitialize(void)
|
void stm32l4_board_initialize(void)
|
||||||
{
|
{
|
||||||
/* Configure on-board LEDs if LED support has been selected. */
|
/* Configure on-board LEDs if LED support has been selected. */
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@ void stm32l4_spiinitialize(void)
|
|||||||
* are provided by common STM32 logic. To use this common SPI logic on your
|
* are provided by common STM32 logic. To use this common SPI logic on your
|
||||||
* board:
|
* board:
|
||||||
*
|
*
|
||||||
* 1. Provide logic in stm32l4_boardinitialize() to configure SPI chip select
|
* 1. Provide logic in stm32l4_board_initialize() to configure SPI chip select
|
||||||
* pins.
|
* pins.
|
||||||
* 2. Provide stm32l4_spi1/2select() and stm32l4_spi1/2status() functions in your
|
* 2. Provide stm32l4_spi1/2select() and stm32l4_spi1/2status() functions in your
|
||||||
* board-specific logic. These functions will perform chip selection and
|
* board-specific logic. These functions will perform chip selection and
|
||||||
|
@ -252,7 +252,7 @@ extern "C"
|
|||||||
* Public Function Prototypes
|
* Public Function Prototypes
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Name: stm32l4_boardinitialize
|
* Name: stm32l4_board_initialize
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* All STM32L4 architectures must provide the following entry point. This entry point
|
* All STM32L4 architectures must provide the following entry point. This entry point
|
||||||
@ -261,7 +261,7 @@ extern "C"
|
|||||||
*
|
*
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
void stm32l4_boardinitialize(void);
|
void stm32l4_board_initialize(void);
|
||||||
|
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Name: stm32l4_boardinitialize
|
* Name: stm32l4_board_initialize
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* All STM32 architectures must provide the following entry point. This entry point
|
* All STM32 architectures must provide the following entry point. This entry point
|
||||||
@ -62,7 +62,7 @@
|
|||||||
*
|
*
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
void stm32l4_boardinitialize(void)
|
void stm32l4_board_initialize(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
/* Configure on-board LEDs if LED support has been selected. */
|
/* Configure on-board LEDs if LED support has been selected. */
|
||||||
|
@ -117,7 +117,7 @@ void weak_function stm32l4_spiinitialize(void)
|
|||||||
* are provided by common STM32 logic. To use this common SPI logic on your
|
* are provided by common STM32 logic. To use this common SPI logic on your
|
||||||
* board:
|
* board:
|
||||||
*
|
*
|
||||||
* 1. Provide logic in stm32l4_boardinitialize() to configure SPI chip select
|
* 1. Provide logic in stm32l4_board_initialize() to configure SPI chip select
|
||||||
* pins.
|
* pins.
|
||||||
* 2. Provide stm32l4_spi1/2/3select() and stm32l4_spi1/2/3status() functions in your
|
* 2. Provide stm32l4_spi1/2/3select() and stm32l4_spi1/2/3status() functions in your
|
||||||
* board-specific logic. These functions will perform chip selection and
|
* board-specific logic. These functions will perform chip selection and
|
||||||
|
@ -249,7 +249,7 @@ extern "C"
|
|||||||
* Public Function Prototypes
|
* Public Function Prototypes
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Name: stm32l4_boardinitialize
|
* Name: stm32l4_board_initialize
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* All STM32L4 architectures must provide the following entry point. This entry point
|
* All STM32L4 architectures must provide the following entry point. This entry point
|
||||||
@ -258,7 +258,7 @@ extern "C"
|
|||||||
*
|
*
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
void stm32l4_boardinitialize(void);
|
void stm32l4_board_initialize(void);
|
||||||
|
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
|
@ -64,7 +64,7 @@
|
|||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Name: stm32l4_boardinitialize
|
* Name: stm32l4_board_initialize
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* All STM32L4 architectures must provide the following entry point. This entry point
|
* All STM32L4 architectures must provide the following entry point. This entry point
|
||||||
@ -73,7 +73,7 @@
|
|||||||
*
|
*
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
void stm32l4_boardinitialize(void)
|
void stm32l4_board_initialize(void)
|
||||||
{
|
{
|
||||||
/* Configure on-board LEDs if LED support has been selected. */
|
/* Configure on-board LEDs if LED support has been selected. */
|
||||||
|
|
||||||
|
@ -126,7 +126,7 @@ void weak_function stm32l4_spiinitialize(void)
|
|||||||
* are provided by common STM32 logic. To use this common SPI logic on your
|
* are provided by common STM32 logic. To use this common SPI logic on your
|
||||||
* board:
|
* board:
|
||||||
*
|
*
|
||||||
* 1. Provide logic in stm32l4_boardinitialize() to configure SPI chip select
|
* 1. Provide logic in stm32l4_board_initialize() to configure SPI chip select
|
||||||
* pins.
|
* pins.
|
||||||
* 2. Provide stm32l4_spi1/2/3select() and stm32l4_spi1/2/3status() functions in your
|
* 2. Provide stm32l4_spi1/2/3select() and stm32l4_spi1/2/3status() functions in your
|
||||||
* board-specific logic. These functions will perform chip selection and
|
* board-specific logic. These functions will perform chip selection and
|
||||||
|
@ -438,7 +438,7 @@ extern "C"
|
|||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Name: stm32l4_boardinitialize
|
* Name: stm32l4_board_initialize
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* All STM32 architectures must provide the following entry point. This entry point
|
* All STM32 architectures must provide the following entry point. This entry point
|
||||||
@ -447,7 +447,7 @@ extern "C"
|
|||||||
*
|
*
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
void stm32l4_boardinitialize(void);
|
void stm32l4_board_initialize(void);
|
||||||
|
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Name: stm32l4_boardinitialize
|
* Name: stm32l4_board_initialize
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* All STM32 architectures must provide the following entry point. This entry point
|
* All STM32 architectures must provide the following entry point. This entry point
|
||||||
@ -62,7 +62,7 @@
|
|||||||
*
|
*
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
void stm32l4_boardinitialize(void)
|
void stm32l4_board_initialize(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
/* Configure on-board LEDs if LED support has been selected. */
|
/* Configure on-board LEDs if LED support has been selected. */
|
||||||
|
@ -135,7 +135,7 @@ extern "C"
|
|||||||
* Public Function Prototypes
|
* Public Function Prototypes
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Name: stm32l4_boardinitialize
|
* Name: stm32l4_board_initialize
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* All STM32L4 architectures must provide the following entry point. This entry
|
* All STM32L4 architectures must provide the following entry point. This entry
|
||||||
@ -144,7 +144,7 @@ extern "C"
|
|||||||
*
|
*
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
void stm32l4_boardinitialize(void);
|
void stm32l4_board_initialize(void);
|
||||||
|
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Name: stm32l4_boardinitialize
|
* Name: stm32l4_board_initialize
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* All STM32L4 architectures must provide the following entry point. This entry point
|
* All STM32L4 architectures must provide the following entry point. This entry point
|
||||||
@ -65,7 +65,7 @@
|
|||||||
*
|
*
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
void stm32l4_boardinitialize(void)
|
void stm32l4_board_initialize(void)
|
||||||
{
|
{
|
||||||
/* Configure on-board LEDs if LED support has been selected. */
|
/* Configure on-board LEDs if LED support has been selected. */
|
||||||
|
|
||||||
|
@ -293,7 +293,7 @@ extern "C"
|
|||||||
* Public Function Prototypes
|
* Public Function Prototypes
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Name: stm32l4_boardinitialize
|
* Name: stm32l4_board_initialize
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* All STM32L4 architectures must provide the following entry point. This entry point
|
* All STM32L4 architectures must provide the following entry point. This entry point
|
||||||
@ -302,7 +302,7 @@ extern "C"
|
|||||||
*
|
*
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
void stm32l4_boardinitialize(void);
|
void stm32l4_board_initialize(void);
|
||||||
|
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Name: stm32l4_boardinitialize
|
* Name: stm32l4_board_initialize
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* All STM32L4 architectures must provide the following entry point. This entry point
|
* All STM32L4 architectures must provide the following entry point. This entry point
|
||||||
@ -65,7 +65,7 @@
|
|||||||
*
|
*
|
||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
|
|
||||||
void stm32l4_boardinitialize(void)
|
void stm32l4_board_initialize(void)
|
||||||
{
|
{
|
||||||
/* Configure on-board LEDs if LED support has been selected. */
|
/* Configure on-board LEDs if LED support has been selected. */
|
||||||
|
|
||||||
|
@ -238,17 +238,27 @@ static ssize_t adc_read(FAR struct file *filep, FAR char *buffer, size_t buflen)
|
|||||||
ainfo("buflen: %d\n", (int)buflen);
|
ainfo("buflen: %d\n", (int)buflen);
|
||||||
|
|
||||||
if (buflen % 5 == 0)
|
if (buflen % 5 == 0)
|
||||||
msglen = 5;
|
{
|
||||||
|
msglen = 5;
|
||||||
|
}
|
||||||
else if (buflen % 4 == 0)
|
else if (buflen % 4 == 0)
|
||||||
msglen = 4;
|
{
|
||||||
|
msglen = 4;
|
||||||
else if (buflen % 3 == 0)
|
else if (buflen % 3 == 0)
|
||||||
msglen = 3;
|
{
|
||||||
|
msglen = 3;
|
||||||
|
}
|
||||||
else if (buflen % 2 == 0)
|
else if (buflen % 2 == 0)
|
||||||
msglen = 2;
|
{
|
||||||
|
msglen = 2;
|
||||||
|
}
|
||||||
else if (buflen == 1)
|
else if (buflen == 1)
|
||||||
msglen = 1;
|
{
|
||||||
|
msglen = 1;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
msglen = 5;
|
{
|
||||||
|
msglen = 5;
|
||||||
|
|
||||||
if (buflen >= msglen)
|
if (buflen >= msglen)
|
||||||
{
|
{
|
||||||
@ -336,6 +346,7 @@ static ssize_t adc_read(FAR struct file *filep, FAR char *buffer, size_t buflen)
|
|||||||
*(int32_t *)&buffer[nread + 1] = msg->am_data;
|
*(int32_t *)&buffer[nread + 1] = msg->am_data;
|
||||||
buffer[nread] = msg->am_channel;
|
buffer[nread] = msg->am_channel;
|
||||||
}
|
}
|
||||||
|
|
||||||
nread += msglen;
|
nread += msglen;
|
||||||
|
|
||||||
/* Increment the head of the circular message buffer */
|
/* Increment the head of the circular message buffer */
|
||||||
|
@ -198,6 +198,7 @@ int epoll_wait(int epfd, FAR struct epoll_event *evs, int maxevents,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
FAR struct epoll_head *eph = (FAR struct epoll_head *)((intptr_t)epfd);
|
FAR struct epoll_head *eph = (FAR struct epoll_head *)((intptr_t)epfd);
|
||||||
|
int counter;
|
||||||
int rc;
|
int rc;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -219,13 +220,19 @@ int epoll_wait(int epfd, FAR struct epoll_event *evs, int maxevents,
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < rc; i++)
|
/* Iterate over non NULL event fds */
|
||||||
|
|
||||||
|
for (i = 0, counter = 0; i < rc && counter < eph->size; counter++)
|
||||||
{
|
{
|
||||||
evs[i].data.fd = (pollevent_t)eph->evs[i].data.fd;
|
if (eph->evs[counter].revents != 0)
|
||||||
evs[i].events = (pollevent_t)eph->evs[i].revents;
|
{
|
||||||
|
evs[i].data.fd = eph->evs[counter].data.fd;
|
||||||
|
evs[i].events = eph->evs[counter].revents;
|
||||||
|
i += 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return rc;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_DISABLE_POLL */
|
#endif /* CONFIG_DISABLE_POLL */
|
||||||
|
@ -614,7 +614,7 @@ static int local_poll(FAR struct socket *psock, FAR struct pollfd *fds,
|
|||||||
{
|
{
|
||||||
/* Perform the TCP/IP poll() teardown */
|
/* Perform the TCP/IP poll() teardown */
|
||||||
|
|
||||||
return loal_pollteardown(psock, fds);
|
return local_pollteardown(psock, fds);
|
||||||
}
|
}
|
||||||
#endif /* HAVE_LOCAL_POLL */
|
#endif /* HAVE_LOCAL_POLL */
|
||||||
}
|
}
|
||||||
|
@ -72,7 +72,7 @@ static int pkt_connect(FAR struct socket *psock,
|
|||||||
static int pkt_accept(FAR struct socket *psock, FAR struct sockaddr *addr,
|
static int pkt_accept(FAR struct socket *psock, FAR struct sockaddr *addr,
|
||||||
FAR socklen_t *addrlen, FAR struct socket *newsock);
|
FAR socklen_t *addrlen, FAR struct socket *newsock);
|
||||||
#ifndef CONFIG_DISABLE_POLL
|
#ifndef CONFIG_DISABLE_POLL
|
||||||
static int pkt_poll(FAR struct socket *psock,
|
static int pkt_poll_local(FAR struct socket *psock,
|
||||||
FAR struct pollfd *fds, bool setup);
|
FAR struct pollfd *fds, bool setup);
|
||||||
#endif
|
#endif
|
||||||
static ssize_t pkt_send(FAR struct socket *psock, FAR const void *buf,
|
static ssize_t pkt_send(FAR struct socket *psock, FAR const void *buf,
|
||||||
@ -97,7 +97,7 @@ const struct sock_intf_s g_pkt_sockif =
|
|||||||
pkt_connect, /* si_connect */
|
pkt_connect, /* si_connect */
|
||||||
pkt_accept, /* si_accept */
|
pkt_accept, /* si_accept */
|
||||||
#ifndef CONFIG_DISABLE_POLL
|
#ifndef CONFIG_DISABLE_POLL
|
||||||
pkt_poll, /* si_poll */
|
pkt_poll_local, /* si_poll */
|
||||||
#endif
|
#endif
|
||||||
pkt_send, /* si_send */
|
pkt_send, /* si_send */
|
||||||
pkt_sendto, /* si_sendto */
|
pkt_sendto, /* si_sendto */
|
||||||
@ -475,8 +475,8 @@ int pkt_listen(FAR struct socket *psock, int backlog)
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef CONFIG_DISABLE_POLL
|
#ifndef CONFIG_DISABLE_POLL
|
||||||
static int pkt_poll(FAR struct socket *psock, FAR struct pollfd *fds,
|
static int pkt_poll_local(FAR struct socket *psock, FAR struct pollfd *fds,
|
||||||
bool setup)
|
bool setup)
|
||||||
{
|
{
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user