cancel
Showing results for 
Search instead for 
Did you mean: 

cannot read page 127 of flash memory stm32f103cb

TARHAN SAMAH
Senior

hello evry body i have a prblm i can read page 31 : 0x0800 7C00 and write of flash

but adress 127 (page127) adress 0x0801 FC00i have a prblm it doesnt allow reading or writing

even my stm is stm 32f103cb medium flash is 128kb , i dont understand why it desnt allow this page ????

 plz have a look to my flash config mem what should i change here , looks its a bout the RAM2 İ NEED TO ACTİVATE İT but with which values start and size ,look at attched pic

thanks

3 REPLIES 3
Amel NASRI
ST Employee

Hi @TARHAN SAMAH​ ,

When exactly the problem is faced?

Do you have the same issue using the STLink Utility or the STM32CubePorgrammer?

You can check if any read protection option is set for the page 127.

The configuration you shared seems OK; it is aligned with the examples we provided in STM32CubeF1.

BTW, you can check the Flash dedicated examples under STM32Cube_FW_F1_V1.6.1\Projects\STM32F103RB-Nucleo\Examples\FLASH.

-Amel

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Please try to write complete words and not texting abbreviations, it makes translation unduly complicated, and doesn't come across as professional. ​

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
TARHAN SAMAH
Senior

thanks Amel , i use st link 2 , on keil i earse all flash to be sure , i m having new data then even i cannot read adresses like BELOW

uint32_t data_adress=0x0801FC00;//Page to be deleted 

uint32_t PageError=0;

static FLASH_EraseInitTypeDef EraseInit;

uint32_t mod_adress[1]={0x0801FC00};//D1 //last page first adress

uint32_t freq_adress[9]={0x0801FC02,0x0801FC04,0x0801FC06,0x0801FC08,0x0801FC0A,0x0801FC0C,0x0801FC0E,0x0801FC10,0x0801FC12};//D1-D2-D3-D4-D5-D6-D7-D8-D9

uint32_t pwr_adress[3]={0x0801FC14,0x0801FC16,0x0801FC18};//size-D1-D2

uint32_t sf_adress[3]={0x0801FC1A,0x0801FC1C,0x0801FC1E};//size-D1-D2

uint32_t wdt_adress[11]={0x0801FC20,0x0801FC22,0x0801FC24,0x0801FC26,0x0801FC28,0x0801FC2A,0x0801FC2C,0x0801FC2E,0x0801FC30,0x0801FC32,0x0801FC34};//size-D1-D2-D3-D4-D5-D6-D7-D8-D9-D10

uint32_t cr_adress[1]={0x0801FC36};//D1

uint32_t crc_adress[1]={0x0801FC38};//D1

uint32_t sync_adress[3]={0x0801FC3A,0x0801FC3C,0x0801FC3E};//D1-D2-D3

uint32_t bw_adress[3]={0x0801FC40,0x0801FC42,0x0801FC44};//D1-D2-D3

uint32_t afcbw_adress[2]={0x0801FC46,0x0801FC48};//D1-D2

uint32_t rxbw_adress[2]={0x0801FC4A,0x0801FC4C};//D1-D2

uint32_t fdev_adress[6]={0x0801FC4E,0x0801FC50,0x0801FC52,0x0801FC54,0x0801FC56,0x0801FC58};//size-D1-D2-D3-D4-D5

uint32_t prlen_adress[6]={0x0801FC5A,0x0801FC5C,0x0801FC5E,0x0801FC60,0x0801FC62,0x0801FC64};//size-D1-D2-D3-D4-D5

uint32_t rxw_adress[6]={0x0801FC66,0x0801FC68,0x0801FC6A,0x0801FC6C,0x08017FC6E,0x0801FC70};//size-D1-D2-D3-D4-D5

uint32_t rov_adress[2]={0x0801FC72,0x0801FC74};//D1 

uint32_t gdt_adress[1]={0x0801FC76};//D1 

uint32_t random_adress[5]={0x0801FC7A,0x0801FC7C,0x0801FC7E,0x0801FC80,0x0801FC82};//size-D1-D2-D3-D4

uint32_t wait_ack_timer_adress[5]={0x0801FC84,0x0801FC86,0x0801FC88,0x0801FC8A,0x0801FC8C};//size-D1-D2-D3-D4

uint32_t random_divider_adress[5]={0x0801FC8E,0x0801FC90,0x0801FC92,0x0801FC94,0x0801FC96};//size-D1-D2-D3-D4

uint32_t random_min_adress[5]={0x0801FC98,0x0801FC9A,0x0801FC9C,0x0801FC9E,0x0801FCA0};//size-D1-D2-D3-D4

uint32_t reader_adress[1]={0x0801FCA2};//D1 

uint32_t new_flash_flag_adress=0x0801FCA4;

SOME OF THE THEM READS half of them my chip buggs or writes on hyperterminal FF İN RED , looks he couldn read that i changed another chip i said maybe my chip is damaged but all of them are same

, how can i open the right to read and write to page 126 or 127 which area plz can you explain .