From 40e04e3772726829d66c12e69f24b03920d79c67 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Wed, 25 Jan 2017 22:24:18 +0100 Subject: o Moving tinyprintf and stm libraries under thirdparty. --- .../FLASH/Dual_Boot/main.c | 300 --------------------- 1 file changed, 300 deletions(-) delete mode 100644 tmp/STM32F10x_StdPeriph_Lib_V3.5.0/Project/STM32F10x_StdPeriph_Examples/FLASH/Dual_Boot/main.c (limited to 'tmp/STM32F10x_StdPeriph_Lib_V3.5.0/Project/STM32F10x_StdPeriph_Examples/FLASH/Dual_Boot/main.c') diff --git a/tmp/STM32F10x_StdPeriph_Lib_V3.5.0/Project/STM32F10x_StdPeriph_Examples/FLASH/Dual_Boot/main.c b/tmp/STM32F10x_StdPeriph_Lib_V3.5.0/Project/STM32F10x_StdPeriph_Examples/FLASH/Dual_Boot/main.c deleted file mode 100644 index 9a1b53e..0000000 --- a/tmp/STM32F10x_StdPeriph_Lib_V3.5.0/Project/STM32F10x_StdPeriph_Examples/FLASH/Dual_Boot/main.c +++ /dev/null @@ -1,300 +0,0 @@ -/** - ****************************************************************************** - * @file FLASH/Dual_Boot/main.c - * @author MCD Application Team - * @version V3.5.0 - * @date 08-April-2011 - * @brief Main program body - ****************************************************************************** - * @attention - * - * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS - * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE - * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY - * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING - * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE - * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. - * - *

© COPYRIGHT 2011 STMicroelectronics

- ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - - -/** @addtogroup STM32F10x_StdPeriph_Examples - * @{ - */ - -/** @addtogroup Dual_Boot - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus; - -/* Private define ------------------------------------------------------------*/ -/* Uncomment one of the lines below to select which bank to boot from */ -#if !defined(BOOT_FROM_BANK1) && !defined(BOOT_FROM_BANK2) -//#define BOOT_FROM_BANK1 /* The program will be loaded on Flash Bank1 */ -//#define BOOT_FROM_BANK2 /* The program will be loaded on Flash Bank2 */ -#endif - -#if defined(BOOT_FROM_BANK1) - #define MESSAGE4 " Running from Bank 1" -#elif defined(BOOT_FROM_BANK2) - #define MESSAGE4 " Running from Bank 2" -#else - #error "Select Boot from Bank1 or Bank2 using defines:BOOT_FROM_BANK1 or BOOT_FROM_BANK2!" -#endif - -#define MESSAGE1 " STM32 XL Density " -#define MESSAGE2 " Device running on " -#define MESSAGE3 " STM3210E-EVAL " - -#define MESSAGE5 " Joystick-DOWN: reset BFB2" -#define MESSAGE6 " bit to Boot from Bank2 " -#define MESSAGE7 " Joystick-UP: set BFB2 " -#define MESSAGE8 " bit to Boot from Bank1 " - -#define MESSAGE9 " Joystick-SEL: program to " -#define MESSAGE10 " 0x0 the base @ of Bank1/2" - -#define MESSAGE11 " Operation Failed !" -#define MESSAGE12 "Bank 1/2 base @ -> 0" - -#define BANK1_START_ADDRESS 0x08000000 -#define BANK2_START_ADDRESS 0x08080000 - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -USART_InitTypeDef USART_InitStructure; - -static __IO uint32_t TimingDelay; -RCC_ClocksTypeDef RCC_Clocks; - -/* Private function prototypes -----------------------------------------------*/ -void Delay(__IO uint32_t nTime); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f10x_xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f10x.c file - */ - - /* Set the vector table address */ -#if defined(BOOT_FROM_BANK1) - /* Set the vector table to the Bank1 start address */ - NVIC_SetVectorTable(NVIC_VectTab_FLASH, BANK1_START_ADDRESS); -#elif defined(BOOT_FROM_BANK2) - /* Set the vector table to the Bank1 start address */ - NVIC_SetVectorTable(NVIC_VectTab_FLASH, BANK2_START_ADDRESS); -#endif /* BOOT_FROM_BANK1 */ - - /* Initialize LEDs, Buttons and LCD on STM3210E-EVAL board *****************/ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* SysTick end of count event each 10ms */ - RCC_GetClocksFreq(&RCC_Clocks); - SysTick_Config(RCC_Clocks.HCLK_Frequency / 100); - - /* Configure the Joystick buttons */ - STM_EVAL_PBInit(BUTTON_UP, BUTTON_MODE_GPIO); - STM_EVAL_PBInit(BUTTON_SEL, BUTTON_MODE_GPIO); - STM_EVAL_PBInit(BUTTON_DOWN, BUTTON_MODE_GPIO); - /* Initialize the LCD */ - STM3210E_LCD_Init(); - - /* Display message on STM3210E-EVAL LCD *************************************/ - /* Clear the LCD */ - LCD_Clear(LCD_COLOR_WHITE); - - /* Set the LCD Back Color */ -#if defined(BOOT_FROM_BANK1) - LCD_SetBackColor(LCD_COLOR_BLUE); -#elif defined(BOOT_FROM_BANK2) - LCD_SetBackColor(LCD_COLOR_RED); -#endif /* BOOT_FROM_BANK1 */ - - /* Set the LCD Text Color */ - LCD_SetTextColor(LCD_COLOR_WHITE); - LCD_DisplayStringLine(LCD_LINE_0, MESSAGE1); - LCD_DisplayStringLine(LCD_LINE_1, MESSAGE2); - LCD_DisplayStringLine(LCD_LINE_2, MESSAGE3); - LCD_DisplayStringLine(LCD_LINE_4, MESSAGE4); - - LCD_SetFont(&Font12x12); - LCD_DisplayStringLine(LCD_LINE_12, MESSAGE5); - LCD_DisplayStringLine(LCD_LINE_13, MESSAGE6); - LCD_DisplayStringLine(LCD_LINE_15, MESSAGE7); - LCD_DisplayStringLine(LCD_LINE_16, MESSAGE8); - LCD_DisplayStringLine(LCD_LINE_18, MESSAGE9); - LCD_DisplayStringLine(LCD_LINE_19, MESSAGE10); - LCD_SetFont(&Font16x24); - - /* Turn on leds available on STM3210E-EVAL **********************************/ - STM_EVAL_LEDOn(LED1); - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - - /* Infinite loop */ - while (1) - { - /*--- If Joystick DOWN button is pushed, reset BFB2 bit to enable boot from Bank2 - (active after next reset, w/ Boot pins set in Boot from Flash memory position ---*/ - if (STM_EVAL_PBGetState(BUTTON_DOWN) == 0) - { - /* Reset BFB2 bit to enable boot from Flash Bank2 */ - FLASH_Unlock(); - FLASH_EraseOptionBytes(); - - if (FLASH_BootConfig(FLASH_BOOT_Bank2) == FLASH_COMPLETE) - { - /* Generate System Reset to load the new option byte values */ - NVIC_SystemReset(); - } - else - { - /* Display information */ - LCD_DisplayStringLine(LCD_LINE_6, MESSAGE11); - } - } - - /*--- If Joystick UP button is pushed, set BFB2 bit to enable boot from Bank1 - (active after next reset, w/ Boot pins set in Boot from Flash memory position ---*/ - if (STM_EVAL_PBGetState(BUTTON_UP) == 0) - { - /* Set BFB2 bit to enable boot from Flash Bank2 */ - FLASH_Unlock(); - FLASH_EraseOptionBytes(); - if (FLASH_BootConfig(FLASH_BOOT_Bank1) == FLASH_COMPLETE) - { - /* Generate System Reset to load the new option byte values */ - NVIC_SystemReset(); - } - else - { - /* Display information */ - LCD_DisplayStringLine(LCD_LINE_6, MESSAGE11); - } - } - - /*--- If Joystick UP button is pushed, program the content of address 0x08080000 - (base address of Bank2) and 0x08000000(base address of Bank1) to 0x00 --*/ - if (STM_EVAL_PBGetState(BUTTON_SEL) == 0) - { - FLASH_Unlock(); - /* Erase stack pointer value at Bank 2 start address */ - FLASH_ProgramWord(BANK2_START_ADDRESS, 0x00); - /* Erase stack pointer value at Bank 1 start address */ - FLASH_ProgramWord(BANK1_START_ADDRESS, 0x00); - FLASH_Lock(); - - LCD_ClearLine(LCD_LINE_7); - LCD_ClearLine(LCD_LINE_8); - LCD_ClearLine(LCD_LINE_9); - - /* Check if erase operation is OK */ - if ((uint32_t)(*(uint32_t *)BANK2_START_ADDRESS) == 0x00) - { - if ((uint32_t)(*(uint32_t *)BANK1_START_ADDRESS) != 0x00) - { - /* Display information */ - LCD_DisplayStringLine(LCD_LINE_6, MESSAGE11); - } - else - { - /* Display information */ - LCD_DisplayStringLine(LCD_LINE_6, MESSAGE12); - } - } - else - { - /* Display information */ - LCD_DisplayStringLine(LCD_LINE_6, MESSAGE11); - } - } - - /* Toggle LD3 */ - STM_EVAL_LEDToggle(LED3); - - /* Insert 50 ms delay */ - Delay(5); - - /* Toggle LD2 */ - STM_EVAL_LEDToggle(LED2); - - /* Insert 100 ms delay */ - Delay(10); - } -} - -/** - * @brief Inserts a delay time. - * @param nTime: specifies the delay time length, in 10 ms. - * @retval None - */ -void Delay(__IO uint32_t nTime) -{ - TimingDelay = nTime; - - while (TimingDelay != 0); -} - -/** - * @brief Decrements the TimingDelay variable. - * @param None - * @retval None - */ -void TimingDelay_Decrement(void) -{ - if (TimingDelay != 0x00) - { - TimingDelay--; - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} - -#endif - -/** - * @} - */ - -/** - * @} - */ - -/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ -- cgit v1.2.3