Суть задачи - запустить что-то без ОС, чтобы пройти все шаги и посмотреть, на что нужно обратить внимание и повысить уровень уверенности в себе. Действуем по
https://github.com/PeterLemon/RaspberryPi
Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1
Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1
По данной инструкции ничего не заработало: очевидно, не хватает файлов инициализации. В инструкции указано, что нужно всего два файла из Firmware. Но в таком виде ничего не стало происходить.
Стало происходить после того, как я скачал образ 2017-07-05-raspbian-jessie-lite.zip, залил его на флешку (под Linux с помощью etcher, https://www.balena.io/etcher/#download) затем заменил два файла - kernel7.img из примера фрактала (VFP/Fractal/Mandelbrot/Single) и config.txt оттуда же. При этом достаточно иметь подключенный монитор, клавиатура не нужна.Показался фрактал.
Стало происходить после того, как я скачал образ 2017-07-05-raspbian-jessie-lite.zip, залил его на флешку (под Linux с помощью etcher, https://www.balena.io/etcher/#download) затем заменил два файла - kernel7.img из примера фрактала (VFP/Fractal/Mandelbrot/Single) и config.txt оттуда же. При этом достаточно иметь подключенный монитор, клавиатура не нужна.Показался фрактал.
Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1
Настроил minicom по https://antenna-dvb-t2.info/uart_linux.php , залил опять ядро от A2, вижу радужный экран.
Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1
нашёл это, надеюсь пока обойтись без него https://s-matyukevich.github.io/raspber ... pi-os.html
Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1
Здесь есть примеры для UART и для мигания встроенным светодиодом.
https://github.com/mrvn/RaspberryPi-baremetal
продолжаем в этом направлении. Похоже, нужен пакет sudo apt install gcc-arm-none-eabi .
https://github.com/mrvn/RaspberryPi-baremetal
продолжаем в этом направлении. Похоже, нужен пакет sudo apt install gcc-arm-none-eabi .
Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1
cp led-rpi2.img /media/den/boot/kernel7.img
первый пример - помигал зелёным светодиодом. ВНИМАНИЕ! ПРи этом я только позже заметил, что config.txt
у меня остался от фрактала. Т.е. загрузка - по адресу 0 и прочие отличия. А в репозитории об этом ничего не сказано (или я не увидел).
первый пример - помигал зелёным светодиодом. ВНИМАНИЕ! ПРи этом я только позже заметил, что config.txt
у меня остался от фрактала. Т.е. загрузка - по адресу 0 и прочие отличия. А в репозитории об этом ничего не сказано (или я не увидел).
Последний раз редактировалось БудДен 23.12.20 16:28, всего редактировалось 2 раза.
Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1
второй пример - выводит в UART (minicom запустил заранее), при этом радужный экран.
Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1
Дальше надо понять, почему img от a2 не загружается. А вдруг это вообще не img?
elf-файл от led-rpi2.elf работает так:
elf-файл от led-rpi2.elf работает так:
Код: Выделить всё
arm-none-eabi-objdump -S led-rpi2.elf
Re: Запускаем пример PeterLemon под Raspberry Pi 2 Model B Revision 1.1
Далее arm-none-eabi-objcopy -O binary превращает его в img. Вот что пишет man этой программы:
Также есть такой ответ из stackoverflow: https://stackoverflow.com/questions/148 ... age-format
Т.е. у нас не так много шансов понять, что находится внутри. Правда, можно попробовать сгенерировать линкером от A2 образ в формате elf, сравнить его с тем, который генерируется из работающих примеров и понять разницу. Добиться работоспособности, а потом с помощью arm-none-eabi-objcopy сделать img.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.
Также есть такой ответ из stackoverflow: https://stackoverflow.com/questions/148 ... age-format