Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUILD FAILED WITH TONNES OF ERROR #22

Open
sunilkumar105 opened this issue Nov 28, 2023 · 11 comments
Open

BUILD FAILED WITH TONNES OF ERROR #22

sunilkumar105 opened this issue Nov 28, 2023 · 11 comments

Comments

@sunilkumar105
Copy link

sunilkumar105 commented Nov 28, 2023

AZSASDASDASD
I AM USING STM32F401CCU6

@sunilkumar105 sunilkumar105 changed the title bUILD FAILED WITH TONNES OF ERROR BUILD FAILED WITH TONNES OF ERROR Nov 28, 2023
@nimaltd
Copy link
Owner

nimaltd commented Nov 28, 2023

Hello. Your mcu is not in list. Please add it with correct configuration.

@sunilkumar105
Copy link
Author

sunilkumar105 commented Nov 28, 2023

Hii nimltd
i tried adding our own configuration and studied the architecture of flash of stm32, but still i am missing something as my code is having some issue most probably due to bad configuration of address and it is crashing into hardfault and not getting programmed after reading data from that specific sector untill i erase the wholee flash with stm32 cube programmer software

i am using **STM32F410RB ** with a flash size of 128KILOBYTES and RAM OF SIZE 32KILOBYTES
As per the referance manual here is its memory organisation
image

as per my memory useage it is only taking 10kb
image
so i can safely use seector 3
here is my config.h
image

Also there was no coorect configuration of my board in ee.c file so i added
image
QUESTION 1 IS THE FIRST PARAMETER #define _EE_SIZE (1024*16) IS CORRECT? I dont know whether it is right or wrong but i guessed it to be the size of one page or one sector right ?? If not then please reply with the correct answer

so once i read the flash data from it, after that whenever i try to put it in deebug mode or try to program i keep getting this error
image

Do u have any clue about it?
Thanks a lot

@nimaltd
Copy link
Owner

nimaltd commented Nov 28, 2023

@sunilkumar105 Hi, My suggestion: Use the last sector(SEC4, 64KB). it is better. you can use others for your code.

watch this configuratio. i think it like your mcu.

#if defined(STM32F411xE)
#define _EE_SIZE (1024 * 128)
#define _EE_ADDR_INUSE (((uint32_t)0x08020000) | (_EE_SIZE*(_EE_USE_FLASH_PAGE_OR_SECTOR - 5)))
#define _EE_FLASH_BANK FLASH_BANK_1
#define _EE_VOLTAGE_RANGE _EE_VOLTAGE
#define _EE_PAGE_OR_SECTOR SECTOR

try with:

#if defined(STM32F410xB)
#define _EE_SIZE (1024 * 64)
#define _EE_ADDR_INUSE (((uint32_t)0x08020000) | (_EE_SIZE*(_EE_USE_FLASH_PAGE_OR_SECTOR - 4)))
#define _EE_FLASH_BANK FLASH_BANK_1
#define _EE_VOLTAGE_RANGE _EE_VOLTAGE
#define _EE_PAGE_OR_SECTOR SECTOR

and config:
#define _EE_USE_FLASH_PAGE_OR_SECTOR (4)

@sunilkumar105
Copy link
Author

sunilkumar105 commented Nov 28, 2023

sir i tried the above configuration, now ee_init(); function is taking me to hardfault

i editted #define _EE_ADDR_INUSE (((uint32_t)0x08020000) address to 0x8000000 as the starting address of flash is 0x8000000. It committed data succesfully but read the wrong value and again the same issue, unabgle to program

@nimaltd
Copy link
Owner

nimaltd commented Nov 28, 2023

@sunilkumar105 sorry. try 0x08010000

@nimaltd
Copy link
Owner

nimaltd commented Nov 28, 2023

#if defined(STM32F410xB)
#define _EE_SIZE (1024 * 64)
#define _EE_ADDR_INUSE (((uint32_t)0x08010000) | (_EE_SIZE*(_EE_USE_FLASH_PAGE_OR_SECTOR - 4)))
#define _EE_FLASH_BANK FLASH_BANK_1
#define _EE_VOLTAGE_RANGE _EE_VOLTAGE
#define _EE_PAGE_OR_SECTOR SECTOR

and config:
#define _EE_USE_FLASH_PAGE_OR_SECTOR (4)

@sunilkumar105
Copy link
Author

Again the issue is same
image

@sunilkumar105
Copy link
Author

As per your suggestion u suggested to use #define _EE_ADDR_INUSE (((uint32_t)0x08010000) | (_EE_SIZE*(_EE_USE_FLASH_PAGE_OR_SECTOR - 4)))

but _EE_USE_FLASH_PAGE_OR_SECTOR - 4 will always result in 0, hence making (_EE_SIZE*(_EE_USE_FLASH_PAGE_OR_SECTOR - 4))) == 0 so _EE_ADDR_INUSE will always equal to 0x08010000. But we are using sector 4 whouse starting address is 0x08011000

image

@nimaltd
Copy link
Owner

nimaltd commented Nov 28, 2023

yes. i see. use 0x0811000

@sunilkumar105
Copy link
Author

sunilkumar105 commented Nov 29, 2023

but why? (0X8010000 ) using this address we are pointing to a address of sector 3 and we are defining that we are working with sector 4 whose starting address is 0X8011000

@nimaltd
Copy link
Owner

nimaltd commented Nov 29, 2023

Please Try with that and tell me what is happen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants