Update HistoryV7.0.1 / 29-September-2017
Main
Changes
- Remove DATE and VERSION from header files
- stm322xg_eval.c:
- Implement I2C workaround to avoid misbehavior when pushing the reset button repetitively with LCD paint application
- stm322xg_eval_lcd.c:
- Fix LCD compilation errors with SW4STM32 toolchain
V7.0.0 / 17-March-2017
Main
Changes
- stm322xg_eval_sd.c/.h:
- Update BSP SD APIs following new HAL SD drivers implementation
- Fix BlockSize to 512 bytes
- stm322xg_eval_audio.c/.h:
- Add BSP_AUDIO_OUT_MspInit, BSP_AUDIO_OUT_MspDeInit and BSP_AUDIO_OUT_ClockConfig APIs as weak
- Remove CODEC_Reset API
- stm322xg_eval_sram.c/.h:
- Add BSP_SRAM_MspInit API as weak
- stm322xg_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.
V6.2.1 / 01-July-2016Main
Changes
- stm322xg_eval_camera.c update BSP Camera driver to use the new HAL DCMI API's:
- Update BSP_CAMERA_Suspend() API to call HAL_DCMI_Suspend() API
- Update BSP_CAMERA_Resume to call HAL_DCMI_Resume() API
- NVIC priorioty set to the lowest priority 0x0F
- Fix SRAM timing values
- Support of Potentiometer mounted on eval board
- Add new API to initialize required peripherals (ADC, clock ...)
- Add new API to get voltage level
- Update overall drivers by removing BSP_PPP_IRQHandler, BSP_PPP_DMA_TX_IRQHandler
and BSP_PPP_DMA_RX_IRQHandler to avoid possible
conflict when the same Handler is used by different IPs.
These
Handlers should be defined by user at application level, inducing
a break of compatbility versus V6.2.0 of the STM322xG-EVAL BSP drivers V6.2.0 / 05-January-2016Main
Changes
- stm322xg_eval.c/.h
- Update to support the new LCD components (ili9325 V1.2.2 and ili9325 V1.2.2) version
- Add new API: LCD_IO_WriteMultipleData()
- Update LCD_IO_ReadData() API prototype: add "RegValue" parameter
V6.1.2 / 09-October-2015
Main
Changes
- stm322xg_eval.c/.h
- Change I2C_SPEED used define by BSP_I2C_SPEED
- Add Audio_IO_DeInit() to support cs43l22 component V2.0.0
- stm322g_eval_eeprom.c/.h
- Change BSP_EEPROM_WaitEepromStandbyState() and BSP_EEPROM_WritePage() to be declared as static APIs
- Align to STM32F2xx HAL V1.2.0 for __HAL_RCC_PPP_CLK_ENABLE()
- Miscellaneous comments update
V6.1.1 / 30-December-2014
Main
Changes
- stm322xg_eval_camera.h, stm322xg_eval_audio.h, stm322xg_eval_io.h, stm322xg_eval_ts.h and stm322xg_eval_lcd.c/.h
- Change "\" by "/" in the include path to fix compilation issue under Linux
V6.1.0- 13-March-2014
Main Changes
- stm322xg_eval_lcd.c/.h
- Integration
of the LCD ili9320
V6.0.0-
07-March-2014
Main Changes
- This STM322xG_EVAL
BSP is intended to be delivered with the STM32F2Cube FW
package V1.0.0.
- It
is also aligned and consistent with the STM32F4Cube FW package
V1.1.0
- The following
components have been integrated in this delivery
- LCD
: ili9325 (the
ili9320 should be supported in a next release)
- Camera
: ov2640
- Audio
Codec : cs43L22
- IO
Expander : stmpe811 (required also for the Touch Screen
function)
- External
SRAM : IS61WV1024
- The overal
content of the BSP is decribed below:
- stm322xg_eval_sd.c/.h
- Update
SD_DATATIMEOUT value
- stm322xg_eval_eeprom.c/.h
- Update
usage of BSP_EEPROM_TIMEOUT_UserCallback()
function
- Alignment
to the coding rules and architecture of the BSP FW F4 v1.0.0
- All
external functions include a prefix BSP_
- stm322xg_eval_camera.c/.h:
driver functions for Camera module mounted on STM322xG-EVAL evaluation
board
- The
OV2640 component must be included
- BSP_CAMERA_Init()
- BSP_CAMERA_ContinuousStart()
- BSP_CAMERA_SnapshotStart()
- BSP_CAMERA_Suspend()
- BSP_CAMERA_Resume()
- stm322xg_eval_audio.c/.h:
This file provides the Audio driver for the STM322xG-EVAL evaluation
board
- The
CS43L22 Audio Codec component must be used
- BSP_AUDIO_OUT_Init()
- BSP_AUDIO_OUT_Play()
- BSP_AUDIO_OUT_Pause()
- BSP_AUDIO_OUT_Resume()
- BSP_AUDIO_OUT_Stop()
- BSP_AUDIO_OUT_SetVolume()
- BSP_AUIO_OUT_SetMute()
- BSP_AUDIO_OUT_SetOutputMode()
- stm322xg_eval_sram.c/.h:
This file includes the SRAM driver for the IS61WV102416BLL memory device
mounted on STM322xG-EVAL evaluation board
- The
IS61WV102416BLL memory device must be used
- BSP_SRAM_Init()
- BSP_SRAM_ReadData()
- BSP_SRAM_ReadData_DMA()
- BSP_SRAM_WriteData()
- BSP_SRAM_WriteData_DMA()
- stm322xg_eval_ioc.c/.h
: This file provides a set of functions needed to manage the IO pins
This file provides a set of functions needed to manage the IO pins
- The
STMPE811 IO expander device component driver must be included
- BSP_IO_Init()
- BSP_IO_ConfigPin()
- BSP_IO_WritePin()
- BSP_IO_ReadPin()
- BSP_IO_TogglePin()
- stm322xg_eval_lcd.c/.h : This file includes the driver for Liquid
Crystal Display (LCD) module mounted on STM322xG-EVAL evaluation
board.
- The
ILI9325 component driver MUST be included with this driver
- Please
refer to the file stm322xg_eval_lcd.h file to get the overall list of
functions proposed by this driver
- stm322xg_eval_sd.c/.h
: This file includes the uSD card driver
mounted on STM322xG-EVAL evaluation board
- This
driver does not need a specific component driver for the micro SD
device
- BSP_SD_Init()
- BSP_SD_ITConfig()
- BSP_SD_IsDetected()
- BSP_SD_ReadBlocks()
- BSP_SD_WriteBlocks()
- BSP_SD_ReadBlocks_DMA()
- BSP_SD_WriteBlocks_DMA()
- BSP_SD_Erase()
- stm322xg_eval_ts.c/.h
: This file provides a set of functions needed to manage the touch screen
on STM324x9I-EVAL evaluation board
- The
STMPE811 IO expander component must be used
- BSP_TS_Init()
- BSP_TS_ITConfig()
- BSP_TS_ITGetState()
- BSP_TS_ITGetStatus()
- BSP_TS_ITClear()
- stm322xg_eval.c/.h
: new functions provided
- Joystick
management
- FSMC
Bank3 management
- IO
Expander IO functions
- LCD IO
functions
- AUDIO IO
functions
- CAMERA IO
functions
- I2C
functions
- EEPROM
functions
- IMPORTANT
NOTE: this version has to be used only with
STM32CubeF2 based development
V5.1.1 / 11-January-2013
Main
Changes
- stm322xg_eval_ioe.c
- Update the MEMS pins configuration in IOE_Config() function.
- Update I2C communication sequence in I2C_ReadDataBuffer() function to ensure efficient and robust I2C transfer.
V5.1.0 / 21-December-2012
Main
Changes
- stm322xg_eval_sdio_sd.h/.c
- Support SDHC memory cards with capacity greater than 4 GB
- Transmit
and receive functions: swap the order of state machine and DMA
configuration, to fix marginal limitation where the card sent data to
the SDIO interface while the DMA is not ready to transfer them
- Support SDHS (High Speed) memory cards, add new function SD_HighSpeed()
- stm322xg_eval_ioe.c
- Configuration clean up and corrections
- Touch screen (TSC) Interrupt mode enhancement
- Update Read/Write low layer functions to ensure efficient and robust I2C transfer
- Update legacy functions I2C_WriteDeviceRegister(), I2C_ReadDeviceRegister() and I2C_ReadDataBuffer() to use polling mode instead of DMA
- Add three new functions I2C_DMA_WriteDeviceRegister(), I2C_DMA_ReadDeviceRegister() and I2C_DMA_ReadDataBuffer(), for DMA based I2C transfer
- stm322xg_eval.c
- SD_LowLevel_Init(): Set the GPIO clock to 50MHz to support High Speed mode
- stm322xg_eval_i2c_ee.c
- Enable I2C DMA request only after the enable of the DMA stream, to avoid DMA FIFO error generation
- stm322xg_eval_fsmc_sram.c
- Change memory type to SRAM instead of PSRAM (PSRAM is available only on STM322xG-EVAL RevA) and update timing values
V5.0.3 / 05-March-2012
Main
Changes
- All source files: license disclaimer text update and add link to the License file on ST Internet.
- stm322xg_eval_lcd.c
- Enhance Gamma Curve settings for ILI9320 controller
- stm322xg_eval.c and stm322xg_eval_ioe.c
- Swap
the order of I2C IOs and alternate function (AF)
configuration: AF configuration should be done before to configure the
IOs.
- stm322xg_eval_sdio_sd.c
- In SD_WaitWriteOperation() and SD_WaitReadOperation() functions: reset StopCondition flag after sending CMD12
V5.0.2 / 28-December-2011
Main
Changes
- All source files: update disclaimer to add reference to the new license agreement
- stm322xg_eval_lcd.c
- Remove “static” from TextColor and BackColor variables declaration (need to be changed from other application modules)
- stm322xg_eval_ioe.h
- Add
conditional compilation on the default DMA stream(s) used for I2C1 Tx
and Rx transfers, to allow user to change them from application level.
V5.0.1 / 14-November-2011
Main
Changes
- stm322xg_eval_sdio_sd.h
- SD_CardInfo structure, define CardCapacity variable as 64-bit long (instead of 32-bit) to support SDHC memory cards with capacity greater than 4 GB.
V5.0.0 / 07-October-2011
Main
Changes
- Update STM32 Evaluation Board Drivers architecture and folder organization, full API compatibility maintained vs. V4.6.2
- All the HW drivers required for each board are provided within this board folder. The concerned drivers are:
- stm32_eval_i2c_ee.c\.h: I2C M24Cxx EEPROM memory driver
- stm32_eval_i2c_tsensor.c\.h: I2C LM75 temperature sensor driver
- stm32_eval_spi_flash.c\.h: SPI M25Pxxx FLASH memory driver
- stm32_eval_sdio_sd.c\.h: SDIO SD Card memory driver
- stm32_eval_spi_sd.c\.h: SPI SD Card memory driver
- These drivers were moved from \Common to \STM32XXX_EVAL folder(s)
- \Common folder contains only drivers for the fonts and log module used by the LCD driver
- stm32_eval.c\.h files removed, as consequence you need to perform the following update on your project configuration (based on EVAL drivers V4.6.2):
- In the project files, add your EVAL board driver source file "stm322xg_eval.c" instead of "stm32_eval.c"
- Include your EVAL board driver header file #include "stm322xg_eval.h" instead of #include "stm32_eval.h"
- If
you are using the EVAL board's LCD, you need to add the include of
the LCD header file #include "stm322xg_eval_lcd.h"
- If
you are using the LCD log module, after copying it to the application
folder you have to edit it and update the name of the LCD header file. For more details, refer to the lcd_log_conf_template.h driver description.
- stm322xg_eval.h/.c
- change value of “SDIO_TRANSFER_CLK_DIV” define from 2 to 0 to achieve SD max frequency at 24MHz.
- Remove SD_DMAEndOfTransferStatus() function as now the DMA transfer is tracked using DMA End of transfer interrupt.
- Add new define for the SDIO's DMA2 Stream (3 or 6): SD_SDIO_DMA_IRQn and SD_SDIO_DMA_IRQHANDLER.
- stm322xg_eval_sdio_sd.h/.c
- Add new function SD_ProcessDMAIRQ() to be called from the DMA end of transfer interrupt.
- Add some improvements by handling SDIO errors and adding timeout for different loops.
- Refer to the driver header file's comments for more information on how to use the provided API.
- stm322xg_eval_fsmc_sram.c
- Add IOs config of missing FSMC address lines (FSMC_A21, FSMC_A22 and FSMC_A23).
V4.6.2 / 22-July-2011
Main
Changes
- STM3210C_EVAL
- stm3210c_eval_lcd.c: update to support new LCD AM240320D5TOQW01H (controller ILI9325)
- STM322xG-EVAL
- stm322xg_eval.h: fix value of the SDIO clock divider (SDIO_TRANSFER_CLK_DIV constant) to 2 instead of 0
- stm322xg_eval_lcd.c: increase FSMC AddressSetupTime value from 1 to 3 to be compliant with some LCD access timing
- stm322xg_eval_audio_codec.c: update Codec_CtrlInterface_Init() and Codec_GPIO_Init() functions to not reconfigure the I2C peripheral if it's already enabled and configured (to
avoid configuring the I2C twice when using both Audio codec and IO
Expander drivers in the same application).
V4.6.1 / 18-April-2011
Main
Changes
- Update some STM322xG_EVAL drivers (no change on the API) to fix warnings with TASKING C compiler.
- Change the Release Notes name to STM32 Evaluation Board Drivers
- stm322xg_eval.c
- SD_LowLevel_Init(): change SDIO pins speed configuration to "GPIO_Speed_25MHz"
V4.6.0 / 11-March-2011
Main
Changes
- Official version supporting STM322xG_EVAL evaluation board RevB (for STM32F2xx devices).
- Common
- Add
new LCD log utility drivers: The LCD Log module allows to automatically
set a header and footer on any application using the LCD display and
allows to dump user, debug and error messages by using the following
macros: LCD_ErrLog(), LCD_UsrLog() and LCD_DbgLog().
Note: the STM322xG_EVAL board RevA was wrongly named STM3220F_EVAL
V4.5.0 / 07-March-2011
Main
Changes
- stm32_eval_sdio_sd.c\.h: driver improvement
- SD Clock increased to 24MHz to improve the data transfer performance.
- Add
new functions to check the SDIO peripheral and SD Card status at any
time: SD_WaitReadOperation(), SD_WaitWriteOperation(). The
software sequence is little bit changed but without any impact on
driver API. For more details, refer to the stm32_eval_sdio_sd.c
driver description.
- Add
new structure containing the SD Status register parameters. This
structure is called by the
SD_SendSDStatus() function.
- Transfers mode updated
- Read/Write Block using Polling and DMA modes
- Read/Write Multi Blocks using DMA mode only
- Interrupt mode removed
- Data transfer functions are managing only fixed Block size (512-byte)
- STM32100B-EVAL
- stm32100b_eval_cec.c: fix some strict ANSI-C errors
- STM32100E-EVAL
- stm32100e_eval_cec.c: fix some strict ANSI-C errors
V4.4.0 / 31-December-2010
Main
Changes
- Add new directory for STM32L152-EVAL board containing the following files:
- stm32l152_eval.h/.c, stm32l152_eval_lcd.h/.c, stm32l152_eval_glass_lcd.h/.c, stm32l152_eval_i2c_ee.h/.c
- Add support for the STM32100E-EVAL Rev B: SPI FLASH CS pin "sFLASH_CS_PIN" changed from PB.02 to PE.06.
- stm32100e_eval_lcd.h/.c: Add support for "LCD_ILI9325" LCD controller.
- stm32100e_eval_fsmc_onenand.h/.c driver updated to correct asynchronous and synchronous read operations procedures.
4.3.0
- 10/15/2010
- General
- I2C EEPROM, Temperature Sensor and IOE Expander drivers updated to use the DMA for read/write transfer and add more robustness
- SD Card (SDIO) driver updated to add more robustness
- SPI Flash and SD Card (SPI) drivers: SPI MISO pin configuration changed to Input Floating
- Utilities
- Add new directory for STM32100E-EVAL board containing the following files:
- stm32100e_eval.h/.c,
stm32100e_eval_lcd.h/.c, stm32100e_eval_cec.h/.c,
stm32100e_eval_fsmc_onenand.h/.c, stm32100e_eval_fsmc_sram.h/.c,
stm32100e_eval_ioe.h/.c
- Common
- stm32_eval_sdio_sd.c:
Update the DMA End of Transfer Check loop inside the SD_ReadBlock(),
SD_WriteBlock(), SD_ReadMultiBlocks() and SD_Write MultiBlocks().
- Enhanced sEE_WaitEepromStandbyState() function for more robustness.
- Enhanced Read and Write operations to manage I2C limitations.
- Add Timeout management with user callback implementation which allows recovering from I2C bus errors.
- Add
critical sections user callbacks allowing to disable then enable
interrupts when I2C operation require to be not interrupted.
- stm32_eval_i2c_tsensor.c/.h
- Enhanced I2C communication functions by using DMA for registers Read and Write operations.
- Add Timeout management with user callback implementation which allows recovering from I2C bus errors.
- STM32100B_EVAL
- stm32100b_eval.h: Add LM75 DMA defines.
- stm32100b_eval_lcd.c: Change "SPI_FLASH" by "sFLASH" in LCD_DrawBMP() function.
- STM3210B_EVAL
- stm3210b_eval.h: Add LM75 DMA defines.
- stm3210b_eval_lcd.c: Change "SPI_FLASH" by "sFLASH" in LCD_DrawBMP() function.
- STM3210C_EVAL
- stm3210c_eval.h: Add EEPROM driver Timeout define.
- stm3210c_eval_lcd.c: Change "SPI_FLASH" by "sFLASH" in LCD_DrawBMP() function.
- stm3210c_eval_i2c_ioe.c
- Enhanced I2C communication functions by using DMA for registers Read and Write operations.
- Add Timeout management with user callback implementation which allows recovering from I2C bus errors.
- change IOE_I2C_SPEED from "400000" to "300000".
- STM3210E_EVAL
- stm3210e_eval.c: change "void SD_WaitForDMAEndOfTransfer(void)" to "uint32_t SD_DMAEndOfTransferStatus(void)".
- stm3210e_eval.h: Add LM75 DMA defines.
- stm3210e_eval_fsmc_nand.h: remove "NAND_CMD_AREA_TRUE1" define.
- stm3210e_eval_fsmc_nand.c: Update FSMC timing in NAND_Init() function to be aligned with AN2784 application note.
- stm3210e_eval_fsmc_nor.c
- NOR_Init() function: add FSMC_AsynchronousWait field to FSMC_NORSRAMInitStructure
- stm3210e_eval_fsmc_sram.c
- Update FSMC timing in SRAM_Init() function to be aligned with AN2784 application note.
- SRAM_Init() function: add FSMC_AsynchronousWait field to FSMC_NORSRAMInitStructure
- stm3210e_eval_lcd.c
- LCD_FSMCConfig() function: add FSMC_AsynchronousWait field to FSMC_NORSRAMInitStructure
4.2.0
- 04/16/2010
- General
- I2C EEPROM driver
update to use the DMA to
perform data transfer to/from EEPROM memory.
- Utilities
- stm32_eval_i2c_ee.c:
updated to use the DMA to perform data transfer to/from
EEPROM memory. For more details, refer to the description provided
within this file.
- stm3210c_eval.c: add low level
functions to configure the DMA (needed for I2C EEPROM driver)
- stm3210c_eval_ioe.c: add a delay
in IOE_TS_GetState() function to wait till the end of ADC
conversion
- stm3210e_eval_fsmc_nor.c: add PD6 pin configuration in
NOR_Init() function
- stm3210b_eval_lcd.c: remove the
second ";" from "static void PutPixel(int16_t x, int16_t y);;"
4.1.0
- 03/01/2010
- General
- Add support
for STM32 Low-density Value line (STM32F100x4/6) and
Medium-density Value line (STM32F100x8/B) devices.
- Add support for the
STMicroelectronics STM32100B-EVAL evaluation board.
- Utilities
- Add new directory
"Common" containing a common drivers for all STM32 evaluation boards:
fonts.h/.c, stm32_eval_i2c_ee.h/.c, stm32_eval_spi_flash.h/.c,
stm32_eval_i2c_tsensor.h/.c,
stm32_eval_spi_sd.h/.c
and stm32_eval_sdio_sd.h/.c
- Add new driver for the
STM32100B-EVAL managing Leds, push button and COM ports.
- New HDMI CEC High level
driver.
- For all LCD drivers new fonts has
been added.
- New FSMC memories
drivers for STM3210E-EVAL board: stm3210e_eval_fsmc_sram.h/.c, stm3210e_eval_fsmc_nor.h/.c
and stm3210e_eval_fsmc_nand.h/.c.
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
|