Страница 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
БудДен
^