This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

zi data greater than device ram stm32f746

I'm doing a project that use all resources and options available in stm32f746 using its discovery board to create a smart controller
I did not reach half distance of my road and now the zi data is around 390 kb which is greater than actual device RAM
My question is does zi mean real places booked in RAM or just virtual according to program and when program run it will be deleted and over written like what happens in stack and heap ?
If yes real location then how is program still run and it show zi greater than device RAM
Note1 there is external RAM used for LCD buffering
How I can use that external RAM to increase total RAM for zi
Note2 I'm new in C and arm

Thanks

Parents
  • You'd need to define the memory space you want the linker to use, and also initialize the SDRAM so it is usable. The topic of directing data to SDRAM has been covered here in recent days, and relatively frequently. Review the product documentation if you want to understand how to use the tools.

    Consider why you are burning up all this space, do they need to be global static allocations, or could you use dynamic memory which you allocation/deallocate as needed.

    Embedded is not like PC programming, you can't assume infinite amounts of space. The SDRAM is also likely to be slower than internal RAM, so use the appropriate memory for the task at hand.

Reply
  • You'd need to define the memory space you want the linker to use, and also initialize the SDRAM so it is usable. The topic of directing data to SDRAM has been covered here in recent days, and relatively frequently. Review the product documentation if you want to understand how to use the tools.

    Consider why you are burning up all this space, do they need to be global static allocations, or could you use dynamic memory which you allocation/deallocate as needed.

    Embedded is not like PC programming, you can't assume infinite amounts of space. The SDRAM is also likely to be slower than internal RAM, so use the appropriate memory for the task at hand.

Children