Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1

Только технические вопросы по ЯОС и MINOS. Терминология и прочее - в других форумах.
Ответить
БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1

Сообщение БудДен » 23.12.20 11:41

Суть задачи - запустить что-то без ОС, чтобы пройти все шаги и посмотреть, на что нужно обратить внимание и повысить уровень уверенности в себе. Действуем по

https://github.com/PeterLemon/RaspberryPi

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1

Сообщение БудДен » 23.12.20 12:56

По данной инструкции ничего не заработало: очевидно, не хватает файлов инициализации. В инструкции указано, что нужно всего два файла из Firmware. Но в таком виде ничего не стало происходить.

Стало происходить после того, как я скачал образ 2017-07-05-raspbian-jessie-lite.zip, залил его на флешку (под Linux с помощью etcher, https://www.balena.io/etcher/#download) затем заменил два файла - kernel7.img из примера фрактала (VFP/Fractal/Mandelbrot/Single) и config.txt оттуда же. При этом достаточно иметь подключенный монитор, клавиатура не нужна.Показался фрактал.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1

Сообщение БудДен » 23.12.20 13:09

Настроил minicom по https://antenna-dvb-t2.info/uart_linux.php , залил опять ядро от A2, вижу радужный экран.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1

Сообщение БудДен » 23.12.20 13:20

нашёл это, надеюсь пока обойтись без него https://s-matyukevich.github.io/raspber ... pi-os.html

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1

Сообщение БудДен » 23.12.20 13:23

Здесь есть примеры для UART и для мигания встроенным светодиодом.

https://github.com/mrvn/RaspberryPi-baremetal

продолжаем в этом направлении. Похоже, нужен пакет sudo apt install gcc-arm-none-eabi .

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1

Сообщение БудДен » 23.12.20 13:34

cp led-rpi2.img /media/den/boot/kernel7.img

первый пример - помигал зелёным светодиодом. ВНИМАНИЕ! ПРи этом я только позже заметил, что config.txt
у меня остался от фрактала. Т.е. загрузка - по адресу 0 и прочие отличия. А в репозитории об этом ничего не сказано (или я не увидел).
Последний раз редактировалось БудДен 23.12.20 16:28, всего редактировалось 2 раза.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1

Сообщение БудДен » 23.12.20 13:40

второй пример - выводит в UART (minicom запустил заранее), при этом радужный экран.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1

Сообщение БудДен » 23.12.20 20:07

Дальше надо понять, почему img от a2 не загружается. А вдруг это вообще не img?

elf-файл от led-rpi2.elf работает так:

Код: Выделить всё

arm-none-eabi-objdump -S led-rpi2.elf 

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1

Сообщение БудДен » 23.12.20 20:07

Далее arm-none-eabi-objcopy -O binary превращает его в img. Вот что пишет man этой программы:
objcopy can be used to generate a raw binary file by using an output target of binary (e.g., use -O binary). When objcopy generates a raw binary file, it will
essentially produce a memory dump of the contents of the input object file. All symbols and relocation information will be discarded. The memory dump will
start at the load address of the lowest section copied into the output file.
Т.е. у нас не так много шансов понять, что находится внутри. Правда, можно попробовать сгенерировать линкером от A2 образ в формате elf, сравнить его с тем, который генерируется из работающих примеров и понять разницу. Добиться работоспособности, а потом с помощью arm-none-eabi-objcopy сделать img.

Также есть такой ответ из stackoverflow: https://stackoverflow.com/questions/148 ... age-format


Ответить