The
BSP (Board Specific Package) drivers are parts of the STM32Cube package
based on the HAL drivers and provide a set of high level APIs relative
to the hardware components and features in the evaluation boards,
discovery kits and nucleo boards coming with the STM32Cube package for
a given STM32 serie. The
BSP drivers allow a quick access to the boards’ services using high
level APIs and without any specific configuration as the link with the
HAL and the external components is done in intrinsic within the
drivers.
From
project settings points of view, user has only to add the necessary
driver’s files in the workspace and call the needed functions from
examples. However some low level configuration functions are weak and
can be overridden by the applications if user wants to change some BSP
drivers default behavior. Update History
V3.0.1 / 21-September-2017
Main
Changes
- Remove date & version
- Add general description of BSP drivers
- stm324x9i_eval_audio.c/.h:
- Aligned with PDM library v3.0.0
- stm324x9i_eval_lcd.c:
- Update BSP_LCD_DrawBitmap() API to fix functional misbehaviour with SW4STM32 Toolchain
- Notes:
- This version must be used with v3.0.0 of PDM library
V3.0.0 / 27-January-2017
Main
Changes
- stm324x9i_eval_sd.c/.h:
- Update BSP SD APIs following new HAL SD drivers implementation
- Fix BlockSize to 512 bytes
- stm324x9i_eval_audio.c/.h:
- Add BSP_AUDIO_OUT_MspInit, BSP_AUDIO_OUT_MspDeInit and BSP_AUDIO_OUT_ClockConfig APIs as weak
- Add BSP_AUDIO_IN_MspInit, BSP_AUDIO_IN_MspDeInit and BSP_AUDIO_IN_ClockConfig APIs as weak
- Add BSP_AUDIO_OUT_DeInit and BSP_AUDIO_IN_DeInit APIs
- stm324x9i_eval_sram.c/.h:
- Add BSP_SRAM_MspInit API as weak
- stm324x9i_eval_sdram.c/.h:
- Add BSP_SDRAM_MspInit API as weak
- stm324x9i_eval_camera.c/.h:
- Add BSP_CAMERA_MspInit API as weak
- Notes:
- These BSP drivers break the compatibility with previous versions.
- If FatFs is required, "FatFS R0.11 ST modified 20161223" must be used with this version of BSP drivers.
V2.2.1 / 07-October-2015
Main
Changes
- stm324x9i_eval.c/.h
- Rework LCD initialization to ensure refresh rate of 60Hz.
- Add new API "BSP_LCD_InitEx(uint32_t PclkConfig)" to propoerly manage LTCD pixel clock configuration.
- Update "BSP_LCD_Init" to call new API BSP_LCD_InitEx().
- Add LCD_MAX_PCLK/LCD_MIN_PCLK defines.
- Add BSP_LCD_InitEx() function prototype.
- Update VBP and HBP values used to calculate AccumulatedActiveH and AccumulatedActiveW for AMPIRE 480x272
- stm324x9i_eval_ts.c:
- Update BSP_TS_GetState() to return correct values of Touch Screen status and positions.
V2.2.0 / 14-August-2015 Main
Changes
- stm324x9i_eval.c
- Add AUDIO_IO_DeInit() function to align with Common V4.0.0
- stm324x9i _eval_audio.c
- Remove CODEC_Reset() function
V2.1.0 / 26-June-2015 Main
Changes
- stm324x9i_eval.c/.h
- Update to support new 5.7" VGA LCD (AM640480FTNQW-T07H-A)
- Update I2Cx_ReadMultiple() API to considers the multiple read of the exc7200 touch screen position
- Add BSP_TS3510_IsDetected() API to detect which LCD is mounted on the board
- In header file, add new defines for ts3510 and exc7200 touch screen components I2C addresses
- stm324x9i _eval_ts.c/.h
- Update to support new 5.7" VGA LCD (AM640480FTNQW-T07H-A)
- Update BSP_TS_Init() API to initialize the connected LCD device
- Update BSP_TS_GetState() API to calculate the (x,y) position for the mounted LCD device
- In header file, update to include the new touch screen component driver (exc7200)
- stm324x9i _eval_sdram.c/.h
- Update
BSP_SDRAM_Init() API to set the right column bits number configuration
according to the IS42S32800(ISSI) component available on
the board
V2.0.4 / 03-March-2015 Main
Changes
- stm324x9i_eval.c/.h
- Align to STM32F4xx HAL Driver V1.3.0 for __HAL_RCC_PPP_CLK_ENABLE()
- stm324x9i _eval_audio.c/.h
- BSP_AUDIO_OUT_Play()/BSP_AUDIO_OUT_ChangeBuffer() add cast uint8_t on
data pointer: update according to the HAL SAI driver update
to support companding mode which works only with data type on 8-bits.
- stm324x9i _eval_lcd.c
- BSP_LCD_Init() update to check if DATA_IN_ExtSDRAM is enabled or not to avoid the re-initialization for SDRAM interface.
V2.0.3 / 10-December-2014
Main
Changes
- stm324x9i_eval.c/.h
- Change I2C_SPEED used define by BSP_I2C_SPEED
- stm324x9i_eval_camera.c
- BSP_CAMERA_Init():
Update the Initialization and Stop APIs to set and reset the STANDBY
pin (to avoid conflict with SDCard detect pin)
- stm324x9i_eval_camera.h,
stm324x9i_eval_audio.h, stm324x9i_eval_eeprom.h, stm324x9i_eval_io.h,
stm324x9i_eval_ts.h and stm324x9i_eval_lcd.c/.h
- Change "\" by "/" in the include path to fix compilation issue under Linux
- stm324x9i_eval_nor.c/.h
- Change NOR status definition NOR_OK and NOR_ERROR by NOR_STATUS_OK and NOR_STATUS_ERROR, respectively
- stm324x9i_eval_sdram.c
- BSP_SDRAM_Initialization_sequence(): Fix wrong configuration of the burst length
- Miscellaneous comments update
V2.0.2 / 19-June-2014
Main
Changes
- stm324x9i_eval.c/.h
- Add protection for double initialization of IO_Init within LCD_IO_Init()
- Enhance BSP_PB_Init() function by removing the call of __SYSCFG_CLK_ENABLE() already enabled in the HAL_GPIO_Init()
- stm324x9i _eval_audio.c/.h
- Add note that only the audio stereo format is supported
- stm324x9i_eval_sd.c/.h
- Ensure
compatibility with the updated version of FatFs sd_diskio driver (i.e.
FatFs R0.10 ST modified 20140422) supporting SDIO/SPI to interface uSD
- stm324x9i_eval_lcd.c/.h
- Update LCD clock configuration of 5.7" screen to avoid flicker effect within BSP_LCD_Init()
- Comments clean up and typo corrections
V2.0.1 / 26-February-2014
Main
Changes
- stm324x9i_eval_sd.c/.h
- Update SD_DATATIMEOUT value
- stm324x9i_eval_eeprom.c/.h
- Update usage of BSP_EEPROM_TIMEOUT_UserCallback() function
V2.0.0 / 18-February-2014
Main
Changes
- Major update
based on STM32Cube specification: drivers architecture and APIs
modified vs. V1.0.3, and thus the 2 versions are not compatible.
- This version has to be used only with STM32CubeF4 based development
V1.0.3 / 13-November-2013
Main
Changes
- stm324x9i_eval_ioe8.c/.h
- Enhance the Touch panel detection in IOE_TS_GetState() function : Add a check on FIFO Threshold value before reading X and Y position
Known
Limitations
- stm324x9i_eval_audio_codec.c/.h
- If
2 audio streams are played in TDM format (the first stream is
configured in codec SLOT0 and second stream in codec SLOT1) the
Pause/Resume, Volume Control and Mute action will apply on both streams.
V1.0.2 / 08-November-2013
Main
Changes
- stm324x9i_eval_lcd.c
- Update BUFFER_OFFSET define
value from 0x130000 to 0x12C000 and comment to explain how to compute this value
- LCD_DeInit() function: remove SDRAM pins configuration, this is done in SDRAM driver
- LCD_Init() function: in case where AMPIRE 640x480 LCD is used, add a call to LCD_I2C_Config() to initialize I2C for touch panel usage
- Update and optimize LCD_Clear() function
- Update and optimize putPixel() function:
write directly to the SDRAM instead of the use of LCD_DrawLine() function
- GetPosition() function: add more comments in the header about the format of the data returned by this function
- GetPosition() function: remove the I2C configuration (it's already done in LCD_Init() function)
- LCD_CheckDevice() function: replace LCD_I2C_Config() by
IOE_Config()
- LCD_I2C_Config() function: add a test, if I2C is already configured, then there is no need to reconfigure it again
- stm324x9i_eval_ioe8.c/.h
- Remove EXTI line configuration macros
- Remove
VERIFY_WRITTENDATA macro, and remove verify written data block from I2C_WriteDeviceRegister() function
- stm324x9i_eval_ioe16.c/.h
- Remove
VERIFY_WRITTENDATA macro, and remove verify written data block from IOE16_I2C_WriteDeviceRegister() function
- stm324x9i_eval_audio_codec.c/.h
- In Audio_MAL_IRQHandler() Remove
local variables pAddr and Size and replace them by existing global variables
CurrentPos and AudioRemSize
Known
Limitations
- stm324x9i_eval_audio_codec.c/.h
- If
2 audio streams are played in TDM format (the first stream is
configured in codec SLOT0 and second stream in codec SLOT1) the
Pause/Resume, Volume Control and Mute action will apply on both streams.
V1.0.1 / 11-October-2013
Main
Changes
- stm324x9i_eval_lcd.c
- Update
LCD_DisplayOff() function : Remove GPIO PA8 and PC6 configuration in
low level, as we don't need to configure any more these GPIO w/
STM32x9I-EVAL Boards RevB
- Add comments for LCD_GetPosition() and LCD_CheckDevice function
- stm324x9i_eval_ioe8.c/.h
- Update IOE_TS_GetState() function : Enhance the TS detection algorithm
- Update IOE_TS_Config()
function : Update IOE FIFO threshold register value to 0x01
instead of 0x0F and update touch screen operation mode register value
to 0x01 instead of 0x03
- Add condition in IOE_GPIO_Config() and IOE_I2C_Config() functions to prevent I2C and its GPIOs reconfiguration
- Update I2C_ReadDataBuffer() function: remove check at "I2C_FLAG_BUSY" in the beginning of the function
- stm324x9i_eval_ioe16.c/.h
- Add condition in IOE16_GPIO_Config() and IOE16_I2C_Config() functions to prevent I2C and its GPIOs reconfiguration
Known
Limitations
- stm324x9i_eval_audio_codec.c/.h
- If
2 audio streams are played in TDM format (the first stream is
configured in codec SLOT0 and second stream in codec SLOT1) the
Pause/Resume, Volume Control and Mute action will apply on both streams.
V1.0.0 / 19-September-2013
Main
Changes
- First official release for STM324x9I_EVAL board drivers.
Known
Limitations
- stm324x9i_eval_audio_codec.c/.h
- If
2 audio streams are played in TDM format (the first stream is
configured in codec SLOT0 and second stream in codec SLOT1) the
Pause/Resume, Volume Control and Mute action will apply on both streams.
License
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- 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.
- Neither the name of STMicroelectronics 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 HOLDER 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.
For
complete documentation on STM32 Microcontrollers
visit www.st.com/STM32
|