To many elements in the array - stm32f103
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2012-07-27 12:29 PM
hello,
I have an issue. I'm using the stm32f103RB. When i want to create an array which has 8192 elements - const uint16_t table[8192] = {458,542... }; The software successfully build in to the flash, but when i'm starting the debug mode, i get an error - ''cannot access memmory'' - error 57 or somethink. The program do not jump to the main. Than i change the array, which has less elements, aboute quarter of previous and the program normali works. I can not find the problem.. #stm32f103-flash-memmory-array- Labels:
-
Flash
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2012-07-27 12:43 PM
Is this in Keil? If using the eval version it could be that you've exceeded the code limit.
Make sure you've picked the correct CPU for the project, and the correct flash algorithm for the part. Also make sure BOOT0 is not pulled high. Perhaps SWD or JTAG connectivity.Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2012-07-31 10:50 PM
Yes, this is in keil uvision. I put the array out of the function ''int main (void)'' - and its working well. But, it should work even if the initialization of the array is in the function. Is this a compiler problem? Thank you for helping =)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2012-08-04 12:21 PM
''I put the array out of the function 'int main (void)' - and its working well But, it should work even if the initialization of the array is in the function''
Remember that local variables are allocated on the stack...A complex system designed from scratch never works and cannot be patched up to make it work.
