mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-01 11:06:04 +08:00
boards/ delete unused stm32f4discovery example
This commit is contained in:
@@ -95,7 +95,7 @@ pipeline {
|
|||||||
]
|
]
|
||||||
|
|
||||||
def nuttx_builds_other = [
|
def nuttx_builds_other = [
|
||||||
target: ["stm_32f4discovery_default", "px4_cannode-v1_default",
|
target: ["px4_cannode-v1_default",
|
||||||
"px4_esc-v1_default", "stm_nucleo-F767ZI_default", "thiemar_s2740vc-v1_default"],
|
"px4_esc-v1_default", "stm_nucleo-F767ZI_default", "thiemar_s2740vc-v1_default"],
|
||||||
image: docker_images.nuttx,
|
image: docker_images.nuttx,
|
||||||
archive: false
|
archive: false
|
||||||
|
|||||||
@@ -241,7 +241,6 @@ misc_qgc_extra_firmware: \
|
|||||||
# Other NuttX firmware
|
# Other NuttX firmware
|
||||||
alt_firmware: \
|
alt_firmware: \
|
||||||
check_nxp_fmuk66-v3_default \
|
check_nxp_fmuk66-v3_default \
|
||||||
check_stm_32f4discovery_default \
|
|
||||||
check_px4_cannode-v1_default \
|
check_px4_cannode-v1_default \
|
||||||
check_px4_esc-v1_default \
|
check_px4_esc-v1_default \
|
||||||
check_auav_esc35-v1_default \
|
check_auav_esc35-v1_default \
|
||||||
|
|||||||
@@ -1,104 +0,0 @@
|
|||||||
|
|
||||||
px4_add_board(
|
|
||||||
PLATFORM nuttx
|
|
||||||
VENDOR stm
|
|
||||||
MODEL 32f4discovery
|
|
||||||
TOOLCHAIN arm-none-eabi
|
|
||||||
ARCHITECTURE cortex-m4
|
|
||||||
ROMFSROOT px4fmu_common
|
|
||||||
#TESTING
|
|
||||||
|
|
||||||
DRIVERS
|
|
||||||
#barometer # all available barometer drivers
|
|
||||||
#batt_smbus
|
|
||||||
#camera_trigger
|
|
||||||
#differential_pressure # all available differential pressure drivers
|
|
||||||
#distance_sensor # all available distance sensor drivers
|
|
||||||
#gps
|
|
||||||
#heater
|
|
||||||
#imu # all available imu drivers
|
|
||||||
#irlock
|
|
||||||
#lights/blinkm
|
|
||||||
#lights/oreoled
|
|
||||||
#lights/rgbled
|
|
||||||
#magnetometer # all available magnetometer drivers
|
|
||||||
#mkblctrl
|
|
||||||
#pca9685
|
|
||||||
#pwm_input
|
|
||||||
#pwm_out_sim
|
|
||||||
#px4flow
|
|
||||||
#px4fmu
|
|
||||||
#rc_input
|
|
||||||
stm32
|
|
||||||
#stm32/adc
|
|
||||||
#stm32/tone_alarm
|
|
||||||
#tap_esc
|
|
||||||
#telemetry # all available telemetry drivers
|
|
||||||
#test_ppm
|
|
||||||
#uavcan
|
|
||||||
|
|
||||||
MODULES
|
|
||||||
attitude_estimator_q
|
|
||||||
camera_feedback
|
|
||||||
commander
|
|
||||||
dataman
|
|
||||||
ekf2
|
|
||||||
events
|
|
||||||
fw_att_control
|
|
||||||
fw_pos_control_l1
|
|
||||||
gnd_att_control
|
|
||||||
gnd_pos_control
|
|
||||||
land_detector
|
|
||||||
landing_target_estimator
|
|
||||||
load_mon
|
|
||||||
local_position_estimator
|
|
||||||
logger
|
|
||||||
mavlink
|
|
||||||
#mc_att_control
|
|
||||||
#mc_pos_control
|
|
||||||
#navigator
|
|
||||||
position_estimator_inav
|
|
||||||
#sensors
|
|
||||||
#vmount
|
|
||||||
#vtol_att_control
|
|
||||||
wind_estimator
|
|
||||||
|
|
||||||
SYSTEMCMDS
|
|
||||||
bl_update
|
|
||||||
config
|
|
||||||
dumpfile
|
|
||||||
esc_calib
|
|
||||||
hardfault_log
|
|
||||||
led_control
|
|
||||||
mixer
|
|
||||||
motor_ramp
|
|
||||||
motor_test
|
|
||||||
mtd
|
|
||||||
nshterm
|
|
||||||
param
|
|
||||||
perf
|
|
||||||
pwm
|
|
||||||
reboot
|
|
||||||
reflect
|
|
||||||
sd_bench
|
|
||||||
shutdown
|
|
||||||
#tests # tests and test runner
|
|
||||||
top
|
|
||||||
topic_listener
|
|
||||||
tune_control
|
|
||||||
usb_connected
|
|
||||||
ver
|
|
||||||
|
|
||||||
EXAMPLES
|
|
||||||
bottle_drop # OBC challenge
|
|
||||||
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
|
|
||||||
hello
|
|
||||||
#hwtest # Hardware test
|
|
||||||
#matlab_csv_serial
|
|
||||||
px4_mavlink_debug # Tutorial code from https://px4.io/dev/debug_values
|
|
||||||
px4_simple_app # Tutorial code from https://px4.io/dev/px4_simple_app
|
|
||||||
rover_steering_control # Rover example app
|
|
||||||
segway
|
|
||||||
uuv_example_app
|
|
||||||
|
|
||||||
)
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"board_id": 99,
|
|
||||||
"magic": "PX4FWv1",
|
|
||||||
"description": "Firmware for the STM32F4Discovery board",
|
|
||||||
"image": "",
|
|
||||||
"build_time": 0,
|
|
||||||
"summary": "STM32F4Discovery",
|
|
||||||
"version": "0.1",
|
|
||||||
"image_size": 0,
|
|
||||||
"image_maxsize": 1032192,
|
|
||||||
"git_identity": "",
|
|
||||||
"board_revision": 0
|
|
||||||
}
|
|
||||||
@@ -1,297 +0,0 @@
|
|||||||
/************************************************************************************
|
|
||||||
* nuttx-configs/stm32f4discovery/include/board.h
|
|
||||||
* include/arch/board/board.h
|
|
||||||
*
|
|
||||||
* Copyright (C) 2012 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 __CONFIG_DISCOVERY_INCLUDE_BOARD_H
|
|
||||||
#define __CONFIG_DISCOVERY_INCLUDE_BOARD_H
|
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Included Files
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
#include <nuttx/config.h>
|
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
|
||||||
# include <stdint.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "stm32_rcc.h"
|
|
||||||
#include "stm32_sdio.h"
|
|
||||||
#include "stm32.h"
|
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Definitions
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
/* Clocking *************************************************************************/
|
|
||||||
/* The STM32F4 Discovery board features a single 8MHz crystal. Space is provided
|
|
||||||
* for a 32kHz RTC backup crystal, but it is not stuffed.
|
|
||||||
*
|
|
||||||
* This is the canonical configuration:
|
|
||||||
* System Clock source : PLL (HSE)
|
|
||||||
* SYSCLK(Hz) : 168000000 Determined by PLL configuration
|
|
||||||
* HCLK(Hz) : 168000000 (STM32_RCC_CFGR_HPRE)
|
|
||||||
* AHB Prescaler : 1 (STM32_RCC_CFGR_HPRE)
|
|
||||||
* APB1 Prescaler : 4 (STM32_RCC_CFGR_PPRE1)
|
|
||||||
* APB2 Prescaler : 2 (STM32_RCC_CFGR_PPRE2)
|
|
||||||
* HSE Frequency(Hz) : 8000000 (STM32_BOARD_XTAL)
|
|
||||||
* PLLM : 8 (STM32_PLLCFG_PLLM)
|
|
||||||
* PLLN : 336 (STM32_PLLCFG_PLLN)
|
|
||||||
* PLLP : 2 (STM32_PLLCFG_PLLP)
|
|
||||||
* PLLQ : 7 (STM32_PLLCFG_PLLQ)
|
|
||||||
* Main regulator output voltage : Scale1 mode Needed for high speed SYSCLK
|
|
||||||
* Flash Latency(WS) : 5
|
|
||||||
* Prefetch Buffer : OFF
|
|
||||||
* Instruction cache : ON
|
|
||||||
* Data cache : ON
|
|
||||||
* Require 48MHz for USB OTG FS, : Enabled
|
|
||||||
* SDIO and RNG clock
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* HSI - 16 MHz RC factory-trimmed
|
|
||||||
* LSI - 32 KHz RC
|
|
||||||
* HSE - On-board crystal frequency is 8MHz
|
|
||||||
* LSE - 32.768 kHz
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define STM32_BOARD_XTAL 8000000ul
|
|
||||||
|
|
||||||
#define STM32_HSI_FREQUENCY 16000000ul
|
|
||||||
#define STM32_LSI_FREQUENCY 32000
|
|
||||||
#define STM32_HSE_FREQUENCY STM32_BOARD_XTAL
|
|
||||||
#define STM32_LSE_FREQUENCY 32768
|
|
||||||
|
|
||||||
/* Main PLL Configuration.
|
|
||||||
*
|
|
||||||
* PLL source is HSE
|
|
||||||
* PLL_VCO = (STM32_HSE_FREQUENCY / PLLM) * PLLN
|
|
||||||
* = (8,000,000 / 8) * 336
|
|
||||||
* = 336,000,000
|
|
||||||
* SYSCLK = PLL_VCO / PLLP
|
|
||||||
* = 336,000,000 / 2 = 168,000,000
|
|
||||||
* USB OTG FS, SDIO and RNG Clock
|
|
||||||
* = PLL_VCO / PLLQ
|
|
||||||
* = 48,000,000
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define STM32_PLLCFG_PLLM RCC_PLLCFG_PLLM(8)
|
|
||||||
#define STM32_PLLCFG_PLLN RCC_PLLCFG_PLLN(336)
|
|
||||||
#define STM32_PLLCFG_PLLP RCC_PLLCFG_PLLP_2
|
|
||||||
#define STM32_PLLCFG_PLLQ RCC_PLLCFG_PLLQ(7)
|
|
||||||
|
|
||||||
#define STM32_SYSCLK_FREQUENCY 168000000ul
|
|
||||||
|
|
||||||
/* AHB clock (HCLK) is SYSCLK (168MHz) */
|
|
||||||
|
|
||||||
#define STM32_RCC_CFGR_HPRE RCC_CFGR_HPRE_SYSCLK /* HCLK = SYSCLK / 1 */
|
|
||||||
#define STM32_HCLK_FREQUENCY STM32_SYSCLK_FREQUENCY
|
|
||||||
#define STM32_BOARD_HCLK STM32_HCLK_FREQUENCY /* same as above, to satisfy compiler */
|
|
||||||
|
|
||||||
/* APB1 clock (PCLK1) is HCLK/4 (42MHz) */
|
|
||||||
|
|
||||||
#define STM32_RCC_CFGR_PPRE1 RCC_CFGR_PPRE1_HCLKd4 /* PCLK1 = HCLK / 4 */
|
|
||||||
#define STM32_PCLK1_FREQUENCY (STM32_HCLK_FREQUENCY/4)
|
|
||||||
|
|
||||||
/* Timers driven from APB1 will be twice PCLK1 */
|
|
||||||
|
|
||||||
#define STM32_APB1_TIM2_CLKIN (2*STM32_PCLK1_FREQUENCY)
|
|
||||||
#define STM32_APB1_TIM3_CLKIN (2*STM32_PCLK1_FREQUENCY)
|
|
||||||
#define STM32_APB1_TIM4_CLKIN (2*STM32_PCLK1_FREQUENCY)
|
|
||||||
#define STM32_APB1_TIM5_CLKIN (2*STM32_PCLK1_FREQUENCY)
|
|
||||||
#define STM32_APB1_TIM6_CLKIN (2*STM32_PCLK1_FREQUENCY)
|
|
||||||
#define STM32_APB1_TIM7_CLKIN (2*STM32_PCLK1_FREQUENCY)
|
|
||||||
#define STM32_APB1_TIM12_CLKIN (2*STM32_PCLK1_FREQUENCY)
|
|
||||||
#define STM32_APB1_TIM13_CLKIN (2*STM32_PCLK1_FREQUENCY)
|
|
||||||
#define STM32_APB1_TIM14_CLKIN (2*STM32_PCLK1_FREQUENCY)
|
|
||||||
|
|
||||||
/* APB2 clock (PCLK2) is HCLK/2 (84MHz) */
|
|
||||||
|
|
||||||
#define STM32_RCC_CFGR_PPRE2 RCC_CFGR_PPRE2_HCLKd2 /* PCLK2 = HCLK / 2 */
|
|
||||||
#define STM32_PCLK2_FREQUENCY (STM32_HCLK_FREQUENCY/2)
|
|
||||||
|
|
||||||
/* Timers driven from APB2 will be twice PCLK2 */
|
|
||||||
|
|
||||||
#define STM32_APB2_TIM1_CLKIN (2*STM32_PCLK2_FREQUENCY)
|
|
||||||
#define STM32_APB2_TIM8_CLKIN (2*STM32_PCLK2_FREQUENCY)
|
|
||||||
#define STM32_APB2_TIM9_CLKIN (2*STM32_PCLK2_FREQUENCY)
|
|
||||||
#define STM32_APB2_TIM10_CLKIN (2*STM32_PCLK2_FREQUENCY)
|
|
||||||
#define STM32_APB2_TIM11_CLKIN (2*STM32_PCLK2_FREQUENCY)
|
|
||||||
|
|
||||||
/* Timer Frequencies, if APBx is set to 1, frequency is same to APBx
|
|
||||||
* otherwise frequency is 2xAPBx.
|
|
||||||
* Note: TIM1,8-11 are on APB2, others on APB1
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define BOARD_TIM1_FREQUENCY STM32_APB2_TIM1_CLKIN
|
|
||||||
#define BOARD_TIM2_FREQUENCY STM32_APB1_TIM2_CLKIN
|
|
||||||
#define BOARD_TIM3_FREQUENCY STM32_APB1_TIM3_CLKIN
|
|
||||||
#define BOARD_TIM4_FREQUENCY STM32_APB1_TIM4_CLKIN
|
|
||||||
#define BOARD_TIM5_FREQUENCY STM32_APB1_TIM5_CLKIN
|
|
||||||
#define BOARD_TIM6_FREQUENCY STM32_APB1_TIM6_CLKIN
|
|
||||||
#define BOARD_TIM7_FREQUENCY STM32_APB1_TIM7_CLKIN
|
|
||||||
#define BOARD_TIM8_FREQUENCY STM32_APB2_TIM8_CLKIN
|
|
||||||
#define BOARD_TIM9_FREQUENCY STM32_APB2_TIM9_CLKIN
|
|
||||||
#define BOARD_TIM10_FREQUENCY STM32_APB2_TIM10_CLKIN
|
|
||||||
#define BOARD_TIM11_FREQUENCY STM32_APB2_TIM11_CLKIN
|
|
||||||
#define BOARD_TIM12_FREQUENCY STM32_APB1_TIM12_CLKIN
|
|
||||||
#define BOARD_TIM13_FREQUENCY STM32_APB1_TIM13_CLKIN
|
|
||||||
#define BOARD_TIM14_FREQUENCY STM32_APB1_TIM14_CLKIN
|
|
||||||
|
|
||||||
/* LED definitions ******************************************************************/
|
|
||||||
/* If CONFIG_ARCH_LEDS is not defined, then the user can control the LEDs in any
|
|
||||||
* way. The following definitions are used to access individual LEDs.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* LED index values for use with stm32_setled() */
|
|
||||||
|
|
||||||
#define BOARD_LED1 0
|
|
||||||
#define BOARD_LED2 1
|
|
||||||
#define BOARD_NLEDS 2
|
|
||||||
|
|
||||||
#define BOARD_LED_BLUE BOARD_LED1
|
|
||||||
#define BOARD_LED_RED BOARD_LED2
|
|
||||||
|
|
||||||
/* LED bits for use with stm32_setleds() */
|
|
||||||
|
|
||||||
#define BOARD_LED1_BIT (1 << BOARD_LED1)
|
|
||||||
#define BOARD_LED2_BIT (1 << BOARD_LED2)
|
|
||||||
|
|
||||||
/* If CONFIG_ARCH_LEDs is defined, then NuttX will control the 2 LEDs on board the
|
|
||||||
* px4-stm32f4discovery. The following definitions describe how NuttX controls the LEDs:
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define LED_STARTED 0 /* LED1 */
|
|
||||||
#define LED_HEAPALLOCATE 1 /* LED2 */
|
|
||||||
#define LED_IRQSENABLED 2 /* LED1 */
|
|
||||||
#define LED_STACKCREATED 3 /* LED1 + LED2 */
|
|
||||||
#define LED_INIRQ 4 /* LED1 */
|
|
||||||
#define LED_SIGNAL 5 /* LED2 */
|
|
||||||
#define LED_ASSERTION 6 /* LED1 + LED2 */
|
|
||||||
#define LED_PANIC 7 /* LED1 + LED2 */
|
|
||||||
|
|
||||||
/* Alternate function pin selections ************************************************/
|
|
||||||
|
|
||||||
/* UART2:
|
|
||||||
*
|
|
||||||
* The STM32F4 Discovery has no on-board serial devices, but the console is
|
|
||||||
* brought out to PA2 (TX) and PA3 (RX) for connection to an external serial device.
|
|
||||||
* (See the README.txt file for other options)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define GPIO_USART2_RX GPIO_USART2_RX_1
|
|
||||||
#define GPIO_USART2_TX GPIO_USART2_TX_1
|
|
||||||
|
|
||||||
/* UART6:
|
|
||||||
*
|
|
||||||
* The STM32F4 Discovery has no on-board serial devices, PC6 (TX) and PC7 (RX)
|
|
||||||
* for connection to an external serial device.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define GPIO_USART6_RX GPIO_USART6_RX_1
|
|
||||||
#define GPIO_USART6_TX GPIO_USART6_TX_1
|
|
||||||
|
|
||||||
/* USART6 require a RX DMA configuration */
|
|
||||||
#define DMAMAP_USART6_RX DMAMAP_USART6_RX_1
|
|
||||||
|
|
||||||
/* SPI - There is a MEMS device on SPI1 using these pins: */
|
|
||||||
|
|
||||||
#define GPIO_SPI1_MISO GPIO_SPI1_MISO_1
|
|
||||||
#define GPIO_SPI1_MOSI GPIO_SPI1_MOSI_1
|
|
||||||
#define GPIO_SPI1_SCK GPIO_SPI1_SCK_1
|
|
||||||
|
|
||||||
/*
|
|
||||||
* I2C
|
|
||||||
*
|
|
||||||
* The optional _GPIO configurations allow the I2C driver to manually
|
|
||||||
* reset the bus to clear stuck slaves. They match the pin configuration,
|
|
||||||
* but are normally-high GPIOs.
|
|
||||||
*/
|
|
||||||
#define GPIO_I2C1_SCL GPIO_I2C1_SCL_1
|
|
||||||
#define GPIO_I2C1_SDA GPIO_I2C1_SDA_2
|
|
||||||
#define GPIO_I2C1_SCL_GPIO (GPIO_OUTPUT|GPIO_OPENDRAIN|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTB|GPIO_PIN6)
|
|
||||||
#define GPIO_I2C1_SDA_GPIO (GPIO_OUTPUT|GPIO_OPENDRAIN|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTB|GPIO_PIN9)
|
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Public Data
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
|
||||||
|
|
||||||
#undef EXTERN
|
|
||||||
#if defined(__cplusplus)
|
|
||||||
#define EXTERN extern "C"
|
|
||||||
extern "C" {
|
|
||||||
#else
|
|
||||||
#define EXTERN extern
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Public Function Prototypes
|
|
||||||
************************************************************************************/
|
|
||||||
/************************************************************************************
|
|
||||||
* Name: stm32_boardinitialize
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* All STM32 architectures must provide the following entry point. This entry point
|
|
||||||
* is called early in the intitialization -- after all memory has been configured
|
|
||||||
* and mapped but before any devices have been initialized.
|
|
||||||
*
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
EXTERN void stm32_boardinitialize(void);
|
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Name: stm32_ledinit, stm32_setled, and stm32_setleds
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* If CONFIG_ARCH_LEDS is defined, then NuttX will control the on-board LEDs. If
|
|
||||||
* CONFIG_ARCH_LEDS is not defined, then the following interfacesare available to
|
|
||||||
* control the LEDs from user applications.
|
|
||||||
*
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
#ifndef CONFIG_ARCH_LEDS
|
|
||||||
EXTERN void stm32_ledinit(void);
|
|
||||||
EXTERN void stm32_setled(int led, bool ledon);
|
|
||||||
EXTERN void stm32_setleds(uint8_t ledset);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#undef EXTERN
|
|
||||||
#if defined(__cplusplus)
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
|
||||||
#endif /* __CONFIG_DISCOVERY_INCLUDE_BOARD_H */
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,150 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
* configs/px4-stm32f4discovery/scripts/ld.script
|
|
||||||
*
|
|
||||||
* Copyright (C) 2011 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.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/* The STM32F40VGG has 1024Kb of FLASH beginning at address 0x0800:0000 and
|
|
||||||
* 192Kb of SRAM. SRAM is split up into three blocks:
|
|
||||||
*
|
|
||||||
* 1) 112Kb of SRAM beginning at address 0x2000:0000
|
|
||||||
* 2) 16Kb of SRAM beginning at address 0x2001:c000
|
|
||||||
* 3) 64Kb of CCM SRAM beginning at address 0x1000:0000
|
|
||||||
*
|
|
||||||
* When booting from FLASH, FLASH memory is aliased to address 0x0000:0000
|
|
||||||
* where the code expects to begin execution by jumping to the entry point in
|
|
||||||
* the 0x0800:0000 address range.
|
|
||||||
*
|
|
||||||
* The first 0x4000 of flash is reserved for the bootloader.
|
|
||||||
*/
|
|
||||||
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
flash (rx) : ORIGIN = 0x08004000, LENGTH = 1008K
|
|
||||||
sram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K
|
|
||||||
ccsram (rwx) : ORIGIN = 0x10000000, LENGTH = 64K
|
|
||||||
}
|
|
||||||
|
|
||||||
OUTPUT_ARCH(arm)
|
|
||||||
|
|
||||||
ENTRY(__start) /* treat __start as the anchor for dead code stripping */
|
|
||||||
EXTERN(_vectors) /* force the vectors to be included in the output */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Ensure that abort() is present in the final object. The exception handling
|
|
||||||
* code pulled in by libgcc.a requires it (and that code cannot be easily avoided).
|
|
||||||
*/
|
|
||||||
EXTERN(abort)
|
|
||||||
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text : {
|
|
||||||
_stext = ABSOLUTE(.);
|
|
||||||
*(.vectors)
|
|
||||||
*(.text .text.*)
|
|
||||||
*(.fixup)
|
|
||||||
*(.gnu.warning)
|
|
||||||
*(.rodata .rodata.*)
|
|
||||||
*(.gnu.linkonce.t.*)
|
|
||||||
*(.got)
|
|
||||||
*(.gcc_except_table)
|
|
||||||
*(.gnu.linkonce.r.*)
|
|
||||||
_etext = ABSOLUTE(.);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is a hack to make the newlib libm __errno() call
|
|
||||||
* use the NuttX get_errno_ptr() function.
|
|
||||||
*/
|
|
||||||
__errno = get_errno_ptr;
|
|
||||||
} > flash
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init functions (static constructors and the like)
|
|
||||||
*/
|
|
||||||
.init_section : {
|
|
||||||
_sinit = ABSOLUTE(.);
|
|
||||||
KEEP(*(.init_array .init_array.*))
|
|
||||||
_einit = ABSOLUTE(.);
|
|
||||||
} > flash
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Construction data for parameters.
|
|
||||||
*/
|
|
||||||
__param ALIGN(4): {
|
|
||||||
__param_start = ABSOLUTE(.);
|
|
||||||
KEEP(*(__param*))
|
|
||||||
__param_end = ABSOLUTE(.);
|
|
||||||
} > flash
|
|
||||||
|
|
||||||
.ARM.extab : {
|
|
||||||
*(.ARM.extab*)
|
|
||||||
} > flash
|
|
||||||
|
|
||||||
__exidx_start = ABSOLUTE(.);
|
|
||||||
.ARM.exidx : {
|
|
||||||
*(.ARM.exidx*)
|
|
||||||
} > flash
|
|
||||||
__exidx_end = ABSOLUTE(.);
|
|
||||||
|
|
||||||
_eronly = ABSOLUTE(.);
|
|
||||||
|
|
||||||
.data : {
|
|
||||||
_sdata = ABSOLUTE(.);
|
|
||||||
*(.data .data.*)
|
|
||||||
*(.gnu.linkonce.d.*)
|
|
||||||
CONSTRUCTORS
|
|
||||||
_edata = ABSOLUTE(.);
|
|
||||||
} > sram AT > flash
|
|
||||||
|
|
||||||
.bss : {
|
|
||||||
_sbss = ABSOLUTE(.);
|
|
||||||
*(.bss .bss.*)
|
|
||||||
*(.gnu.linkonce.b.*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
_ebss = ABSOLUTE(.);
|
|
||||||
} > sram
|
|
||||||
|
|
||||||
/* Stabs debugging sections. */
|
|
||||||
.stab 0 : { *(.stab) }
|
|
||||||
.stabstr 0 : { *(.stabstr) }
|
|
||||||
.stab.excl 0 : { *(.stab.excl) }
|
|
||||||
.stab.exclstr 0 : { *(.stab.exclstr) }
|
|
||||||
.stab.index 0 : { *(.stab.index) }
|
|
||||||
.stab.indexstr 0 : { *(.stab.indexstr) }
|
|
||||||
.comment 0 : { *(.comment) }
|
|
||||||
.debug_abbrev 0 : { *(.debug_abbrev) }
|
|
||||||
.debug_info 0 : { *(.debug_info) }
|
|
||||||
.debug_line 0 : { *(.debug_line) }
|
|
||||||
.debug_pubnames 0 : { *(.debug_pubnames) }
|
|
||||||
.debug_aranges 0 : { *(.debug_aranges) }
|
|
||||||
}
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
############################################################################
|
|
||||||
#
|
|
||||||
# Copyright (c) 2015 PX4 Development Team. All rights reserved.
|
|
||||||
#
|
|
||||||
# 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 PX4 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.
|
|
||||||
#
|
|
||||||
############################################################################
|
|
||||||
|
|
||||||
px4_add_library(drivers_board
|
|
||||||
init.c
|
|
||||||
led.c
|
|
||||||
timer_config.c
|
|
||||||
usb.c
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(drivers_board
|
|
||||||
PRIVATE
|
|
||||||
nuttx_arch # sdio
|
|
||||||
nuttx_drivers # sdio
|
|
||||||
drivers__led # drv_led_start
|
|
||||||
px4_layer
|
|
||||||
)
|
|
||||||
@@ -1,124 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
*
|
|
||||||
* Copyright (c) 2013, 2014 PX4 Development Team. All rights reserved.
|
|
||||||
*
|
|
||||||
* 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 PX4 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.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @file board_config.h
|
|
||||||
*
|
|
||||||
* PX4-STM32F4Discovery internal definitions
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
/****************************************************************************************************
|
|
||||||
* Included Files
|
|
||||||
****************************************************************************************************/
|
|
||||||
|
|
||||||
#include <px4_config.h>
|
|
||||||
#include <nuttx/compiler.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
/****************************************************************************************************
|
|
||||||
* Definitions
|
|
||||||
****************************************************************************************************/
|
|
||||||
/* Configuration ************************************************************************************/
|
|
||||||
|
|
||||||
/* PX4-STM32F4Discovery GPIOs ***********************************************************************************/
|
|
||||||
/* LEDs */
|
|
||||||
// LED1 green, LED2 orange, LED3 red, LED4 blue
|
|
||||||
|
|
||||||
|
|
||||||
#define GPIO_LED1 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|\
|
|
||||||
GPIO_OUTPUT_CLEAR|GPIO_PORTD|GPIO_PIN12)
|
|
||||||
#define GPIO_LED2 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|\
|
|
||||||
GPIO_OUTPUT_CLEAR|GPIO_PORTD|GPIO_PIN13)
|
|
||||||
#define GPIO_LED3 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|\
|
|
||||||
GPIO_OUTPUT_CLEAR|GPIO_PORTD|GPIO_PIN14)
|
|
||||||
#define GPIO_LED4 (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|\
|
|
||||||
GPIO_OUTPUT_CLEAR|GPIO_PORTD|GPIO_PIN15)
|
|
||||||
|
|
||||||
#define BOARD_OVERLOAD_LED LED_RED
|
|
||||||
|
|
||||||
/* SPI chip selects */
|
|
||||||
#define GPIO_SPI_CS_MEMS (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTE|GPIO_PIN3)
|
|
||||||
|
|
||||||
/* USB OTG FS
|
|
||||||
*
|
|
||||||
* PA9 OTG_FS_VBUS VBUS sensing
|
|
||||||
*/
|
|
||||||
#define GPIO_OTGFS_VBUS (GPIO_INPUT|GPIO_FLOAT|GPIO_SPEED_100MHz|GPIO_OPENDRAIN|GPIO_PORTA|GPIO_PIN9)
|
|
||||||
|
|
||||||
/* High-resolution timer */
|
|
||||||
#define HRT_TIMER 8 /* use timer8 for the HRT */
|
|
||||||
#define HRT_TIMER_CHANNEL 1 /* use capture/compare channel */
|
|
||||||
|
|
||||||
__BEGIN_DECLS
|
|
||||||
|
|
||||||
/****************************************************************************************************
|
|
||||||
* Public Types
|
|
||||||
****************************************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************************************
|
|
||||||
* Public data
|
|
||||||
****************************************************************************************************/
|
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
|
||||||
|
|
||||||
/****************************************************************************************************
|
|
||||||
* Public Functions
|
|
||||||
****************************************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************************************
|
|
||||||
* Name: stm32_spiinitialize
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* Called to configure SPI chip select GPIO pins for the PX4FMU board.
|
|
||||||
*
|
|
||||||
****************************************************************************************************/
|
|
||||||
|
|
||||||
extern void stm32_spiinitialize(void);
|
|
||||||
|
|
||||||
/****************************************************************************************************
|
|
||||||
* Name: stm32_usbinitialize
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* Called to configure USB IO.
|
|
||||||
*
|
|
||||||
****************************************************************************************************/
|
|
||||||
|
|
||||||
extern void stm32_usbinitialize(void);
|
|
||||||
|
|
||||||
#include <drivers/boards/common/board_common.h>
|
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
|
||||||
|
|
||||||
__END_DECLS
|
|
||||||
@@ -1,150 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
*
|
|
||||||
* Copyright (C) 2012 PX4 Development Team. All rights reserved.
|
|
||||||
*
|
|
||||||
* 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 PX4 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.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @file px4discovery_init.c
|
|
||||||
*
|
|
||||||
* PX4-stm32f4discovery specific early startup code. This file implements the
|
|
||||||
* board_app_initialize() function that is called early by nsh during startup.
|
|
||||||
*
|
|
||||||
* Code here is run before the rcS script is invoked; it should start required
|
|
||||||
* subsystems and perform board-specific initialization.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Included Files
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#include <px4_config.h>
|
|
||||||
|
|
||||||
#include <stdbool.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <debug.h>
|
|
||||||
#include <errno.h>
|
|
||||||
|
|
||||||
#include <nuttx/board.h>
|
|
||||||
#include <nuttx/spi/spi.h>
|
|
||||||
#include <nuttx/i2c/i2c_master.h>
|
|
||||||
#include <nuttx/sdio.h>
|
|
||||||
#include <nuttx/mmcsd.h>
|
|
||||||
#include <nuttx/analog/adc.h>
|
|
||||||
#include <nuttx/mm/gran.h>
|
|
||||||
|
|
||||||
#include <stm32.h>
|
|
||||||
#include "board_config.h"
|
|
||||||
#include <stm32_uart.h>
|
|
||||||
|
|
||||||
#include <arch/board/board.h>
|
|
||||||
|
|
||||||
#include <drivers/drv_hrt.h>
|
|
||||||
#include <drivers/drv_board_led.h>
|
|
||||||
|
|
||||||
#include <px4_init.h>
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Pre-Processor Definitions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Protected Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Public Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Name: stm32_boardinitialize
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* All STM32 architectures must provide the following entry point. This entry point
|
|
||||||
* is called early in the intitialization -- after all memory has been configured
|
|
||||||
* and mapped but before any devices have been initialized.
|
|
||||||
*
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
__EXPORT void
|
|
||||||
stm32_boardinitialize(void)
|
|
||||||
{
|
|
||||||
/* configure LEDs */
|
|
||||||
board_autoled_initialize();
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Name: board_app_initialize
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* Perform application specific initialization. This function is never
|
|
||||||
* called directly from application code, but only indirectly via the
|
|
||||||
* (non-standard) boardctl() interface using the command BOARDIOC_INIT.
|
|
||||||
*
|
|
||||||
* Input Parameters:
|
|
||||||
* arg - The boardctl() argument is passed to the board_app_initialize()
|
|
||||||
* implementation without modification. The argument has no
|
|
||||||
* meaning to NuttX; the meaning of the argument is a contract
|
|
||||||
* between the board-specific initalization logic and the the
|
|
||||||
* matching application logic. The value cold be such things as a
|
|
||||||
* mode enumeration value, a set of DIP switch switch settings, a
|
|
||||||
* pointer to configuration data read from a file or serial FLASH,
|
|
||||||
* or whatever you would like to do with it. Every implementation
|
|
||||||
* should accept zero/NULL as a default configuration.
|
|
||||||
*
|
|
||||||
* Returned Value:
|
|
||||||
* Zero (OK) is returned on success; a negated errno value is returned on
|
|
||||||
* any failure to indicate the nature of the failure.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
__EXPORT int board_app_initialize(uintptr_t arg)
|
|
||||||
{
|
|
||||||
px4_platform_init();
|
|
||||||
|
|
||||||
/* set up the serial DMA polling */
|
|
||||||
static struct hrt_call serial_dma_call;
|
|
||||||
struct timespec ts;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Poll at 1ms intervals for received bytes that have not triggered
|
|
||||||
* a DMA event.
|
|
||||||
*/
|
|
||||||
ts.tv_sec = 0;
|
|
||||||
ts.tv_nsec = 1000000;
|
|
||||||
|
|
||||||
hrt_call_every(&serial_dma_call,
|
|
||||||
ts_to_abstime(&ts),
|
|
||||||
ts_to_abstime(&ts),
|
|
||||||
(hrt_callout)stm32_serial_dma_poll,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
return OK;
|
|
||||||
}
|
|
||||||
@@ -1,98 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
*
|
|
||||||
* Copyright (c) 2013 PX4 Development Team. All rights reserved.
|
|
||||||
*
|
|
||||||
* 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 PX4 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.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @file px4discovery_led.c
|
|
||||||
*
|
|
||||||
* PX4-stm32f4discovery LED backend.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <px4_config.h>
|
|
||||||
|
|
||||||
#include <stdbool.h>
|
|
||||||
|
|
||||||
#include "stm32.h"
|
|
||||||
#include "board_config.h"
|
|
||||||
|
|
||||||
#include <nuttx/board.h>
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Ideally we'd be able to get these from up_internal.h,
|
|
||||||
* but since we want to be able to disable the NuttX use
|
|
||||||
* of leds for system indication at will and there is no
|
|
||||||
* separate switch, we need to build independent of the
|
|
||||||
* CONFIG_ARCH_LEDS configuration switch.
|
|
||||||
*/
|
|
||||||
__BEGIN_DECLS
|
|
||||||
extern void led_init(void);
|
|
||||||
extern void led_on(int led);
|
|
||||||
extern void led_off(int led);
|
|
||||||
extern void led_toggle(int led);
|
|
||||||
__END_DECLS
|
|
||||||
|
|
||||||
__EXPORT void board_autoled_initialize(void)
|
|
||||||
{
|
|
||||||
/* Configure LED1 GPIO for output */
|
|
||||||
|
|
||||||
stm32_configgpio(GPIO_LED1);
|
|
||||||
}
|
|
||||||
|
|
||||||
__EXPORT void board_autoled_on(int led)
|
|
||||||
|
|
||||||
{
|
|
||||||
if (led == 1) {
|
|
||||||
/* Pull down to switch on */
|
|
||||||
stm32_gpiowrite(GPIO_LED1, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
__EXPORT void board_autoled_off(int led)
|
|
||||||
|
|
||||||
{
|
|
||||||
if (led == 1) {
|
|
||||||
/* Pull up to switch off */
|
|
||||||
stm32_gpiowrite(GPIO_LED1, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
__EXPORT void led_toggle(int led)
|
|
||||||
{
|
|
||||||
if (led == 1) {
|
|
||||||
if (stm32_gpioread(GPIO_LED1)) {
|
|
||||||
stm32_gpiowrite(GPIO_LED1, false);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
stm32_gpiowrite(GPIO_LED1, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
*
|
|
||||||
* Copyright (C) 2012 PX4 Development Team. All rights reserved.
|
|
||||||
*
|
|
||||||
* 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 PX4 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.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @file px4stm32f4discovery_timer_config.c
|
|
||||||
*
|
|
||||||
* Configuration data for the stm32 pwm_servo, input capture and pwm input driver.
|
|
||||||
*
|
|
||||||
* Note that these arrays must always be fully-sized.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
#include <chip.h>
|
|
||||||
#include <stm32_gpio.h>
|
|
||||||
#include <stm32_tim.h>
|
|
||||||
|
|
||||||
#include <drivers/drv_pwm_output.h>
|
|
||||||
#include <drivers/stm32/drv_io_timer.h>
|
|
||||||
|
|
||||||
#include "board_config.h"
|
|
||||||
|
|
||||||
__EXPORT const io_timers_t io_timers[MAX_IO_TIMERS] = {
|
|
||||||
{
|
|
||||||
.base = 0,
|
|
||||||
.clock_register = 0,
|
|
||||||
.clock_bit = 0,
|
|
||||||
.clock_freq = 0,
|
|
||||||
.first_channel_index = 0,
|
|
||||||
.last_channel_index = 3,
|
|
||||||
.handler = io_timer_handler0,
|
|
||||||
.vectorno = 0,
|
|
||||||
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
__EXPORT const timer_io_channels_t timer_io_channels[MAX_TIMER_IO_CHANNELS] = {
|
|
||||||
{
|
|
||||||
.gpio_out = 0,//GPIO_TIM1_CH4OUT,
|
|
||||||
.gpio_in = 0,//GPIO_TIM1_CH4IN,
|
|
||||||
.timer_index = 0,
|
|
||||||
.timer_channel = 4,
|
|
||||||
.ccr_offset = 0,
|
|
||||||
.masks = 0
|
|
||||||
},
|
|
||||||
};
|
|
||||||
@@ -1,108 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
*
|
|
||||||
* Copyright (C) 2012 PX4 Development Team. All rights reserved.
|
|
||||||
*
|
|
||||||
* 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 PX4 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.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @file px4discovery_usb.c
|
|
||||||
*
|
|
||||||
* Board-specific USB functions.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Included Files
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
#include <px4_config.h>
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stdbool.h>
|
|
||||||
#include <debug.h>
|
|
||||||
|
|
||||||
#include <nuttx/usb/usbdev.h>
|
|
||||||
#include <nuttx/usb/usbdev_trace.h>
|
|
||||||
|
|
||||||
#include <up_arch.h>
|
|
||||||
#include <stm32.h>
|
|
||||||
#include "board_config.h"
|
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Definitions
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Public Functions
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Name: stm32_usbinitialize
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* Called to setup USB-related GPIO pins for the PX4-STM32F4Discovery board.
|
|
||||||
*
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
__EXPORT void stm32_usbinitialize(void)
|
|
||||||
{
|
|
||||||
/* The OTG FS has an internal soft pull-up */
|
|
||||||
|
|
||||||
/* Configure the OTG FS VBUS sensing GPIO, Power On, and Overcurrent GPIOs */
|
|
||||||
|
|
||||||
#ifdef CONFIG_STM32_OTGFS
|
|
||||||
stm32_configgpio(GPIO_OTGFS_VBUS);
|
|
||||||
/* XXX We only support device mode
|
|
||||||
stm32_configgpio(GPIO_OTGFS_PWRON);
|
|
||||||
stm32_configgpio(GPIO_OTGFS_OVER);
|
|
||||||
*/
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/************************************************************************************
|
|
||||||
* Name: stm32_usbsuspend
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* Board logic must provide the stm32_usbsuspend logic if the USBDEV driver is
|
|
||||||
* used. This function is called whenever the USB enters or leaves suspend mode.
|
|
||||||
* This is an opportunity for the board logic to shutdown clocks, power, etc.
|
|
||||||
* while the USB is suspended.
|
|
||||||
*
|
|
||||||
************************************************************************************/
|
|
||||||
|
|
||||||
__EXPORT void stm32_usbsuspend(FAR struct usbdev_s *dev, bool resume)
|
|
||||||
{
|
|
||||||
uinfo("resume: %d\n", resume);
|
|
||||||
}
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user