Частичный ответ:
Если ваш devmem
взят из busybox, он использует /dev/mem для чтения и записи значений, поэтому вы должны получить такие же результаты.
Тем не менее, обратите внимание, что единицей skip
являются блоки(bs
байтов ), поэтому bs=16 count=1 skip=2149646336
будет читаться не по адресу 0x80210000, а по адресу 0x802100000, что, вероятно, переносится на 0x02100000.
Поскольку MSB ваших пропусков равен единице, если где-то в исходном коде и/или компиляторе есть путаница со знаком/без знака, это также может все испортить.
Итак, первое, что я бы сделал, это проверил чтение по адресу 0x80210000, используя что-то вроде bs=16 skip=134352896
. Если это все еще не работает, второе, что я бы сделал, это написал небольшую программу на C, которая напрямую читает /dev/mem
и проверяет, работает ли и .
Вы должны 1 )найти вложенные -каталоги в текущем каталоге и 2 )добавить разрешение на выполнение к элементу -, найденному (, который является каталогом ).
sudo find. -type d -exec chmod ugo=+x {} \;