1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
* File Name : readme.txt
* Author : MCD Application Team
* Version : V2.0.1
* Date : 06/13/2008
* Description : Description of the FLASH Write_Protection Example.
********************************************************************************
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/
Example description
===================
This example provides a description of how to enable and disable the write protection
for the STM32F10x FLASH:
- Enable Write protection:
To enable the Write Protection, uncomment the line "#define WriteProtection_Enable"
in main.c file.
To protect a set of pages, the user has to call the function FLASH_EnableWriteProtection.
The parameter of this function will define the number of pages to be protected.
To load the new option byte values, a system Reset is necessary, for this, the
function NVIC_GenerateSystemReset() is used.
- Disable Write protection:
To disable the Write Protection, uncomment the line "#define WriteProtection_Disable"
in main.c file.
To disable the write protection of the STM32F10x Flash, an erase of the Option
Bytes is necessary. This operation is done by the function FLASH_EraseOptionBytes.
To load the new option byte values, a system Reset is necessary, for this, the
function NVIC_GenerateSystemReset() is used.
If the desired pages are not write protected, an erase and a write operation are
performed.
Directory contents
==================
platform_config.h Evaluation board specific configuration file
stm32f10x_conf.h Library Configuration file
stm32f10x_it.h Interrupt handlers header file
stm32f10x_it.c Interrupt handlers
main.c Main program
Note: "#define _FLASH_PROG" should be uncommented in the stm32f10x_conf.h file
Hardware environment
====================
This example runs on STMicroelectronics STM3210B-EVAL and STM3210E-EVAL evaluation
boards and can be easily tailored to any other hardware.
To select the STMicroelectronics evaluation board used to run the example, uncomment
the corresponding line in platform_config.h file.
How to use it
=============
In order to make the program work, you must do the following:
- Create a project and setup all your toolchain's start-up files
- Compile the directory content files and required Library files:
+ stm32F10x_lib.c
+ stm32F10x_flash.c
+ stm32F10x_rcc.c
+ stm32F10x_nvic.c
- Link all compiled files and load your image into target memory
- Run the example
******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE******
|