Skip to content

Commit 5a4e51a

Browse files
committed
[NUCLEO_F401RE] Update STM32CubeF4 driver V1.0.0 (part 3/4)
1 parent 3a37a05 commit 5a4e51a

30 files changed

+535
-275
lines changed

libraries/mbed/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/stm32f4xx_hal_nand.c

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
******************************************************************************
33
* @file stm32f4xx_hal_nand.c
44
* @author MCD Application Team
5-
* @version V1.0.0RC2
6-
* @date 04-February-2014
5+
* @version V1.0.0
6+
* @date 18-February-2014
77
* @brief NAND HAL module driver.
88
* This file provides a generic firmware to drive NAND memories mounted
99
* as external device.
@@ -154,13 +154,12 @@ HAL_StatusTypeDef HAL_NAND_Init(NAND_HandleTypeDef *hnand, FMC_NAND_PCC_TimingT
154154
FMC_NAND_AttributeSpace_Timing_Init(hnand->Instance, AttSpace_Timing, hnand->Init.NandBank);
155155

156156
/* Enable the NAND device */
157-
__FMC_NAND_ENABLE(hnand->Instance, hnand->Init.NandBank);
157+
__FMC_NAND_ENABLE(hnand->Instance, hnand->Init.NandBank);
158158

159159
/* Update the NAND controller state */
160-
hnand->State = HAL_NAND_STATE_READY;
161-
162-
return HAL_OK;
160+
hnand->State = HAL_NAND_STATE_READY;
163161

162+
return HAL_OK;
164163
}
165164

166165
/**
@@ -172,12 +171,17 @@ HAL_StatusTypeDef HAL_NAND_DeInit(NAND_HandleTypeDef *hnand)
172171
{
173172
/* Initialize the low level hardware (MSP) */
174173
HAL_NAND_MspDeInit(hnand);
175-
174+
176175
/* Configure the NAND registers with their reset values */
177176
FMC_NAND_DeInit(hnand->Instance, hnand->Init.NandBank);
178177

179-
return HAL_OK;
180-
178+
/* Reset the NAND controller state */
179+
hnand->State = HAL_NAND_STATE_RESET;
180+
181+
/* Release Lock */
182+
__HAL_UNLOCK(hnand);
183+
184+
return HAL_OK;
181185
}
182186

183187
/**

libraries/mbed/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/stm32f4xx_hal_nand.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
******************************************************************************
33
* @file stm32f4xx_hal_nand.h
44
* @author MCD Application Team
5-
* @version V1.0.0RC2
6-
* @date 04-February-2014
5+
* @version V1.0.0
6+
* @date 18-February-2014
77
* @brief Header file of NAND HAL module.
88
******************************************************************************
99
* @attention
@@ -193,10 +193,10 @@ typedef struct
193193
/* Initialization/de-initialization functions **********************************/
194194
HAL_StatusTypeDef HAL_NAND_Init(NAND_HandleTypeDef *hnand, FMC_NAND_PCC_TimingTypeDef *ComSpace_Timing, FMC_NAND_PCC_TimingTypeDef *AttSpace_Timing);
195195
HAL_StatusTypeDef HAL_NAND_DeInit(NAND_HandleTypeDef *hnand);
196-
__weak void HAL_NAND_MspInit(NAND_HandleTypeDef *hnand);
197-
__weak void HAL_NAND_MspDeInit(NAND_HandleTypeDef *hnand);
196+
void HAL_NAND_MspInit(NAND_HandleTypeDef *hnand);
197+
void HAL_NAND_MspDeInit(NAND_HandleTypeDef *hnand);
198198
void HAL_NAND_IRQHandler(NAND_HandleTypeDef *hnand);
199-
__weak void HAL_NAND_ITCallback(NAND_HandleTypeDef *hnand);
199+
void HAL_NAND_ITCallback(NAND_HandleTypeDef *hnand);
200200

201201
/* IO operation functions *****************************************************/
202202
HAL_StatusTypeDef HAL_NAND_Read_ID(NAND_HandleTypeDef *hnand, NAND_IDTypeDef *pNAND_ID);

libraries/mbed/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/stm32f4xx_hal_nor.c

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
******************************************************************************
33
* @file stm32f4xx_hal_nor.c
44
* @author MCD Application Team
5-
* @version V1.0.0RC2
6-
* @date 04-February-2014
5+
* @version V1.0.0
6+
* @date 18-February-2014
77
* @brief NOR HAL module driver.
88
* This file provides a generic firmware to drive NOR memories mounted
99
* as external device.
@@ -94,12 +94,11 @@
9494
* @{
9595
*/
9696
#ifdef HAL_NOR_MODULE_ENABLED
97-
9897
#if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx) || defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)
9998

10099
/* Private typedef -----------------------------------------------------------*/
101100
/* Private define ------------------------------------------------------------*/
102-
/* Private macro -------------------------------------------------------------*/
101+
/* Private macro -------------------------------------------------------------*/
103102
/* Private variables ---------------------------------------------------------*/
104103
/* Private function prototypes -----------------------------------------------*/
105104

@@ -144,7 +143,7 @@ HAL_StatusTypeDef HAL_NOR_Init(NOR_HandleTypeDef *hnor, FMC_NORSRAM_TimingTypeDe
144143
{
145144
/* Initialize the low level hardware (MSP) */
146145
HAL_NOR_MspInit(hnor);
147-
}
146+
}
148147

149148
/* Initialize NOR control Interface */
150149
FMC_NORSRAM_Init(hnor->Instance, &(hnor->Init));
@@ -154,15 +153,14 @@ HAL_StatusTypeDef HAL_NOR_Init(NOR_HandleTypeDef *hnor, FMC_NORSRAM_TimingTypeDe
154153

155154
/* Initialize NOR extended mode timing Interface */
156155
FMC_NORSRAM_Extended_Timing_Init(hnor->Extended, ExtTiming, hnor->Init.NSBank, hnor->Init.ExtendedMode);
157-
156+
158157
/* Enable the NORSRAM device */
159158
__FMC_NORSRAM_ENABLE(hnor->Instance, hnor->Init.NSBank);
160-
159+
161160
/* Check the NOR controller state */
162161
hnor->State = HAL_NOR_STATE_READY;
163162

164163
return HAL_OK;
165-
166164
}
167165

168166
/**
@@ -172,18 +170,18 @@ HAL_StatusTypeDef HAL_NOR_Init(NOR_HandleTypeDef *hnor, FMC_NORSRAM_TimingTypeDe
172170
*/
173171
HAL_StatusTypeDef HAL_NOR_DeInit(NOR_HandleTypeDef *hnor)
174172
{
175-
/* Update the NOR controller state */
176-
hnor->State = HAL_NOR_STATE_BUSY;
177-
178173
/* De-Initialize the low level hardware (MSP) */
179174
HAL_NOR_MspDeInit(hnor);
180175

181176
/* Configure the NOR registers with their reset values */
182177
FMC_NORSRAM_DeInit(hnor->Instance, hnor->Extended, hnor->Init.NSBank);
183178

184179
/* Update the NOR controller state */
185-
hnor->State = HAL_NOR_STATE_READY;
186-
180+
hnor->State = HAL_NOR_STATE_RESET;
181+
182+
/* Release Lock */
183+
__HAL_UNLOCK(hnor);
184+
187185
return HAL_OK;
188186
}
189187

@@ -309,7 +307,6 @@ HAL_StatusTypeDef HAL_NOR_ReturnToReadMode(NOR_HandleTypeDef *hnor)
309307
return HAL_OK;
310308
}
311309

312-
313310
/**
314311
* @brief Read data from NOR memory
315312
* @param hnor: pointer to NOR handle
@@ -348,7 +345,6 @@ HAL_StatusTypeDef HAL_NOR_Read(NOR_HandleTypeDef *hnor, uint32_t *pAddress, uint
348345
return HAL_OK;
349346
}
350347

351-
352348
/**
353349
* @brief Program data to NOR memory
354350
* @param hnor: pointer to NOR handle
@@ -387,7 +383,6 @@ HAL_StatusTypeDef HAL_NOR_Program(NOR_HandleTypeDef *hnor, uint32_t *pAddress, u
387383
return HAL_OK;
388384
}
389385

390-
391386
/**
392387
* @brief Reads a block of data from the FMC NOR memory.
393388
* @param hnor: pointer to NOR handle
@@ -433,7 +428,6 @@ HAL_StatusTypeDef HAL_NOR_ReadBuffer(NOR_HandleTypeDef *hnor, uint32_t uwAddress
433428
return HAL_OK;
434429
}
435430

436-
437431
/**
438432
* @brief Writes a half-word buffer to the FMC NOR memory. This function
439433
* must be used only with S29GL128P NOR memory.
@@ -536,7 +530,6 @@ HAL_StatusTypeDef HAL_NOR_Erase_Block(NOR_HandleTypeDef *hnor, uint32_t BlockAdd
536530

537531
}
538532

539-
540533
/**
541534
* @brief Erase the entire NOR chip.
542535
* @param hnor: pointer to NOR handle
@@ -574,7 +567,6 @@ HAL_StatusTypeDef HAL_NOR_Erase_Chip(NOR_HandleTypeDef *hnor, uint32_t Address)
574567
return HAL_OK;
575568
}
576569

577-
578570
/**
579571
* @brief Read NOR flash CFI IDs
580572
* @param hnor: pointer to NOR handle
@@ -613,7 +605,6 @@ HAL_StatusTypeDef HAL_NOR_Read_CFI(NOR_HandleTypeDef *hnor, NOR_CFITypeDef *pNOR
613605
return HAL_OK;
614606
}
615607

616-
617608
/**
618609
* @}
619610
*/
@@ -624,7 +615,7 @@ HAL_StatusTypeDef HAL_NOR_Read_CFI(NOR_HandleTypeDef *hnor, NOR_CFITypeDef *pNOR
624615
@verbatim
625616
==============================================================================
626617
##### NOR Control functions #####
627-
==============================================================================
618+
==============================================================================
628619
[..]
629620
This subsection provides a set of functions allowing to control dynamically
630621
the NOR interface.

libraries/mbed/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/stm32f4xx_hal_nor.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
******************************************************************************
33
* @file stm32f4xx_hal_nor.h
44
* @author MCD Application Team
5-
* @version V1.0.0RC2
6-
* @date 04-February-2014
5+
* @version V1.0.0
6+
* @date 18-February-2014
77
* @brief Header file of NOR HAL module.
88
******************************************************************************
99
* @attention
@@ -190,16 +190,16 @@ typedef struct
190190
* @param __DATA__: Data to write
191191
* @retval None
192192
*/
193-
#define __NOR_WRITE(__ADDRESS__, __DATA__) (*(__IO uint32_t *)(__ADDRESS__) = (__DATA__))
193+
#define __NOR_WRITE(__ADDRESS__, __DATA__) (*(__IO uint16_t *)((uint32_t)(__ADDRESS__)) = (__DATA__))
194194

195195
/* Exported functions --------------------------------------------------------*/
196196

197197
/* Initialization/de-initialization functions **********************************/
198198
HAL_StatusTypeDef HAL_NOR_Init(NOR_HandleTypeDef *hnor, FMC_NORSRAM_TimingTypeDef *Timing, FMC_NORSRAM_TimingTypeDef *ExtTiming);
199199
HAL_StatusTypeDef HAL_NOR_DeInit(NOR_HandleTypeDef *hnor);
200-
__weak void HAL_NOR_MspInit(NOR_HandleTypeDef *hnor);
201-
__weak void HAL_NOR_MspDeInit(NOR_HandleTypeDef *hnor);
202-
__weak void HAL_NOR_MspWait(NOR_HandleTypeDef *hnor, uint32_t Timeout);
200+
void HAL_NOR_MspInit(NOR_HandleTypeDef *hnor);
201+
void HAL_NOR_MspDeInit(NOR_HandleTypeDef *hnor);
202+
void HAL_NOR_MspWait(NOR_HandleTypeDef *hnor, uint32_t Timeout);
203203

204204
/* I/O operation functions *****************************************************/
205205
HAL_StatusTypeDef HAL_NOR_Read_ID(NOR_HandleTypeDef *hnor, NOR_IDTypeDef *pNOR_ID);

libraries/mbed/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/stm32f4xx_hal_pccard.c

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
******************************************************************************
33
* @file stm32f4xx_hal_pccard.c
44
* @author MCD Application Team
5-
* @version V1.0.0RC2
6-
* @date 04-February-2014
5+
* @version V1.0.0
6+
* @date 18-February-2014
77
* @brief PCCARD HAL module driver.
88
* This file provides a generic firmware to drive PCCARD memories mounted
99
* as external device.
@@ -86,12 +86,11 @@
8686
* @{
8787
*/
8888
#ifdef HAL_PCCARD_MODULE_ENABLED
89-
9089
#if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx) || defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)
9190

9291
/* Private typedef -----------------------------------------------------------*/
9392
/* Private define ------------------------------------------------------------*/
94-
/* Private macro -------------------------------------------------------------*/
93+
/* Private macro -------------------------------------------------------------*/
9594
/* Private variables ---------------------------------------------------------*/
9695
/* Private function prototypes -----------------------------------------------*/
9796
/* Private functions ---------------------------------------------------------*/
@@ -169,18 +168,18 @@ HAL_StatusTypeDef HAL_PCCARD_Init(PCCARD_HandleTypeDef *hpccard, FMC_NAND_PCC_Ti
169168
*/
170169
HAL_StatusTypeDef HAL_PCCARD_DeInit(PCCARD_HandleTypeDef *hpccard)
171170
{
172-
/* Update the PCCARD controller state */
173-
hpccard->State = HAL_PCCARD_STATE_BUSY;
174-
175171
/* De-Initialize the low level hardware (MSP) */
176-
HAL_PCCARD_MspDeInit(hpccard);
172+
HAL_PCCARD_MspDeInit(hpccard);
177173

178174
/* Configure the PCCARD registers with their reset values */
179175
FMC_PCCARD_DeInit(hpccard->Instance);
180176

181177
/* Update the PCCARD controller state */
182178
hpccard->State = HAL_PCCARD_STATE_RESET;
183-
179+
180+
/* Release Lock */
181+
__HAL_UNLOCK(hpccard);
182+
184183
return HAL_OK;
185184
}
186185

libraries/mbed/targets/cmsis/TARGET_STM/TARGET_NUCLEO_F401RE/stm32f4xx_hal_pccard.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
******************************************************************************
33
* @file stm32f4xx_hal_pccard.h
44
* @author MCD Application Team
5-
* @version V1.0.0RC2
6-
* @date 04-February-2014
5+
* @version V1.0.0
6+
* @date 18-February-2014
77
* @brief Header file of PCCARD HAL module.
88
******************************************************************************
99
* @attention
@@ -143,8 +143,8 @@ typedef struct
143143
/* Initialization/de-initialization functions **********************************/
144144
HAL_StatusTypeDef HAL_PCCARD_Init(PCCARD_HandleTypeDef *hpccard, FMC_NAND_PCC_TimingTypeDef *ComSpaceTiming, FMC_NAND_PCC_TimingTypeDef *AttSpaceTiming, FMC_NAND_PCC_TimingTypeDef *IOSpaceTiming);
145145
HAL_StatusTypeDef HAL_PCCARD_DeInit(PCCARD_HandleTypeDef *hpccard);
146-
__weak void HAL_PCCARD_MspInit(PCCARD_HandleTypeDef *hpccard);
147-
__weak void HAL_PCCARD_MspDeInit(PCCARD_HandleTypeDef *hpccard);
146+
void HAL_PCCARD_MspInit(PCCARD_HandleTypeDef *hpccard);
147+
void HAL_PCCARD_MspDeInit(PCCARD_HandleTypeDef *hpccard);
148148

149149
/* IO operation functions *****************************************************/
150150
HAL_StatusTypeDef HAL_CF_Read_ID(PCCARD_HandleTypeDef *hpccard, uint8_t CompactFlash_ID[], uint8_t *pStatus);
@@ -153,7 +153,7 @@ HAL_StatusTypeDef HAL_CF_Read_Sector(PCCARD_HandleTypeDef *hpccard, uint16_t *p
153153
HAL_StatusTypeDef HAL_CF_Erase_Sector(PCCARD_HandleTypeDef *hpccard, uint16_t SectorAddress, uint8_t *pStatus);
154154
HAL_StatusTypeDef HAL_CF_Reset(PCCARD_HandleTypeDef *hpccard);
155155
void HAL_PCCARD_IRQHandler(PCCARD_HandleTypeDef *hpccard);
156-
__weak void HAL_PCCARD_ITCallback(PCCARD_HandleTypeDef *hpccard);
156+
void HAL_PCCARD_ITCallback(PCCARD_HandleTypeDef *hpccard);
157157

158158
/* PCCARD State functions *******************************************************/
159159
HAL_PCCARD_StateTypeDef HAL_PCCARD_GetState(PCCARD_HandleTypeDef *hpccard);

0 commit comments

Comments
 (0)