# Information stored in permanent memory

**URL:** <https://forum.sierrawireless.com/t/information-stored-in-permanent-memory/5880>\
**Category:** Open AT\
**Created:** [October 7, 2012, 11:13am UTC](https://forum.sierrawireless.com/t/information-stored-in-permanent-memory/5880 "2012-10-07T11:13:44Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![spahlavan](https://avatars.discourse-cdn.com/v4/letter/s/a183cd/32.png) [@spahlavan](https://forum.sierrawireless.com/u/spahlavan)\
**Post date:** [October 7, 2012, 11:13am UTC](https://forum.sierrawireless.com/t/information-stored-in-permanent-memory/5880/1 "2012-10-07T11:13:44Z")

</div>

Hello everyone  
Q24 How much memory do I do to permanently store  
I need your help  
Please please help me  
Thanks

---

<div class="post-metadata">

**Author:** ![lqmanhkeem](https://avatars.discourse-cdn.com/v4/letter/l/dbc845/32.png) [@lqmanhkeem](https://forum.sierrawireless.com/u/lqmanhkeem)\
**Post date:** [October 7, 2012, 3:28pm UTC](https://forum.sierrawireless.com/t/information-stored-in-permanent-memory/5880/2 "2012-10-07T15:28:23Z")

</div>

Do you want to know how much memory available on your Q24 module?

Open M2M studio -\> target management -\> status, from there you will get detail info about your memory (type, size, address, etc).

---

<div class="post-metadata">

**Author:** ![lqmanhkeem](https://avatars.discourse-cdn.com/v4/letter/l/dbc845/32.png) [@lqmanhkeem](https://forum.sierrawireless.com/u/lqmanhkeem)\
**Post date:** [October 7, 2012, 3:39pm UTC](https://forum.sierrawireless.com/t/information-stored-in-permanent-memory/5880/3 "2012-10-07T15:39:45Z")

</div>

sorry I mean M2M Studio -\> target management -\> memory mapping (not status).

---

<div class="post-metadata">

**Author:** ![spahlavan](https://avatars.discourse-cdn.com/v4/letter/s/a183cd/32.png) [@spahlavan](https://forum.sierrawireless.com/u/spahlavan)\
**Post date:** [October 8, 2012, 5:04am UTC](https://forum.sierrawireless.com/t/information-stored-in-permanent-memory/5880/4 "2012-10-08T05:04:37Z")

</div>

I want to save data in the flash memory module Q24PLUS

---

<div class="post-metadata">

**Author:** ![lqmanhkeem](https://avatars.discourse-cdn.com/v4/letter/l/dbc845/32.png) [@lqmanhkeem](https://forum.sierrawireless.com/u/lqmanhkeem)\
**Post date:** [October 8, 2012, 10:26am UTC](https://forum.sierrawireless.com/t/information-stored-in-permanent-memory/5880/5 "2012-10-08T10:26:13Z")

</div>

It’s mentioned in ADL\_USER\_GUIDE.pdf spahlavan.  
Especially in section API - \> FLASH.

Please RTFM (Read The Friendly Manual) carefully ❗  
:mrgreen: :mrgreen: :mrgreen:

This is my code for your example.  
Subscribe to FLASH service.

```auto
.
.
	/* Subscribe to Flash Service */
	retVal = adl_flhSubscribe(FLASH_OBJECT_HANDLER, MAX_FLASH_OBJECT_NUMBER);
	if (retVal == OK) {
		TRACE((2, "MAIN TASK : Flash Object Subscribe : %d = SUCCESS", retVal));
	} else if (retVal == ADL_RET_ERR_ALREADY_SUBSCRIBED) {
		TRACE((2, "MAIN TASK : Flash Object Subscribe : %d = FLASH OBJECT ALREADY SUBSCRIBED", retVal));
	} else {
		TRACE((2, "MAIN TASK : Flash Object Subscribe : %d = FAILED", retVal));
	}
.
.
```

Write to FLASH.

```auto
.
.
	if ((retVal = adl_flhWrite(FLASH_OBJECT_HANDLER, id, length, buffer_data)) == OK) {
		wm_sprintf(buff, "WRITE TO FLASH : ID[%d] data[%s] length[%d] : %d = SUCCESS", id, data, length, retVal);
		TRACE((2, buff));
	} else {
		wm_sprintf(buff, "WRITE TO FLASH : ID[%d] data[%s] length[%d] : %d = FAILED", id, data, length, retVal);
		TRACE((2, buff));
		wm_sprintf(buff, "\r\nError writing data[%s] length[%d] to flash ID[%d]\r\n", data, length, id);
		adl_atSendResponse(ADL_AT_RSP, buff);
		return (FALSE);
	}
.
.
```

Read from FLASH.

```auto
.
.
			/* read specified object id */
			retVal = adl_flhRead(FLASH_OBJECT_HANDLER, id, length, buffer_data);
.
.
```

---

<div class="post-metadata">

**Author:** ![spahlavan](https://avatars.discourse-cdn.com/v4/letter/s/a183cd/32.png) [@spahlavan](https://forum.sierrawireless.com/u/spahlavan)\
**Post date:** [October 8, 2012, 11:35am UTC](https://forum.sierrawireless.com/t/information-stored-in-permanent-memory/5880/6 "2012-10-08T11:35:33Z")

</div>

Thanks  
But it  
Give me full code

---

<div class="post-metadata">

**Author:** ![lqmanhkeem](https://avatars.discourse-cdn.com/v4/letter/l/dbc845/32.png) [@lqmanhkeem](https://forum.sierrawireless.com/u/lqmanhkeem)\
**Post date:** [October 9, 2012, 4:11am UTC](https://forum.sierrawireless.com/t/information-stored-in-permanent-memory/5880/7 "2012-10-09T04:11:22Z")

</div>

> [@](#):
>
> Give me full code

Sorry I can’t give you my full code because it is my company’s proprietary.  
But we can have technical discussion here. 🙂🙂

---

<div class="post-metadata">

**Author:** ![spahlavan](https://avatars.discourse-cdn.com/v4/letter/s/a183cd/32.png) [@spahlavan](https://forum.sierrawireless.com/u/spahlavan)\
**Post date:** [October 9, 2012, 5:20am UTC](https://forum.sierrawireless.com/t/information-stored-in-permanent-memory/5880/8 "2012-10-09T05:20:38Z")

</div>

I mean this is the complete code  
Id variable and FLASH\_OBJECT\_HANDLER and MAX\_FLASH\_OBJECT\_NUMBER and length and buffer\_data  
What if some sort and should be defined

---

<div class="post-metadata">

**Author:** ![awneil](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@awneil](https://forum.sierrawireless.com/u/awneil)\
**Post date:** [October 9, 2012, 9:20am UTC](https://forum.sierrawireless.com/t/information-stored-in-permanent-memory/5880/9 "2012-10-09T09:20:36Z")

</div>

> [@spahlavan](#):
>
> Give me full code

> [@lqmanhkeem](#):
>
> we can have technical discussion here. 🙂🙂

As lqmanhkeem says, this is a discussion forum - it is not a free consultancy service to do your work for you!

---

<div class="post-metadata">

**Author:** ![lqmanhkeem](https://avatars.discourse-cdn.com/v4/letter/l/dbc845/32.png) [@lqmanhkeem](https://forum.sierrawireless.com/u/lqmanhkeem)\
**Post date:** [October 9, 2012, 9:22am UTC](https://forum.sierrawireless.com/t/information-stored-in-permanent-memory/5880/10 "2012-10-09T09:22:31Z")

</div>

> [@](#):
>
> Id variable and FLASH\_OBJECT\_HANDLER and MAX\_FLASH\_OBJECT\_NUMBER and length and buffer\_data

It is my own variables.

```auto
#define FLASH_OBJECT_HANDLER "data_array"
#define MAX_FLASH_OBJECT_NUMBER 19
u16 length;
u8 *buffer_data;
```

ID variable = array component from 1-19.  
8) 8) 8)
