в строке fp = fopen( GPIO38_PATH”/direction”, “w”); fp равен 0 из за этого все валится
GPIO38_PATH”/direction”
появляется не сразу после записи в GPIO_PATH"/export"
-- ну возьми этот fopen
в цикл, пока не откроется или пока не пройдёт время, которое ты готов ждать. magic поправил, но все равно не работает
поменял magic на 0xE85250D6, все равно не работает
структура заголовка тоже поправил.... ничего (
кстати, вот репо
если хотите присоединяйтесь!
sudo echo slave-24c02 0x1064 > /sys/bus/i2c/devices/i2c-1/new_device
echo slave-24c02 0x1064 | sudo tee /sys/bus/i2c/devices/i2c-1/new_device
Как это сделать?
В /boot/config.txt такое прописано.
Конечно я смотрел ссылку
Run time instantiation
echo slave-24c02 0x1064 > /sys/bus/i2c/devices/i2c-1/new_device
Backend:EEPROM/memory simulator
Она больше нацелена на то что соединение уже установлено
в сети может быть несколько мастеров
то есть, указатель на символ(пусть даже не первый) указывает на сам символ и на всё что следует после него?
как же message[0] возвращающее char?
В 3 способе, как в подпрограмме вызвать значение в стек FPU?
push bp
mov bp, sp
fld qword ptr [bp + 8]
...
pop bp
ret
А в 1 способе я не понял, что происходит. И он еще не работает, при компилировании выдает ошибку: "Illegal indexing mode" в строчке
push bp
mov bp, sp
sub sp, 8
fld qword ptr [source]
fstp qword ptr [bp - 8]
call OutFloat
add sp, 8
pop bp
ret
3 способ понятен, но тут тоже возникают сложности с загрузкой этой переменной в стек FPU. По идее нужно вызвать три раза pop, отложить их где-то и объединить в единое число?
push bp
mov bp, sp
fld qword ptr [bp + 8]
...
pop bp
ret
Теперь может дело в qemu. Ты его сам собирал или взял готовый?
Если собирал сам, раскомментируй DEBUG_MULTIBOOT в строке 37 в hw/i386/multiboot.c, собери ещё раз и покажи вывод.
Мне он выводит что-то такое: