Ignore:
Timestamp:
Oct 7, 2026, 12:20:36 PM (4 weeks ago)
Author:
Zed
Message:

First Stage Bootloader now can be debugged and flashed directly in SES.
RTT is also working.

Location:
trunk/firmware/FSBL/CubeMX/FSBL/Src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/firmware/FSBL/CubeMX/FSBL/Src/gpio.c

    r16 r24  
    4444
    4545  /* GPIO Ports Clock Enable */
    46   __HAL_RCC_GPIOQ_CLK_ENABLE();
    47   __HAL_RCC_GPIOC_CLK_ENABLE();
    48   __HAL_RCC_GPIOE_CLK_ENABLE();
    49   __HAL_RCC_GPIOD_CLK_ENABLE();
    50   __HAL_RCC_GPIOH_CLK_ENABLE();
     46  __HAL_RCC_GPION_CLK_ENABLE();
     47  __HAL_RCC_GPIOG_CLK_ENABLE();
     48  __HAL_RCC_GPIOA_CLK_ENABLE();
    5149  __HAL_RCC_GPIOB_CLK_ENABLE();
    52   __HAL_RCC_GPIOP_CLK_ENABLE();
    53   __HAL_RCC_GPIOO_CLK_ENABLE();
    54   __HAL_RCC_GPIOG_CLK_ENABLE();
    55   __HAL_RCC_GPIOF_CLK_ENABLE();
    56   __HAL_RCC_GPION_CLK_ENABLE();
    57   __HAL_RCC_GPIOA_CLK_ENABLE();
    5850
    5951  /*Configure GPIO pin Output Level */
    6052  HAL_GPIO_WritePin(GREEN_LED_GPIO_Port, GREEN_LED_Pin, GPIO_PIN_RESET);
    61 
    62   /*Configure GPIO pins : PQ6 PQ3 PQ4 PQ5
    63                            PQ2 PQ1 PQ0 PQ7 */
    64   GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5
    65                           |GPIO_PIN_2|GPIO_PIN_1|GPIO_PIN_0|GPIO_PIN_7;
    66   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    67   GPIO_InitStruct.Pull = GPIO_NOPULL;
    68   HAL_GPIO_Init(GPIOQ, &GPIO_InitStruct);
    69 
    70   /*Configure GPIO pins : PC10 PC1 PC4 PC11
    71                            PC6 PC5 PC9 PC12
    72                            PC7 PC0 PC8 PC2
    73                            PC3 PC13 */
    74   GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_11
    75                           |GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_9|GPIO_PIN_12
    76                           |GPIO_PIN_7|GPIO_PIN_0|GPIO_PIN_8|GPIO_PIN_2
    77                           |GPIO_PIN_3|GPIO_PIN_13;
    78   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    79   GPIO_InitStruct.Pull = GPIO_NOPULL;
    80   HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
    81 
    82   /*Configure GPIO pins : PE13 PE15 PE8 PE9
    83                            PE14 PE12 PE7 PE10
    84                            PE5 PE4 PE6 PE11
    85                            PE3 PE2 PE0 PE1 */
    86   GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_15|GPIO_PIN_8|GPIO_PIN_9
    87                           |GPIO_PIN_14|GPIO_PIN_12|GPIO_PIN_7|GPIO_PIN_10
    88                           |GPIO_PIN_5|GPIO_PIN_4|GPIO_PIN_6|GPIO_PIN_11
    89                           |GPIO_PIN_3|GPIO_PIN_2|GPIO_PIN_0|GPIO_PIN_1;
    90   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    91   GPIO_InitStruct.Pull = GPIO_NOPULL;
    92   HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
    93 
    94   /*Configure GPIO pins : PD10 PD1 PD15 PD4
    95                            PD2 PD12 PD14 PD13
    96                            PD6 PD0 PD5 PD7
    97                            PD3 PD8 PD11 PD9 */
    98   GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_1|GPIO_PIN_15|GPIO_PIN_4
    99                           |GPIO_PIN_2|GPIO_PIN_12|GPIO_PIN_14|GPIO_PIN_13
    100                           |GPIO_PIN_6|GPIO_PIN_0|GPIO_PIN_5|GPIO_PIN_7
    101                           |GPIO_PIN_3|GPIO_PIN_8|GPIO_PIN_11|GPIO_PIN_9;
    102   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    103   GPIO_InitStruct.Pull = GPIO_NOPULL;
    104   HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
    105 
    106   /*Configure GPIO pins : PH3 PH6 PH8 PH7
    107                            PH9 PH2 PH4 PH5 */
    108   GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_6|GPIO_PIN_8|GPIO_PIN_7
    109                           |GPIO_PIN_9|GPIO_PIN_2|GPIO_PIN_4|GPIO_PIN_5;
    110   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    111   GPIO_InitStruct.Pull = GPIO_NOPULL;
    112   HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
    113 
    114   /*Configure GPIO pins : PB14 PB13 PB2 PB9
    115                            PB8 PB15 PB0 PB7
    116                            PB6 PB3 PB11 PB12
    117                            PB1 PB4 PB10 PB5 */
    118   GPIO_InitStruct.Pin = GPIO_PIN_14|GPIO_PIN_13|GPIO_PIN_2|GPIO_PIN_9
    119                           |GPIO_PIN_8|GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_7
    120                           |GPIO_PIN_6|GPIO_PIN_3|GPIO_PIN_11|GPIO_PIN_12
    121                           |GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_10|GPIO_PIN_5;
    122   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    123   GPIO_InitStruct.Pull = GPIO_NOPULL;
    124   HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
    125 
    126   /*Configure GPIO pins : PP7 PP6 PP0 PP4
    127                            PP1 PP15 PP5 PP12
    128                            PP3 PP2 PP13 PP11
    129                            PP8 PP14 PP9 PP10 */
    130   GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_0|GPIO_PIN_4
    131                           |GPIO_PIN_1|GPIO_PIN_15|GPIO_PIN_5|GPIO_PIN_12
    132                           |GPIO_PIN_3|GPIO_PIN_2|GPIO_PIN_13|GPIO_PIN_11
    133                           |GPIO_PIN_8|GPIO_PIN_14|GPIO_PIN_9|GPIO_PIN_10;
    134   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    135   GPIO_InitStruct.Pull = GPIO_NOPULL;
    136   HAL_GPIO_Init(GPIOP, &GPIO_InitStruct);
    137 
    138   /*Configure GPIO pins : PO5 PO1 PO2 PO3
    139                            PO0 PO4 */
    140   GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
    141                           |GPIO_PIN_0|GPIO_PIN_4;
    142   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    143   GPIO_InitStruct.Pull = GPIO_NOPULL;
    144   HAL_GPIO_Init(GPIOO, &GPIO_InitStruct);
    145 
    146   /*Configure GPIO pins : PG7 PG6 PG5 PG4
    147                            PG14 PG3 PG15 PG1
    148                            PG12 PG10 PG2 PG9
    149                            PG8 PG13 PG11 */
    150   GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4
    151                           |GPIO_PIN_14|GPIO_PIN_3|GPIO_PIN_15|GPIO_PIN_1
    152                           |GPIO_PIN_12|GPIO_PIN_10|GPIO_PIN_2|GPIO_PIN_9
    153                           |GPIO_PIN_8|GPIO_PIN_13|GPIO_PIN_11;
    154   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    155   GPIO_InitStruct.Pull = GPIO_NOPULL;
    156   HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
    157 
    158   /*Configure GPIO pins : PF4 PF10 PF6 PF7
    159                            PF3 PF5 PF15 PF14
    160                            PF8 PF2 PF9 PF11
    161                            PF1 PF13 PF0 PF12 */
    162   GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_10|GPIO_PIN_6|GPIO_PIN_7
    163                           |GPIO_PIN_3|GPIO_PIN_5|GPIO_PIN_15|GPIO_PIN_14
    164                           |GPIO_PIN_8|GPIO_PIN_2|GPIO_PIN_9|GPIO_PIN_11
    165                           |GPIO_PIN_1|GPIO_PIN_13|GPIO_PIN_0|GPIO_PIN_12;
    166   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    167   GPIO_InitStruct.Pull = GPIO_NOPULL;
    168   HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
    169 
    170   /*Configure GPIO pins : PA9 PA6 PA1 PA15
    171                            PA10 PA5 PA7 PA3
    172                            PA11 PA2 PA12 PA8
    173                            PA0 PA4 */
    174   GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_6|GPIO_PIN_1|GPIO_PIN_15
    175                           |GPIO_PIN_10|GPIO_PIN_5|GPIO_PIN_7|GPIO_PIN_3
    176                           |GPIO_PIN_11|GPIO_PIN_2|GPIO_PIN_12|GPIO_PIN_8
    177                           |GPIO_PIN_0|GPIO_PIN_4;
    178   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    179   GPIO_InitStruct.Pull = GPIO_NOPULL;
    180   HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
    181 
    182   /*Configure GPIO pins : PN12 PN7 */
    183   GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_7;
    184   GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    185   GPIO_InitStruct.Pull = GPIO_NOPULL;
    186   HAL_GPIO_Init(GPION, &GPIO_InitStruct);
    18753
    18854  /*Configure GPIO pin : GREEN_LED_Pin */
  • trunk/firmware/FSBL/CubeMX/FSBL/Src/main.c

    r20 r24  
    2727/* USER CODE BEGIN Includes */
    2828
     29#include <stdio.h>
     30
    2931/* USER CODE END Includes */
    3032
    … …  
    105107  /* USER CODE BEGIN 2 */
    106108
    107   for (int i = 0; i < 10; ++i)
     109  for (int i = 0; i < 1000; ++i)
    108110  {
    109111        HAL_GPIO_WritePin(GPIOG, GPIO_PIN_0, GPIO_PIN_SET);
    … …  
    111113        HAL_GPIO_WritePin(GPIOG, GPIO_PIN_0, GPIO_PIN_RESET);
    112114        HAL_Delay(25U);
     115        printf("[%3d] Running\n", i);
    113116  }
    114117
  • trunk/firmware/FSBL/CubeMX/FSBL/Src/xspi.c

    r19 r24  
    7878void HAL_XSPI_MspInit(XSPI_HandleTypeDef* xspiHandle)
    7979{
     80
    8081  GPIO_InitTypeDef GPIO_InitStruct = {0};
    8182  RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
Note: See TracChangeset for help on using the changeset viewer.