4 posts / 0 new
Last post
sklin
Offline
Last seen:5 years 6 months ago
Expert
加入:2014-08-12 08:01
jump_table_base[88]

Hi Dialog
In the file name is "jump_table.c",I found such an array :

const uint32_t* const jump_table_base[88] __attribute__((section("jump_table_mem_area")))
{
...
}

What's the usage of this array?
Can I change the array or add any elements?

AK_Dialog
Offline
Last seen:1 month 3 weeks ago
Staff
加入:2013-12-16 15:49
Hi Lin,

Hi Lin,

The jump_table is an array in retention memory where pointers to different functions and variables are stored. This memory area is powered even in Deep Sleep mode and will retain its content.

It is not advised to make changes to this array .

Best regards,

Dialog Support Team

sklin
Offline
Last seen:5 years 6 months ago
Expert
加入:2014-08-12 08:01
Hi AK_Dialog

Hi AK_Dialog
Thanks for your answer.
Well,the datasheet describes memory in the device is :
32kB OTP +
42kB System SRAM +
84kB ROM +
8kB Retention SRAM
What are the differents between SystemSRAM and Retention SRAM?
How can I known that where is my variables storage,System SRAM or Retention SRAM?

MHv_Dialog
Offline
Last seen:1 week 6 days ago
Staff
加入:2013-12-06 15:10
Hi Sklin,

Hi Sklin,

The system RAM is one block of memory from which application code typically is executed. System RAM is turned off and data is lost when entering deep sleep mode. Retention Ram consists of 4 RAM blocks that can be powered on and off individually. They are fragmented so that you can retain 1 to 8kBytes of data in 1kByte increments during deep sleep.

To get an idea of what practically is stored in retention RAM, take a look at the app_env environment struct of any fh sample application (reporter_fh). Some applicaition layer information needs to be retained during deep sleep, so this envirnment struct is stored in retention RAM area.

I hope that helps you understand the difference.