problem when changing from DTCM Ram to RAM_D1
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2020-07-20 1:51 AM
Hello,
I am writing a project with STM32H7. The project contains RTC, SPI, USART, SD Card, timers, and I2C.
In order to have more RAM, I have brough the data and bss to RAM_D1.
As next steps I want to implement Ethernet. However, I realized that in order for Ethernet to work, I need to only use RAM_D1.
The problem is when I bring the heap and stack to RAM_D1, the project stops working.
Can someone please help?
I include the linker script before and after bringing everything to RAM_D1.
Thank you in advance for your help.
Solved! Go to Solution.
- Labels:
-
STM32H7 Series
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2020-07-20 7:56 AM
Single or dual core? If i needed extra ram for the m7 core i would use the axiram, not d2 sram. As you have found out, the peripherals might need the d2 sram.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2020-07-20 5:32 AM
Instrument code so you can identify where it stops working. Have Hard Fault and Error Handlers output actionable data.
Some memories require clocks to be enabled
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
2020-07-20 6:30 AM
You need to update _estack to point to the end of the stack. It's still pointing at DTCM space. Pretty sure some malloc implementations don't like when the stack is below the heap.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2020-07-20 7:15 AM
I am sorry but can you tell me what to exactly do? I am really new in this field.
Thank you very much
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2020-07-20 7:16 AM
Thanks a lot Clive, I will sure check.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2020-07-20 7:25 AM
Change
_estack = 0x20020000;
to
_estack = 0x30000000;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2020-07-20 7:34 AM
thank you very much.
I did it but then everything stopped working. :(
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2020-07-20 7:36 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2020-07-20 7:56 AM
Single or dual core? If i needed extra ram for the m7 core i would use the axiram, not d2 sram. As you have found out, the peripherals might need the d2 sram.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2020-07-20 7:59 AM
