You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
135 lines
6.8 KiB
135 lines
6.8 KiB
/**************************************************************************** |
|
* |
|
* Copyright (C) 2020 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. |
|
* |
|
****************************************************************************/ |
|
|
|
#pragma once |
|
|
|
/**************************************************************************** |
|
* 10-8--2016: |
|
* To simplify the ripple effect on the tools, we will be using |
|
* /dev/serial/by-id/<asterisk>PX4<asterisk> to locate PX4 devices. Therefore |
|
* moving forward all Bootloaders must contain the prefix "PX4 BL " |
|
* in the USBDEVICESTRING |
|
* This Change will be made in an upcoming BL release |
|
****************************************************************************/ |
|
/* |
|
* Define usage to configure a bootloader |
|
* |
|
* |
|
* Constant example Usage |
|
* APP_LOAD_ADDRESS 0x08004000 - The address in Linker Script, where the app fw is org-ed |
|
* BOOTLOADER_DELAY 5000 - Ms to wait while under USB pwr or bootloader request |
|
* BOARD_FMUV2 |
|
* INTERFACE_USB 1 - (Optional) Scan and use the USB interface for bootloading |
|
* INTERFACE_USART 1 - (Optional) Scan and use the Serial interface for bootloading |
|
* USBDEVICESTRING "PX4 BL FMU v2.x" - USB id string |
|
* USBPRODUCTID 0x0011 - PID Should match defconfig |
|
* BOOT_DELAY_ADDRESS 0x000001a0 - (Optional) From the linker script from Linker Script to get a custom |
|
* delay provided by an APP FW |
|
* BOARD_TYPE 9 - Must match .prototype boad_id |
|
* _FLASH_KBYTES (*(uint16_t *)0x1fff7a22) - Run time flash size detection |
|
* BOARD_FLASH_SECTORS ((_FLASH_KBYTES == 0x400) ? 11 : 23) - Run time determine the physical last sector |
|
* BOARD_FLASH_SECTORS 11 - Hard coded zero based last sector |
|
* BOARD_FLASH_SIZE (_FLASH_KBYTES*1024)- Total Flash size of device, determined at run time. |
|
* (1024 * 1024) - Hard coded Total Flash of device - The bootloader and app reserved will be deducted |
|
* programmatically |
|
* |
|
* BOARD_FIRST_FLASH_SECTOR_TO_ERASE 2 - Optional sectors index in the flash_sectors table (F4 only), to begin erasing. |
|
* This is to allow sectors to be reserved for app fw usage. That will NOT be erased |
|
* during a FW upgrade. |
|
* The default is 0, and selects the first sector to be erased, as the 0th entry in the |
|
* flash_sectors table. Which is the second physical sector of FLASH in the device. |
|
* The first physical sector of FLASH is used by the bootloader, and is not defined |
|
* in the table. |
|
* |
|
* APP_RESERVATION_SIZE (BOARD_FIRST_FLASH_SECTOR_TO_ERASE * 16 * 1024) - Number of bytes reserved by the APP FW. This number plus |
|
* BOOTLOADER_RESERVATION_SIZE will be deducted from |
|
* BOARD_FLASH_SIZE to determine the size of the App FW |
|
* and hence the address space of FLASH to erase and program. |
|
* USBMFGSTRING "PX4 AP" - Optional USB MFG string (default is '3D Robotics' if not defined.) |
|
* SERIAL_BREAK_DETECT_DISABLED - Optional prevent break selection on Serial port from entering or staying in BL |
|
* |
|
* * Other defines are somewhat self explanatory. |
|
*/ |
|
|
|
/* Boot device selection list*/ |
|
#define USB0_DEV 0x01 |
|
#define SERIAL0_DEV 0x02 |
|
#define SERIAL1_DEV 0x04 |
|
|
|
#define APP_LOAD_ADDRESS 0x08020000 |
|
#define BOOTLOADER_DELAY 5000 |
|
#define INTERFACE_USB 1 |
|
#define INTERFACE_USB_CONFIG "/dev/ttyACM0" |
|
#define BOARD_VBUS MK_GPIO_INPUT(GPIO_OTGFS_VBUS) |
|
|
|
//#define USE_VBUS_PULL_DOWN |
|
#define INTERFACE_USART 1 |
|
#define INTERFACE_USART_CONFIG "/dev/ttyS0,115200" |
|
#define BOOT_DELAY_ADDRESS 0x000001a0 |
|
#define BOARD_TYPE 1024 |
|
#define _FLASH_KBYTES (*(uint32_t *)0x1FF1E880) |
|
#define BOARD_FLASH_SECTORS (15) |
|
#define BOARD_FLASH_SIZE (_FLASH_KBYTES * 1024) |
|
|
|
#define OSC_FREQ 24 |
|
|
|
#define BOARD_PIN_LED_ACTIVITY GPIO_nLED_RED |
|
#define BOARD_PIN_LED_BOOTLOADER GPIO_nLED_RED |
|
#define BOARD_LED_ON 0 |
|
#define BOARD_LED_OFF 1 |
|
|
|
#define SERIAL_BREAK_DETECT_DISABLED 1 |
|
|
|
#if !defined(ARCH_SN_MAX_LENGTH) |
|
# define ARCH_SN_MAX_LENGTH 12 |
|
#endif |
|
|
|
#if !defined(APP_RESERVATION_SIZE) |
|
# define APP_RESERVATION_SIZE 0 |
|
#endif |
|
|
|
#if !defined(BOARD_FIRST_FLASH_SECTOR_TO_ERASE) |
|
# define BOARD_FIRST_FLASH_SECTOR_TO_ERASE 1 |
|
#endif |
|
|
|
#if !defined(USB_DATA_ALIGN) |
|
# define USB_DATA_ALIGN |
|
#endif |
|
|
|
#ifndef BOOT_DEVICES_SELECTION |
|
# define BOOT_DEVICES_SELECTION USB0_DEV|SERIAL0_DEV|SERIAL1_DEV |
|
#endif |
|
|
|
#ifndef BOOT_DEVICES_FILTER_ONUSB |
|
# define BOOT_DEVICES_FILTER_ONUSB USB0_DEV|SERIAL0_DEV|SERIAL1_DEV |
|
#endif
|
|
|