Страница 1 из 1
Пытаемся запустить пример под bare metal versatilepb (qemu 1)
Добавлено: 30.12.20 11:50
БудДен
Re: Пытаемся запустить пример под bare metal versatilepb (qemu 1)
Добавлено: 30.12.20 12:28
Лис [Вежливый]
Круто, но неясно зачем это всё.
Допустим ты написал твою ось, она запускается на RPI и рисует на дисплее слово "душ".
Что дальше?
Re: Пытаемся запустить пример под bare metal versatilepb (qemu 1)
Добавлено: 30.12.20 12:53
БудДен
Дело закончилось вот чем (Ubuntu 18.04), пример
https://github.com/mrvn/RaspberryPi-bar ... o-lo-lo-lo (из прошлых опытов; от нового репозитория получилось взять только строку запуска qemu - на 18.04 он не собирается)
Код: Выделить всё
qemu-system-arm --version
2.11.1
export QEMU_AUDIO_DRV=none; qemu-system-arm -m 128 -kernel uart-rpi2.elf -machine raspi2 -serial stdio
Это работает.
Re: Пытаемся запустить пример под bare metal versatilepb (qemu 1)
Добавлено: 30.12.20 13:00
БудДен
Странно, но после некоторых изменений по мотивам вот этого
https://balau82.wordpress.com/2010/02/2 ... sing-qemu/
так заработало:
Код: Выделить всё
diff --git a/002-hello-lo-lo-lo/uart.S b/002-hello-lo-lo-lo/uart.S
index 4f9d087..a594752 100644
--- a/002-hello-lo-lo-lo/uart.S
+++ b/002-hello-lo-lo-lo/uart.S
@@ -27,7 +27,7 @@
#endif
#if MODEL == 0
-#define PERIPHERAL_BASE 0x20000000 // Raspberry Pi Peripheral Base Address
+#define PERIPHERAL_BASE 0x10000000 // Raspberry Pi Peripheral Base Address
#endif
#if MODEL == 1
@@ -42,7 +42,7 @@
#error MODEL must be one of 0 (RPi), 1 (RPi b+) or 2 (RPi 2)
#endif
-#define UART0_BASE 0x201000 // 0x??201000 base address of UART0
+#define UART0_BASE 0x1f1000 // 0x??201000 base address of UART0
#define DR 0x00 // 0x??201000 data register
#define FR 0x18 // 0x??201018 flag register
#define FR_TXFF 1 << 5 // Transmit FIFO full
export QEMU_AUDIO_DRV=none; qemu-system-arm -m 128 -kernel uart-rpi.elf -machine versatilepb -serial stdio
Re: Пытаемся запустить пример под bare metal versatilepb (qemu 1)
Добавлено: 30.12.20 13:30
БудДен
Но конечно, до работающей A2 тут ещё очень далеко - это всего лишь заработал UART. Ну его.
Re: Пытаемся запустить пример под bare metal versatilepb (qemu 1)
Добавлено: 30.12.20 14:58
Лис [Вежливый]
Можно подождать до 2026-го года, когда будет завершение производства,
к тому времени накопится опыт эксплуатации и документация в интернете.
И после этого покупать на Avito и начинать использовать.
(Это я Raspberry Pi 4 имею в виду).
Но всё равно непонятно, зачем это нужно в принципе.
Для видеосвязи он не очень быстрый, для десктопа тоже.
Для IP-телефона и "умного дома" дорогой и не Intel.
Сотовый телефон на этом не собрать.
Сами мы платы производить не будем (потому что все не железячники).
Остаются только контроллеры чего-нибудь, 3D-принтеров или фрезеров каких-нибудь.
Но фрезерные станки на заказ уже только ленивый не делает.
Печать или автоматизированную сшивку книг? Бумажные книги не нужны.
Управление поливом? Слишком дорого.
А для распознавания образов в реалтайме - медленно.
Что ещё?
Re: Пытаемся запустить пример под bare metal versatilepb (qemu 1)
Добавлено: 30.12.20 15:25
MihalNik
Лис [Вежливый] писал(а): ↑30.12.20 14:58
Можно подождать до 2026-го года, когда будет завершение производства,
к тому времени накопится опыт эксплуатации и документация в интернете.
И после этого покупать на Avito и начинать использовать.
(Это я Raspberry Pi 4 имею в виду).
Но всё равно непонятно, зачем это нужно в принципе.
Для видеосвязи он не очень быстрый, для десктопа тоже.
Для IP-телефона и "умного дома" дорогой и не Intel.
Сотовый телефон на этом не собрать.
Сами мы платы производить не будем (потому что все не железячники).
Остаются только контроллеры чего-нибудь, 3D-принтеров или фрезеров каких-нибудь.
Но фрезерные станки на заказ уже только ленивый не делает.
Печать или автоматизированную сшивку книг? Бумажные книги не нужны.
Управление поливом? Слишком дорого.
А для распознавания образов в реалтайме - медленно.
Что ещё?
Сотовый телефон можно купить сильно дешевле. Даже смарт. Также часы. Соответственно по их функциям он не соперник.
Чтобы делать контроллеры чего-нибудь, нужно соответствующее пр-во, иначе производитель быстро выпнет с рынка с вероятностью 99,99%
Re: Пытаемся запустить пример под bare metal versatilepb (qemu 1)
Добавлено: 30.12.20 15:38
БудДен
Лис [Вежливый] писал(а): ↑30.12.20 12:28
Круто, но неясно зачем это всё.
Допустим ты написал твою ось, она запускается на RPI и рисует на дисплее слово "душ".
Что дальше?
Для получения опыта. Потом берём какой-нибудь российский процессор, возможно, с другой архитектурой, и переносим на него. RPi хороша тем, что якобы под ней ядро A2 когда-то работало (но это не точно). Соответственно, можно ожидать, что трудоёмкость такого запуска не очень велика. На сегодня у меня рецепта, как её запустить, не имеется, и, видимо, ни у кого не имеется, кроме швейцарцев, которые его не выложили в открытый доступ.
Re: Пытаемся запустить пример под bare metal versatilepb (qemu 1)
Добавлено: 30.12.20 15:55
Лис [Вежливый]
> берём какой-нибудь российский процессор, возможно, с другой архитектурой
Т.е. меняем совершенно всё. С таким подходом опыт можно и на Intel начинать получать - разница такая же.
Re: Пытаемся запустить пример под bare metal versatilepb (qemu 1)
Добавлено: 30.12.20 15:57
БудДен
Под Intel A2 уже работает, поэтому опыт портирования на него получить нельзя. Кроме того, "возможно, с другой архитектурой" - это не "обязательно с другой архитектурой".
Re: Пытаемся запустить пример под bare metal versatilepb (qemu 1)
Добавлено: 30.12.20 15:58
Лис [Вежливый]
В общем, я не вижу способов применения, кроме изготовления клавиатуры в штучном экземпляре для себя (и она будет как полноценный комп стоимостью).
https://www.pinterest.co.uk/richardholt/retropi/
Re: Пытаемся запустить пример под bare metal versatilepb (qemu 1)
Добавлено: 26.10.21 16:48
БудДен
^