Вот как раз бы понять что на что указывает
int *ptr = (int*) (matrix + XMAX);
for (int i = 0; i < XMAX; i++) {
matrix[i] = ptr + YMAX * i;
}
matrix
-- это указатели на строки массива, это пространство зарезервировано при вычислении указателя ptr
, который указывает на данные первой строки. Именно об этом я и написал, что вам нужен не только код, но и рутоничат, а ещё стрим, из которого рутоничат будет получать данные.
Поэтому и поставил "сложный"....
надо знать проблему, а не искать ошибку в коде
Вам не нужно всё моё приложение
Вы либо сталкивались с такой прблемой и знаете ответ, Либо не сталкивались и не знаете ответ.
Вот код, воспроизводящий проблему.
Понятнее стало? Нет, не стало.
Если реализовать классическую ISA ARM или популярную на cегодня ISA Risc-V, то переделать придетcя в основном компиляторы, планировщики задач и обработчики прерываний. Т.е. компилятор и низкоуровневое ПО.
За 15 лет прогаммирования с применением setjmp/longjmp сталкивался только один раз.
Пока не нашёл никаких других обходных путей.
В приближении идеального конденсатора поле за его пределами (межобкладочного пространства) всегда равно нулю E=0
Вообще в нём есть MMU с 64-килобайтными страницами который может отображать до гигабайта флэша или PSRAM в 32-МБ окошки 0x3c000000..0x3e000000 и 0x42000000..0x44000000.
Вот мои заметки о формате и расположении записей этого MMU: wiki.osll.ru/doku.php/etc:users:jcmvbkbc:linux-xte...