# Error after write in memory AMB82

**URL:** <https://forum.amebaiot.com/t/error-after-write-in-memory-amb82/3983>\
**Category:** SDK\
**Tags:** rtl8735b, evb-amb82\
**Created:** [March 28, 2025, 10:40pm UTC](https://forum.amebaiot.com/t/error-after-write-in-memory-amb82/3983 "2025-03-28T22:40:09Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![TeschRenan](https://avatars.discourse-cdn.com/v4/letter/t/958977/32.png) [@TeschRenan](https://forum.amebaiot.com/u/TeschRenan)\
**Post date:** [March 28, 2025, 10:40pm UTC](https://forum.amebaiot.com/t/error-after-write-in-memory-amb82/3983/1 "2025-03-28T22:40:10Z")

</div>

Hello, i try write some string in memory and during the code is executed nothing is broken, but after restart the uC i received a erro, in bellow.

Basicly i write a string from 32bytes in 3 sector, 0x1E20, 0x1E40 and 0x1E60 when i received the package from BLE, in bellow my write and read function.

void writeStringToMemory(const char\* str, uint32\_t addr) {  
int len = strlen(str) + 1; // Sum null-terminator ‘\0’  
int i = 0;

while (i \< len) {  
uint32\_t word = 0;  
memcpy(&word, str + i, min(4, len - i)); // Maximum 4 bytes  
FlashMemory.writeWord(addr + i, word);  
i += 4;  
}  
}

void readStringFromMemory(char\* buffer, uint32\_t addr, int maxLen) {  
int i = 0;

while (i \< maxLen) {  
uint32\_t word = FlashMemory.readWord(addr + i);  
memcpy(buffer + i, &word, min(4, maxLen - i)); // Copy back to buffer  
i += 4;  
if (buffer[i - 1] == ‘\0’) break; // Stop if find null-terminator  
}  
}

The error!

Boot Loader \<==

== RAM Start ==  
Build @ 17:32:16, Oct 24 2024

$8735b\>interface 0 is initialized

interface 1 is initialized

cfg\_size\_lib = 40, cfg\_size\_user = 40

Initializing WIFI …[Driver]: [HALMAC]

11692M HALMAC\_MAJOR\_VER = 1

HALMAC\_PROTOTYPE\_VER = 4

HALMAC\_MINOR\_VER = 20

HALMAC\_PATCH\_VER =

[Driver]: The driver include MP

[Driver]: Ver = libwlan:2024.10.24.17.49\_b9.6\_2e6d0195b6b821c8df060f1392ff528c46a039df

RFE type = 0

start\_addr=(0x4000), end\_addr=(0x8000), buffer\_size=(0x4000), smp\_number\_max=(2048)

WIFI initialized  
Bluetooth init BT\_ADDR in cfgbuf [40:f4:c9:12:de:bd]

hci\_platform\_controller\_reset:482(info) BT Reset OK!

MemManage Fault:  
SCB Configurable Fault Status Reg = 0x00000001

MemManage Fault Status:  
MemManage Fault Address Reg is invalid  
Instruction access violation: the processor attempted an instruction fetch from a location that does not permit execution.

S-domain exception from Thread mode, Extended Stack frame on S-PSP  
Registers Saved to stack

Stacked:

R0 = 0x10004415

R1 = 0x000006c0

R2 = 0x55555555

R3 = 0x00000000

R4 = 0xf8acf001

R5 = 0x55555555

R6 = 0x55555555

R7 = 0x00000163

R8 = 0x00000000

R9 = 0x7039494c

R10 = 0x10101010

R11 = 0x11111111

R12 = 0x00000016

LR = 0x7018b433

PC = 0xf8acf000

PSR = 0x41100000

Current:

LR = 0xffffffed

MSP = 0x20003fd8

PSP = 0x7040ad58

xPSR = 0x40000004

CFSR = 0x00000001

HFSR = 0x00000000

DFSR = 0x00000000

MMFAR = 0x00000000

BFAR = 0x00000000

AFSR = 0x00000000

PriMask = 0x00000000

SVC priority: 0x00

PendSVC priority: 0xf0

Systick priority: 0xf0

MSP Data:  
20003FD8: 702992BC FFFFFFF9 20004000 000003E8  
20003FE8: E000E000 702992BC 07070707 701384A5  
20003FF8: 70138518 21000000 F76BC70C 54875265  
20004008: FAF94FB6 F7A635E9 D6C81FF7 09FC8F24  
20004018: 5AF87F3F F9BADFFD 9BFB1E4F D579BE0F  
20004028: 4F9F45FA EE9AFDCC FCE5CB50 0FB22E92  
20004038: F9AA73D5 F59B9FEB 19BB341C 45965E72  
20004048: B067BEEF 153974DF DA06237F 175D1168  
20004058: EE7FC991 97B46886 FD89DB6A 58042943  
20004068: F3700B9F 4B8359BF 01346BBF 42061FC9  
20004078: E82F2381 74D17518 50F94A4A 332C7C58  
20004088: C7FECC2F CD2A36F4 332C7840 C8CD2238  
20004098: D52EA71F BD597362 9722AFEC CA2DE83A  
200040A8: DA50BFD6 3152C81D C564E129 56D8B093  
200040B8: D7CDA105 6DDCADDF BE13A036 023BC67D  
200040C8: 5032C0AF 88062FF8 5270E3C3 1F686392

PSP Data:  
7040AD58: 10004415 000006C0 55555555 00000000  
7040AD68: 00000016 7018B433 F8ACF000 41100000  
7040AD78: 703EC3C0 00000000 00003C00 00004C00  
7040AD88: 00000000 703EC3C0 00000011 FFFFFFFF  
7040AD98: 0000000A 70194BA7 00000000 00000000  
7040ADA8: 00046048 00046048 7040FF40 703CF06C  
7040ADB8: 0000000A 70185867 00000000 70196BEB  
7040ADC8: 00000000 55555555 00000000 00000002  
7040ADD8: 00000000 703CF06C 0000000A 70196D77  
7040ADE8: 00000000 00000002 703CF06C 703CF069  
7040ADF8: 703EC0F4 70196F05 70196ED9 7018BD6F  
7040AE08: 703F3E40 70188BB9 0000003C 703E83E0  
7040AE18: 00000001 70189453 701890C1 703E83E0  
7040AE28: 00000001 7028F0E5 70394988 70394951  
7040AE38: 7028F0DB 7016CD71 00000003 7014526F  
7040AE48: 00000012 000000DE 000000BD 05050505

== NS Dump ==  
CFSR\_NS = 0x00000000  
HFSR\_NS = 0x00000000  
DFSR\_NS = 0x00000000  
MMFAR\_NS = 0x00000000  
BFAR\_NS = 0x00000000  
AFSR\_NS = 0x00000000  
MSP\_NS = 0x00000000  
PSP\_NS = 0x00000000  
NS HardFault Status Reg = 0x00000000  
SCB Configurable Fault Status Reg = 0x00000000  
No Back Trace!

We have any possibility to read the core dump in this uC?

Thank you

---

<div class="post-metadata">

**Author:** ![TeschRenan](https://avatars.discourse-cdn.com/v4/letter/t/958977/32.png) [@TeschRenan](https://forum.amebaiot.com/u/TeschRenan)\
**Post date:** [April 1, 2025, 1:55pm UTC](https://forum.amebaiot.com/t/error-after-write-in-memory-amb82/3983/2 "2025-04-01T13:55:39Z")

</div>

Hello People, any response from this topic?

---

<div class="post-metadata">

**Author:** ![Kelvin\_Huang](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.amebaiot.com/kelvin_huang/32/2130_2.png) [@Kelvin\_Huang](https://forum.amebaiot.com/u/Kelvin_Huang)\
**Post date:** [April 2, 2025, 1:49am UTC](https://forum.amebaiot.com/t/error-after-write-in-memory-amb82/3983/3 "2025-04-02T01:49:00Z")

</div>

Hi @TeschRenan,

Can I check with you if you have tried our Arduino example for reading and writing the word into flash memory?

Can you debug first by writing into each particular sector 1 at a time, and identify which is the sector that does not allow you to write?

Thank you.

---

<div class="post-metadata">

**Author:** ![TeschRenan](https://avatars.discourse-cdn.com/v4/letter/t/958977/32.png) [@TeschRenan](https://forum.amebaiot.com/u/TeschRenan)\
**Post date:** [April 2, 2025, 10:31am UTC](https://forum.amebaiot.com/t/error-after-write-in-memory-amb82/3983/4 "2025-04-02T10:31:24Z")

</div>

Hello Kelvin, good evening, yes i can!

I wil try today.

Thank you.

---

<div class="post-metadata">

**Author:** ![TeschRenan](https://avatars.discourse-cdn.com/v4/letter/t/958977/32.png) [@TeschRenan](https://forum.amebaiot.com/u/TeschRenan)\
**Post date:** [April 2, 2025, 12:21pm UTC](https://forum.amebaiot.com/t/error-after-write-in-memory-amb82/3983/5 "2025-04-02T12:21:00Z")

</div>

Hello @Kelvin_Huang i think i found the problem, when i write anything in 0x1E20 my code break, when a jumpt this address the code works!

In attach example using the 0x1E20 address and without, in my project i use BLE, will be if the problem is with BLE?  
This screenshot is from error.  
Before restart

 ![Screenshot_14](https://us1.discourse-cdn.com/flex016/uploads/ameba/original/2X/2/25285790e6cfd16e6a3775117ae354b3fd8bc8f2.png)  
After Restart.  
 ![Screenshot_15](https://us1.discourse-cdn.com/flex016/uploads/ameba/original/2X/9/906832ce63ea8a739b007fb0c70a3217aca54fc6.png)

This code with after restart jumping 0x1E20 address

 ![Screenshot_16](https://us1.discourse-cdn.com/flex016/uploads/ameba/original/2X/5/5b06f21a068544142c8bc3eb8041e46de4a65b6e.png)

I don’t know about problem but in the time, jump 0x1E20 address works from me!

Best Regards

---

<div class="post-metadata">

**Author:** ![Kelvin\_Huang](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.amebaiot.com/kelvin_huang/32/2130_2.png) [@Kelvin\_Huang](https://forum.amebaiot.com/u/Kelvin_Huang)\
**Post date:** [April 3, 2025, 1:43am UTC](https://forum.amebaiot.com/t/error-after-write-in-memory-amb82/3983/6 "2025-04-03T01:43:26Z")

</div>

Hi @TeschRenan,

Maybe something has been written in that address that does not allow modification.

For your use case, you just have to find a sector that is not in used to write your data into flash.

Thank you.

---

<div class="post-metadata">

**Author:** ![TeschRenan](https://avatars.discourse-cdn.com/v4/letter/t/958977/32.png) [@TeschRenan](https://forum.amebaiot.com/u/TeschRenan)\
**Post date:** [April 3, 2025, 12:30pm UTC](https://forum.amebaiot.com/t/error-after-write-in-memory-amb82/3983/7 "2025-04-03T12:30:46Z")

</div>

Hi @Kelvin_Huang, ok perfect, the AMB dont have a partition with use only to save data, in strange the microcontroller share some blocks without separated!
