Hello. I have a problem with simple code:
class InternalMemory : public FlashIAPBlockDevice
{
struct Settings
{
bool isDHCP;
std::string ip;
std::string netmask;
std::string gateway;
std::string label;
};
private:
Settings *settings;
}
InternalMemory::InternalMemory(uint32_t address, uint32_t size) : FlashIAPBlockDevice(address, size)
{
auto settings = new Settings ();
//next line - ok
settings->isDHCP = false;
//Next line call MbedOS Error
settings->ip = "192.168.1.4";
}
main(){
auto memory = new InternalMemory(ADDRESS, SIZE);
}
Error out:
++ MbedOS Error Info ++
Error Status: 0x80010133 Code: 307 Module: 1
Error Message: Mutex: 0x2000746C, Not allowed in ISR context
Location: 0x8024E65
Error Value: 0x2000746C
Current Thread: main Id: 0x20005588 Entry: 0x8024D2F StackSize: 0x1000 StackMem: 0x20006438 SP: 0x2002FE40
For more info, visit: https://mbed.com/s/error?error=0x80010133&tgt=NUCLEO_F429ZI
-- MbedOS Error Info --
I don’t understand, why calling Rtos Mutex Error?