<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/69963/how-can-i-change-the-heap-to-flash-instead-of-ram-in-segger</link><description>Hi. 
 I am working on nRF52832. I want to store a structure with 492kb I am getting heap is too large error. So how can I tell the complier to store my variable in flash instead of RAM by changing the settings in segger please let me kindly</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 30 Dec 2020 09:30:51 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/69963/how-can-i-change-the-heap-to-flash-instead-of-ram-in-segger" /><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286960?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 09:30:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:610fc5eb-59f1-4553-980f-9aa4c948824e</guid><dc:creator>Henry_Chou</dc:creator><description>&lt;p&gt;The internal flash means share with the NRF52832 flash ROM. I think it&amp;#39;s not a good choice&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286958?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 09:28:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8deca0c2-2bcb-4bfc-813b-628b2481776f</guid><dc:creator>ps_anu</dc:creator><description>&lt;p&gt;don&amp;#39;t&amp;nbsp; you have the internal flash&amp;nbsp; reference&amp;nbsp;&lt;span&gt;code&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286952?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 09:22:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e335f446-acbf-469f-8af3-2c4662eaafa9</guid><dc:creator>Henry_Chou</dc:creator><description>&lt;p&gt;The file is my project which I had done before. You may use this but the spi is done by gpio.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/nor_5F00_flash_5F00_drv.zip"&gt;devzone.nordicsemi.com/.../nor_5F00_flash_5F00_drv.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Usage:&lt;/p&gt;
&lt;p&gt;Write_FIFO(char *str);&lt;/p&gt;
&lt;p&gt;READ_FIFO(char *str);&lt;/p&gt;
&lt;p&gt;Good luck for you.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286947?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 09:08:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:51655059-600d-493d-b581-5c996c4a2276</guid><dc:creator>ps_anu</dc:creator><description>&lt;p&gt;i will send not immediately , by using delay one by one packet. I will send over BLE . I don&amp;#39;t know to write the accelerometer data in fds example code . please look at my code&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/flash_5F00_fds.zip"&gt;devzone.nordicsemi.com/.../flash_5F00_fds.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#include &amp;quot;fds.h&amp;quot;
#include &amp;quot;nrf_log.h&amp;quot;
#include &amp;quot;nrf_log_ctrl.h&amp;quot;
#include &amp;quot;nrf_log_default_backends.h&amp;quot;
#include &amp;quot;nrf_drv_twi.h&amp;quot; //twi  added



/* TWI PINS */
#define TWI_SCL_PIN     27
#define TWI_SDA_PIN     26

/* MPU-6050 I2C-ADDRESS */
#define MPU_6050_I2C_ADDR   0x68

/* MPU-6050 Register Map */
#define WHO_AM_I            0x75
#define ACCEL_XOUT_H        0x3B
#define TEMP_OUT_H          0x41    
#define GYRO_XOUT_H         0x43         
#define PWR_MGMT_1          0x6B

/* TWI instance. */
static const nrf_drv_twi_t m_twi_mpu_6050 = NRF_DRV_TWI_INSTANCE(0); //added

char *accelerometer_value;
float alt[8];
char accel[80];
uint32_t flash=5;
/**************************Private Function Definitions**************************/

uint32_t file_id = 0x01000;
uint32_t rec_id = 0x1111;
typedef struct
{
 char accelerometer_data[80];
   
}configuration_t_sensor;
static configuration_t_sensor my_data =
{
  .accelerometer_data=   // here i tried to push the acceleromter value 

};
/* A record containing dummy configuration data. */
fds_record_t record =
{
  .file_id           = 0x00,
  .key               = 0x00,
  .data.p_data       = &amp;amp;my_data,
  /* The length of a record is always expressed in 4-byte units (words). */
  .data.length_words = 25,                  //Also change this if array size is changed.
};

/* Flag to check fds initialization. */
static bool volatile m_fds_initialized = false;;
static bool volatile m_fds_write = false;
static bool volatile m_gc_complete = false;


/**
* @brief             Event handler for FDS events
* @param[in]         p_evt              Structure with FDS data
* @retval            NONE
*/
static void fds_evt_handler(fds_evt_t const * p_evt)
{
  /*NRF_LOG_INFO(&amp;quot;Event: %s received (%s)&amp;quot;,
               fds_evt_str[p_evt-&amp;gt;id],
               fds_err_str[p_evt-&amp;gt;result]);
  */
  switch (p_evt-&amp;gt;id)
  {
  case FDS_EVT_INIT:
    if (p_evt-&amp;gt;result == NRF_SUCCESS)
    {
      m_fds_initialized = true;
    }
    break;
    
  case FDS_EVT_WRITE:
    {
      if (p_evt-&amp;gt;result == NRF_SUCCESS)
      {
        m_fds_write = true;
      }
    } break;
    
  case FDS_EVT_DEL_RECORD:
    {
      if (p_evt-&amp;gt;result == NRF_SUCCESS)
      {
        NRF_LOG_INFO(&amp;quot;Record ID:\t0x%04x&amp;quot;,  p_evt-&amp;gt;del.record_id);
        NRF_LOG_INFO(&amp;quot;File ID:\t0x%04x&amp;quot;,    p_evt-&amp;gt;del.file_id);
        NRF_LOG_INFO(&amp;quot;Record key:\t0x%04x&amp;quot;, p_evt-&amp;gt;del.record_key);
      }
      ///m_delete_all.pending = false;
    } break;
    
  case FDS_EVT_GC:
    {
      NRF_LOG_INFO(&amp;quot;GC Done&amp;quot;);
      m_gc_complete = true;
    }break;
    
  default:
    break;
  }
}
/**
* @brief             Function to go to low power when waiting for FDS
* @param[in]         NONE
* @retval            NONE
*/
static void power_manage(void)
{
#ifdef SOFTDEVICE_PRESENT
  (void) sd_app_evt_wait();
#else
  __WFE();
#endif
}

/**
* @brief             The FDS takes some time for init. Waiting till it gets initialised properly.
* @param[in]         NONE
* @retval            NONE
*/
static void wait_for_fds_ready(void)
{
  while (!m_fds_initialized)
  {
    power_manage();
  }
}

static void wait_for_write(void)
{
  while (!m_fds_write)
  {
    power_manage();
  }
  m_fds_write = false;
}


void fds_write()
{
  ret_code_t rc;
  fds_record_desc_t desc = {0};
  record.file_id = file_id;

  for(int i=0;i&amp;lt;10;i++)
  {  
    memset(&amp;amp;desc, 0x00, sizeof(fds_record_desc_t)); //clear pannuthu
    record.key = rec_id;
    rc = fds_record_write(&amp;amp;desc, &amp;amp;record);
    wait_for_write();
    if(rc == NRF_SUCCESS) {
      NRF_LOG_INFO(&amp;quot;Data written with id %d&amp;quot;,rec_id);
    }
    else {
      NRF_LOG_INFO(&amp;quot;Write Failed, id %d&amp;quot;,rc);
    }
    rec_id++;
  }  
  rec_id = 0x1111;
}

void fds_read()
{
  NRF_LOG_INFO(&amp;quot;Starting Read&amp;quot;);
  ret_code_t rc;
   
  fds_record_desc_t desc = {0};
  fds_find_token_t  tok  = {0};
  
  for(int i=0;i&amp;lt;10;i++)
  {
    memset(&amp;amp;desc, 0x00, sizeof(fds_record_desc_t)); 
    memset(&amp;amp;tok, 0x00, sizeof(fds_find_token_t)); 
    
   rc = fds_record_find(file_id, rec_id, &amp;amp;desc, &amp;amp;tok);
  
    if (rc == NRF_SUCCESS)
    {
      fds_flash_record_t config = {0};
      
      /* Open the record and read its contents. */
     rc = fds_record_open(&amp;amp;desc, &amp;amp;config);
      APP_ERROR_CHECK(rc);

      NRF_LOG_INFO(&amp;quot;File Found with id %s&amp;quot;,record.data.p_data);
        printf(&amp;quot;File Found with id %s&amp;quot;,record.data.p_data);
      
      /* Close the record when done reading. */
      rc = fds_record_close(&amp;amp;desc);
      APP_ERROR_CHECK(rc);
    }
    rec_id++;
  }
}

/**
* @brief             Initialise FDS
* @param[in]         NONE
* @retval            NONE
*/
void init_fds()
{
  ret_code_t rc;
  
  /* Register first to receive an event when initialization is complete. */
  (void) fds_register(fds_evt_handler);
  
  NRF_LOG_INFO(&amp;quot;Initializing fds...&amp;quot;);
  
  rc = fds_init();
  NRF_LOG_INFO(&amp;quot;fds init %d&amp;quot;,rc);
  APP_ERROR_CHECK(rc);
  
  /* Wait for fds to initialize. */
  wait_for_fds_ready();
}


/**
* @brief                       Function to call the power management
* @param[in]                   NONE
* @retval                      NONE
*/
void idle_state_handle()
{
  nrf_pwr_mgmt_run();
}

/**
* @brief             Initialise the peripherals
* @param[in]         NONE
* @retval            NONE
*/
void init_peripherals()
{  
  NRF_LOG_INIT(NULL);
  NRF_LOG_DEFAULT_BACKENDS_INIT();                                                      //Use RTT as default backend
  NRF_LOG_INFO(&amp;quot;Start\r\n&amp;quot;);
  
  init_fds();
}



// twi added




/**
 * @brief Function for initializing the TWI peripheral.
 */
 
void twi_init (void)
{
    ret_code_t err_code;
    
    const nrf_drv_twi_config_t twi_mpu_6050_config = {
        .scl            = 27 ,
        .sda            = 26 ,
        .frequency      = NRF_TWI_FREQ_400K,
        .interrupt_priority = APP_IRQ_PRIORITY_HIGH
    };
    
    err_code = nrf_drv_twi_init(&amp;amp;m_twi_mpu_6050, &amp;amp;twi_mpu_6050_config, NULL, NULL);
    APP_ERROR_CHECK(err_code);
    
    nrf_drv_twi_enable(&amp;amp;m_twi_mpu_6050);
}

/**
 * @brief Function for writing to registers on the MPU-6050.
 */

ret_code_t mpu_6050_I2C_register_write(uint8_t reg_addr, uint8_t * p_tx_data, uint8_t bytes)
{
    ret_code_t ret_code;
    
    uint8_t tx_data[bytes+1];
    
    tx_data[0] = reg_addr;
    
    for(uint8_t i = 0 ; i&amp;lt;bytes ; i++) 
    {
        tx_data[i+1] = p_tx_data[i];
    }   
   
    ret_code = nrf_drv_twi_tx(&amp;amp;m_twi_mpu_6050, MPU_6050_I2C_ADDR, tx_data, sizeof(tx_data), false);
    
    return ret_code;
}

/**
 * @brief Function for reading from registers on the MPU-6050.
 */

 ret_code_t mpu_6050_I2C_register_read( uint8_t reg_addr,  uint8_t * p_rx_data, uint32_t bytes)
{   
    ret_code_t ret_code;
    
    ret_code = nrf_drv_twi_tx(&amp;amp;m_twi_mpu_6050,MPU_6050_I2C_ADDR, &amp;amp;reg_addr, 1, false);
    
    if(ret_code != NRF_SUCCESS)
    {
        return ret_code;
    }
    
    ret_code = nrf_drv_twi_rx(&amp;amp;m_twi_mpu_6050, MPU_6050_I2C_ADDR, p_rx_data, bytes);
    
    return ret_code;
}

void mpu_6050_init (void)
{
    ret_code_t err_code;
    
    uint8_t tx_data = 0;
    
    // Write zero to the PWR_MGMT_1 register to wake up the MPU-6050
    err_code = mpu_6050_I2C_register_write(PWR_MGMT_1, &amp;amp;tx_data, 1);
    
    APP_ERROR_CHECK(err_code);
}

void mpu_6050_get_device_id (uint8_t * p_dev_id)
{
    ret_code_t err_code;
    
    uint8_t rx_data;
    
    // Read the I2C Address of the MPU-6050 from the WHO_AM_I register
    err_code = mpu_6050_I2C_register_read(WHO_AM_I,&amp;amp;rx_data,1);
       APP_ERROR_CHECK(err_code);
    
    *p_dev_id = rx_data;
}


char *accel_data()
{
    ret_code_t err_code;
    float *p_a_val;
     float *p_b_val;
      float *p_c_val;
  

      int16_t *p_x_val;
int16_t *p_y_val;
int16_t *p_z_val;
      
    // Raw accelerometer measurements buffer
    uint8_t acc_data[6];
    
    // Read the six accelerometer data registers starting from ACCEL_XOUT_H
    mpu_6050_I2C_register_read(ACCEL_XOUT_H,acc_data,sizeof(acc_data));
    
    APP_ERROR_CHECK(err_code);
    
    /*  Combine the two 8-bit data registers to a 16-bit value
        for each axis by left shifting ACCEL_xOUT_H eight times 
        and OR it with ACCEL_xOUT_L. */

            

 * p_x_val = (acc_data[0]&amp;lt;&amp;lt;8)|acc_data[1];
    *p_y_val = (acc_data[2]&amp;lt;&amp;lt;8)|acc_data[3];
    *p_z_val =  (acc_data[4]&amp;lt;&amp;lt;8)|acc_data[5];


       *p_a_val = (*p_x_val) /16384.0; // in m/s^2
         *p_b_val = (*p_y_val) /16384.0; // in m/s^2

 *p_c_val = (*p_z_val) /16384.0; // in m/s^2
 
        
alt[0]=*p_a_val;
alt[1]=*p_b_val;
alt[2]=*p_c_val;



sprintf(accel,&amp;quot;,%.2f,%.2f,%.2f\n&amp;quot;,alt[0],alt[1],alt[2]);

    
return accel;

}
 

/**
* @brief             Main Function
* @param[in]         NONE
* @retval            NONE
*/
int main()
{

twi_init();
mpu_6050_init();

  init_peripherals();
  fds_write();
  fds_read();
  
  while(1)
  {
    NRF_LOG_PROCESS();
   
    idle_state_handle();
  }
}&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286945?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 09:05:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b58edf9c-a5b5-40af-9636-a173842dc6aa</guid><dc:creator>Henry_Chou</dc:creator><description>&lt;p&gt;\nRF5_SDK_17.0.2_d674dde\examples\peripheral\flash_fds&lt;/p&gt;
&lt;p&gt;You may take for reference. 5 minutes report. Why not 5 seconds char. notify data?&lt;/p&gt;
&lt;p&gt;If the long times report, the nus rx package will be very large. It&amp;#39;s must be some trouble-shooting over package large than 256 bytes.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286942?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 08:55:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c3cd1524-6a86-4fb6-9ed6-c2852d7f5677</guid><dc:creator>ps_anu</dc:creator><description>&lt;p&gt;Actually I want to store the data for the 5minutes and send over BLE . I am thought of using the flash fds example ,but I don&amp;#39;t know how to push the timestamp and accelerometer data&amp;nbsp; in fds example . If you can help with this please . I referred many post even though i am not getting any idea&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286939?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 08:49:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e50beb18-57e6-46da-884b-be57f8e8d14b</guid><dc:creator>Henry_Chou</dc:creator><description>&lt;p&gt;Woops....Change the sensor data structure. If the timestamp data is needed. Maybe store the data in external flash or so on. In your project , the sensor is mpu6050 it&amp;#39;s the gyro sensor I had done. You may not record all of the time-line data. Finally, You just need the x,y,z, pitch,roll,yaw . So I don&amp;#39;t think that you need so huge array.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286938?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 08:47:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2d79c1bb-6a83-4bc9-8d42-19ee6547d237</guid><dc:creator>ps_anu</dc:creator><description>&lt;p&gt;how to resolve this ? please guide me&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286937?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 08:46:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a4f50cb2-bd1c-4f4b-a360-2fa384da2c63</guid><dc:creator>Henry_Chou</dc:creator><description>&lt;p&gt;ok....Because it&amp;#39;s the resource problems. You have to reduce the memory size first. The NRF52832 RAM size is only 64K Bytes.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286935?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 08:32:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:640c4f1a-2999-43f6-a474-777ca95f3e3b</guid><dc:creator>ps_anu</dc:creator><description>&lt;p&gt;no I am getting the error while compiling , .bss is too large to fit in RAM memory and .heap stack overflows stack . you didn&amp;#39;t get this&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286934?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 08:30:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b2937ec9-66cb-4a64-80f7-3677c76c6a9b</guid><dc:creator>Henry_Chou</dc:creator><description>&lt;p&gt;Sorry for slow download. I had checked your heap &amp;amp; stack size 8192. I think that it&amp;#39;s working in your zip package. And the map file is no error. Are you fixed your problems?&lt;/p&gt;
&lt;p&gt;struct sensor_data &lt;br /&gt;{&lt;br /&gt;char timestamp[41];&lt;br /&gt;int sensor_value;&lt;br /&gt;};&lt;/p&gt;
&lt;p&gt;struct sensor_data sensordata_array[12000];&lt;/p&gt;
&lt;p&gt;Why do you need so large memory?&lt;/p&gt;
&lt;p&gt;Can you use the&amp;nbsp;&lt;span&gt;malloc() function and release memory with free() ,if the structure is processed..&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Or use the spi nor-flash interface to storage the data .if it real need to keep.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286926?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 08:03:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:28f9adca-eb7c-4063-bbc8-726dae67b42f</guid><dc:creator>ps_anu</dc:creator><description>&lt;p&gt;I am getting the .bss is too large to fit in RAM memory . After I am changing the heap size and stack size in makefile . Even i am sharing my code too . please have a look&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/ble_5F00_app_5F00_uart-_2800_3_2900_.zip"&gt;devzone.nordicsemi.com/.../ble_5F00_app_5F00_uart-_2800_3_2900_.zip&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286910?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 05:40:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8d11b676-3510-4c27-9c23-373951d7af65</guid><dc:creator>Henry_Chou</dc:creator><description>&lt;p&gt;What&amp;#39;s kind of error?&amp;nbsp;You may attach your error message.....If it&amp;#39;s the memory allocated problem, you have to free memory. And I doubt that the&amp;nbsp;&lt;span&gt;nRF52832 allocated the memory with&amp;nbsp;492kB? How do you think the memory space could be larger than 64KB?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286909?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 05:28:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c03c18a6-0751-4583-b6bc-5ffc70772fe5</guid><dc:creator>ps_anu</dc:creator><description>&lt;p&gt;Yes I changed same error&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286901?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 02:22:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d55093a5-29b3-495c-b48b-787b99e30375</guid><dc:creator>Henry_Chou</dc:creator><description>&lt;p&gt;gcc with make file.....&lt;/p&gt;
&lt;p&gt;SES you may check your project file *.emProject confiuration&lt;/p&gt;
&lt;p&gt;Here.....&lt;/p&gt;
&lt;p&gt;arm_linker_heap_size=&amp;quot;4096&amp;quot;&lt;br /&gt; arm_linker_process_stack_size=&amp;quot;0&amp;quot;&lt;br /&gt; arm_linker_stack_size=&amp;quot;4096&amp;quot;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286900?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 02:12:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:45f3d10e-236c-4569-95a9-b97606f07f55</guid><dc:creator>ps_anu</dc:creator><description>&lt;p&gt;Where can I find the makefile kindly guide me.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks &amp;amp;Regards&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Pspavi&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How can I change the heap to flash instead of RAM in segger</title><link>https://devzone.nordicsemi.com/thread/286899?ContentTypeID=1</link><pubDate>Wed, 30 Dec 2020 02:07:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d31ed186-7192-476b-91a9-fdfc46fa0a4b</guid><dc:creator>Henry_Chou</dc:creator><description>&lt;p&gt;In your makefile add on these compiler flag(ex:4K heap &amp;amp; stack):&lt;/p&gt;
&lt;p&gt;CFLAGS += -D__HEAP_SIZE=4096&lt;br /&gt;CFLAGS += -D__STACK_SIZE=4096&lt;br /&gt;ASMFLAGS += -D__HEAP_SIZE=4096&lt;br /&gt;ASMFLAGS += -D__STACK_SIZE=4096&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>