We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Copied over from esp8266/Arduino#7060 (comment)
memmove_P does not support IRAM
memmove_P
#include <Arduino.h> #include <ESP8266WiFi.h> #include <umm_malloc/umm_malloc.h> #include <umm_malloc/umm_heap_select.h> //#define memmove_P ets_memmove char str[] = "Move over"; void setup() { WiFi.persistent(false); WiFi.mode(WIFI_OFF); Serial.begin(115200); delay(10); Serial.printf_P(PSTR("\r\nBegin ...\r\n")); { HeapSelectIram ephemeral; size_t sz = strlen(str) + 1; char *newstr = (char *)malloc(sz + 8); memcpy(newstr, str, sz); Serial.println(newstr); memmove_P(&newstr[1], newstr, sz); newstr[0] = ' '; Serial.println(newstr); free(newstr); } } void loop() {}
Prints:
Begin ... Move over MMMMMMMMMM
Works when not using IRAM or using ets_memmove with a non32-bit access handler.
Your comment about the issue: esp8266/Arduino#7060 (comment)
The text was updated successfully, but these errors were encountered:
When moving IRAM->IRAM, use memmove not memcpy_P
96d752a
Fixes #10
Successfully merging a pull request may close this issue.
Copied over from esp8266/Arduino#7060 (comment)
memmove_P
does not support IRAMPrints:
Works when not using IRAM or using ets_memmove with a non32-bit access handler.
Your comment about the issue: esp8266/Arduino#7060 (comment)
The text was updated successfully, but these errors were encountered: