readme.txt 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. /**
  2. @page SPI_FLASH SPI SPI_FLASH example
  3. @verbatim
  4. ******************** (C) COPYRIGHT 2011 STMicroelectronics *******************
  5. * @file SPI/SPI_FLASH/readme.txt
  6. * @author MCD Application Team
  7. * @version V3.5.0
  8. * @date 08-April-2011
  9. * @brief Description of the SPI SPI_FLASH example.
  10. ******************************************************************************
  11. * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  12. * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  13. * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
  14. * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  15. * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  16. * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  17. ******************************************************************************
  18. @endverbatim
  19. @par Example Description
  20. This example provides a basic example of how to use the SPI firmware library
  21. and an associate SPI FLASH driver to communicate with an M25P64 or M25P128 FLASH.
  22. The first step consist in reading the SPI Flash ID. A comparison between the ID
  23. read from SPI flash and the expected one is done and LED1 is turned on in case
  24. of success otherwise LED2 is turned on.
  25. Using this driver the program performs an erase of the sector to be accessed, a
  26. write of a Tx_Buffer, defined in the main.c file, to the memory followed by a read
  27. of the written data. Then data read from the memory stored in the Rx_Buffer are
  28. compared with the expected values of the Tx_Buffer. The result of this comparison
  29. is stored in the "TransferStatus1" variable.
  30. A second erase of the same sector is done at the end, and a test is done to be
  31. sure that all the data written there are erased further to the sector erase. All
  32. the data location are read and checked with 0xFF value. The result of this test
  33. is stored in "TransferStatus2" variable which is FAILED in case of error.
  34. The SPI1 is configured as Master with an 8-bit data size. The SPI1 baudrate
  35. is set to 18 Mbit/s (for Value line devices the baudrate is set to 12 Mbit/s).
  36. The FLASH_WriteAddress and the FLASH_ReadAddress where the program start the write
  37. and the read operations are defined in the main.c file.
  38. @par Directory contents
  39. - SPI/SPI_FLASH/stm32f10x_conf.h Library Configuration file
  40. - SPI/SPI_FLASH/stm32f10x_it.c Interrupt handlers
  41. - SPI/SPI_FLASH/stm32f10x_it.h Header for stm32f10x_it.c
  42. - SPI/SPI_FLASH/main.c Main program
  43. - SPI/SPI_FLASH/system_stm32f10x.c STM32F10x system source file
  44. @par Hardware and Software environment
  45. - This example runs on STM32F10x Connectivity line, High-Density, High-Density
  46. Value line, Medium-Density, XL-Density, Medium-Density Value line, Low-Density
  47. and Low-Density Value line Devices.
  48. - This example has been tested with STMicroelectronics STM32100E-EVAL (High-Density
  49. Value line), STM32100B-EVAL (Medium-Density Value line), STM3210E-EVAL
  50. (High-Density and XL-Density) and STM3210B-EVAL (Medium-Density) evaluation
  51. boards and can be easily tailored to any other supported device
  52. and development board.
  53. This example can't be tested with STM3210C-EVAL (Connectivity Line)
  54. evaluation board (no SPI FLASH available).
  55. To select the STMicroelectronics evaluation board used to run the example,
  56. uncomment the corresponding line in stm32_eval.h file.
  57. - STM32100E-EVAL Set-up
  58. - Use LED1 and LED2 connected respectively to PF.06 and PF.07 pins
  59. - M25P128 FLASH is already available on this board.
  60. @note
  61. - The SPI FLASH example is only working on STM32100E-EVAL Rev B.
  62. - STM32100B-EVAL Set-up
  63. - Use LED1 and LED2 connected respectively to PC.06 and PC.07 pins
  64. - M25P128 FLASH is already available on this board.
  65. - STM3210E-EVAL Set-up
  66. - Use LED1 and LED2 connected respectively to PF.06 and PF.07 pins
  67. - M25P64 FLASH is already available on this board.
  68. @note The jumper 14 (USB Disconnect) must be set in position 1<->2 in order
  69. to not interfere with SPI2 MISO pin PB14.
  70. - STM3210B-EVAL Set-up
  71. - Use LED1 and LED2 connected respectively to PC.06 and PC.07 pins
  72. - M25P64 FLASH is already available on this board.
  73. - Other platform Set-up
  74. - Use STM3210B-EVAL hardware configuration defines.
  75. - Connect LED1 and LED2 respectively to PD.07 and PD.13 pins
  76. - Connect both SPI1 and SPI FLASH pins as following:
  77. - Connect SPI1_NSS (PA.04) pin to SPI Flash chip select (pin1)
  78. - Connect SPI1_SCLK (PA.05) pin to SPI Flash serial clock (pin6)
  79. - Connect SPI1_MISO (PA.06) pin to SPI Flash serial data output (pin2)
  80. - Connect SPI1_MOSI (PA.07) pin to SPI Flash serial data input (pin5)
  81. - Connect SPI Flash Write Protect (pin3) to Vdd
  82. - Connect SPI Flash Hold (pin7) to Vdd
  83. - Connect SPI Flash Vcc (pin8) to Vdd
  84. - Connect SPI Flash Vss (pin4) to Vss
  85. @par How to use it ?
  86. In order to make the program work, you must do the following :
  87. - Copy all source files from this example folder to the template folder under
  88. Project\STM32F10x_StdPeriph_Template
  89. - Open your preferred toolchain
  90. - Rebuild all files and load your image into target memory
  91. - Run the example
  92. @note
  93. - Low-density Value line devices are STM32F100xx microcontrollers where the
  94. Flash memory density ranges between 16 and 32 Kbytes.
  95. - Low-density devices are STM32F101xx, STM32F102xx and STM32F103xx
  96. microcontrollers where the Flash memory density ranges between 16 and 32 Kbytes.
  97. - Medium-density Value line devices are STM32F100xx microcontrollers where
  98. the Flash memory density ranges between 64 and 128 Kbytes.
  99. - Medium-density devices are STM32F101xx, STM32F102xx and STM32F103xx
  100. microcontrollers where the Flash memory density ranges between 64 and 128 Kbytes.
  101. - High-density Value line devices are STM32F100xx microcontrollers where
  102. the Flash memory density ranges between 256 and 512 Kbytes.
  103. - High-density devices are STM32F101xx and STM32F103xx microcontrollers where
  104. the Flash memory density ranges between 256 and 512 Kbytes.
  105. - XL-density devices are STM32F101xx and STM32F103xx microcontrollers where
  106. the Flash memory density ranges between 512 and 1024 Kbytes.
  107. - Connectivity line devices are STM32F105xx and STM32F107xx microcontrollers.
  108. * <h3><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h3>
  109. */