From: Keith Packard Date: Sun, 26 Feb 2023 06:41:48 +0000 (-0800) Subject: altos/stm32f103-nucleo: Add boot loader X-Git-Tag: 1.9.18~2^2~86 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=09a3c086dae1cce43c843626a1c624b4e2ad8d04 altos/stm32f103-nucleo: Add boot loader Signed-off-by: Keith Packard --- diff --git a/src/stm32f103-nucleo/Makefile b/src/stm32f103-nucleo/Makefile index b6abf8c4..9459d11d 100644 --- a/src/stm32f103-nucleo/Makefile +++ b/src/stm32f103-nucleo/Makefile @@ -1,4 +1,4 @@ -include ../stm32f1/Makefile-raw.defs +include ../stm32f1/Makefile.defs INC = \ ao.h \ @@ -13,6 +13,7 @@ INC = \ ALTOS_SRC = \ ao_clock.c \ ao_timer.c \ + ao_boot_chain.c \ ao_interrupt.c \ ao_product.c \ ao_romconfig.c \ diff --git a/src/stm32f103-nucleo/ao_pins.h b/src/stm32f103-nucleo/ao_pins.h index 62e50edc..6de5c9a9 100644 --- a/src/stm32f103-nucleo/ao_pins.h +++ b/src/stm32f103-nucleo/ao_pins.h @@ -40,13 +40,17 @@ #define AO_USB_PULLUP_PORT (&stm_gpiob) #define AO_USB_PULLUP_PIN 12 - #define HAS_LED 1 #define LED_0_PORT (&stm_gpioa) #define LED_0_PIN 5 #define AO_LED_GREEN (1 << 0) #define AO_LED_PANIC AO_LED_GREEN -#define HAS_SERIAL_1 1 -#define USE_SERIAL_1_STDIN 1 +#define HAS_SERIAL_1 0 +#define USE_SERIAL_1_STDIN 0 #define SERIAL_1_PA9_PA10 1 + +#define HAS_SERIAL_2 1 +#define USE_SERIAL_2_STDIN 1 +#define SERIAL_2_PA2_PA3 1 +#define SERIAL_2_SPEED AO_SERIAL_SPEED_115200 diff --git a/src/stm32f103-nucleo/flash-loader/Makefile b/src/stm32f103-nucleo/flash-loader/Makefile new file mode 100644 index 00000000..8246b4d2 --- /dev/null +++ b/src/stm32f103-nucleo/flash-loader/Makefile @@ -0,0 +1,8 @@ +# +# AltOS flash loader build +# +# + +TOPDIR=../.. +HARDWARE=nucleo-f103 +include $(TOPDIR)/stm32f1/Makefile-flash.defs diff --git a/src/stm32f103-nucleo/flash-loader/ao_pins.h b/src/stm32f103-nucleo/flash-loader/ao_pins.h new file mode 100644 index 00000000..f46a385c --- /dev/null +++ b/src/stm32f103-nucleo/flash-loader/ao_pins.h @@ -0,0 +1,53 @@ +/* + * Copyright © 2013 Keith Packard + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ + +#ifndef _AO_PINS_H_ +#define _AO_PINS_H_ + +#define AO_HSE 1 +#define AO_HSE_BYPASS 1 + +#define AO_SYSCLK 72000000 +#define AO_HCLK 72000000 +#define AO_APB1CLK 36000000 +#define AO_APB2CLK 72000000 +#define AO_ADCCLK 12000000 + +#define AO_RCC_CFGR_USBPRE STM_RCC_CFGR_USBPRE_1_5 +#define AO_RCC_CFGR_PLLMUL STM_RCC_CFGR_PLLMUL_9 +#define AO_RCC_CFGR_PLLXTPRE STM_RCC_CFGR_PLLXTPRE_1 +#define AO_RCC_CFGR_PPRE2_DIV STM_RCC_CFGR_PPRE2_DIV_1 +#define AO_RCC_CFGR_PPRE1_DIV STM_RCC_CFGR_PPRE1_DIV_2 +#define AO_RCC_CFGR_HPRE_DIV STM_RCC_CFGR_HPRE_DIV_1 +#define AO_RCC_CFGR_ADCPRE STM_RCC_CFGR_ADCPRE_6 + +#include + +/* Companion port cs_companion0 PB6 */ + +#define AO_BOOT_PIN 1 +#define AO_BOOT_APPLICATION_GPIO stm_gpiob +#define AO_BOOT_APPLICATION_PIN 6 +#define AO_BOOT_APPLICATION_VALUE 1 +#define AO_BOOT_APPLICATION_MODE AO_EXTI_MODE_PULL_UP + +#define HAS_USB_PULLUP 1 +#define AO_USB_PULLUP_PORT (&stm_gpiob) +#define AO_USB_PULLUP_PIN 12 + +#endif /* _AO_PINS_H_ */