PDA

Просмотр полной версии : Программирование под Raspberry Pi Pico



andrews
17.08.2023, 19:32
Тоже интересуюсь темой Raspberry Pi Pico и программированием rp2040. Скомпилил тут elf2uf2. Только это первый опыт и пришлось что-то добавлять самому в исходник. Поэтому надо тестировать. А еще пытаюсь ковыряться с GCC-ARM.

andrews
25.08.2023, 10:01
Для QEMU не подобрать правильного SDL2_image.dll. Вот для такого (https://qemu.weilnetz.de/w32/2022/qemu-w32-setup-20220418.exe) Перебрал кучу вариантов
отсюда (https://www.libsdl.org/projects/SDL_image/release/?C=M;O=D).

andrews
28.08.2023, 12:43
Всё началось собственно отсюда
https://zx-pk.ru/threads/35227-programmirovanie-gologo-zheleza-raspberry-pi.html
Для QEMU не подобрать правильного SDL2_image.dll. Вот для такого (https://qemu.weilnetz.de/w32/2022/qemu-w32-setup-20220418.exe) Перебрал кучу вариантов
отсюда (https://www.libsdl.org/projects/SDL_image/release/?C=M;O=D).

Удалось продвинуться "на шаг", чтобы исчезли ошибки про SDL, используя это (https://web-answers.ru/c/sdl-image-ne-rabotaet.html)
Но дальше новая "засада"
"Запуск программы невозможен, так как на компьютере отсутствует libcapstone.dll"

NEO SPECTRUMAN
28.08.2023, 13:16
qemu-w32-setup-20220418.exe

2022-04-18: New QEMU installers (7.0.0-rc4). Broken dlls, experimental, now uses msys2 instead of cygwin packages.

есть жы 2022-04-19: New QEMU installers (7.0.0)
https://qemu.weilnetz.de/w32/2022/qemu-w32-setup-20220419.exe

ну или скатитсо до
2021-12-15: New QEMU installers (6.2.0).

andrews
28.08.2023, 13:40
есть жы 2022-04-19: New QEMU installers (7.0.0)
https://qemu.weilnetz.de/w32/2022/qe...p-20220419.exe
установил с правами администратора. Тут уже другие глюки.
В основном окне, откуда я запускаю
"qemu-system-arm.exe" -M vexpress-a9 -serial stdio -kernel HelloWorld.bin
пишет
"(qemu:5244):Gtk-WARNING **: 13:26:01.096: Could not load pixbuf from icon theme
This may indicates that pixbuf loaders or the mime database could not be found.
Но дальше, надо полагать, программу все же выполнило
Hello, World!
Но в систему не вернулась!
А в окне QEMU
в центре вывело
" Guest has not initialized the display (yet)."

Хотя первое совпадает с тем, что было у Станислава, а про второе он не написал.

NEO SPECTRUMAN
28.08.2023, 13:55
"(qemu:5244):Gtk-WARNING **: 13:26:01.096: Could not load pixbuf from icon theme
умя и с таким прекрасно работает :)

CityAceE
28.08.2023, 13:58
Для QEMU не подобрать правильного SDL2_image.dll.
Под какую платформу рассчитана данная библиотека?

Примеры, которые я сейчас публикую НЕ для Raspberry Pi, а для Arm Versatile Express, о чём говорит ключ запуска QEMU "-M vexpress-a9". У этой машины совсем другая архитектура, с совершенно иной инициализацией экрана.

Чтобы запустить QEMU для эмуляции Raspberry Pi, нужно использовать другой ключ, например, "-M raspi2b". А вообще список доступных моделей можно вызвать по ключу "-M help".

Вот список доступных для эмуляции моделей Raspberry Pi:


raspi0 Raspberry Pi Zero (revision 1.2)
raspi1ap Raspberry Pi A+ (revision 1.1)
raspi2b Raspberry Pi 2B (revision 1.1)


Не знаю почему, но у меня программа, работающая на реальной Raspberry Pi 1, не запускается на QEMU с ключом "raspi1ap". В то же время с "raspi2b" таких проблем нет.

А ещё не всё так просто с запуском софта под Raspberry Pi на QEMU. Я об этом ещё не успел рассказать.

NEO SPECTRUMAN
28.08.2023, 14:10
Примеры, которые я сейчас публикую
КСТАТЕ как оказалось в батниках можно переносить на следующую строку через ^
и можно писать человеко читабельно

qemu-system-aarch64.exe ^
-machine virt ^
-cpu cortex-a9 ^
-m 2048 ^

хотя сколько раз гуглил как такое сделоть
и ниче не находил

andrews
28.08.2023, 14:51
Под какую платформу рассчитана данная библиотека?
это просто для запуска QEMU под Windows7 32 bit, после этого

есть жы 2022-04-19: New QEMU installers (7.0.0)
https://qemu.weilnetz.de/w32/2022/qe...p-20220419.exe

он под ней запустился

- - - Добавлено - - -


Вот список доступных для эмуляции моделей Raspberry Pi:

raspi0 Raspberry Pi Zero (revision 1.2)
raspi1ap Raspberry Pi A+ (revision 1.1)
raspi2b Raspberry Pi 2B (revision 1.1)

мне бы конечно лучше под raspberry pi PICO ( RP2040) в консольном режиме. Но такие эмуляторы мне не известны. Все примеры в интернете ( под Eclipse) головокружительно громоздки. Даже внутрь реального "железа" нечем заглянуть. А "игрушка" на Thonny c MicroPython пройденный этап.

Вот совсем игрушечный онлайн-симулятор raspberry pi PICO
https://wokwi.com/pi-pico
как-то возможно наверное и свои проекты создавать

andrews
06.09.2023, 14:16
Raspberry Pi Pico и программированием rp2040
понятно, что это поддерживать QEMU в обозримом будущем не станет. А вот как все-таки реализовать собственный загрузчик и программировать на FASMARM для него? Они появились не 6 лет тому назад, а от силы года 2 и стоят на алике от 250 руб.

CityAceE
06.09.2023, 17:08
А вот как все-таки реализовать собственный загрузчик и программировать на FASMARM для него?
В первых же трёх ссылках, которые выдал Google, есть много полезной информации по этому вопросу.

Get Started with ARM Assembly on the Pi Pico (https://blog.smittytone.net/2022/06/19/get-started-with-arm-assembly-on-the-pi-pico/)
Raspberry Pi Pico Assembly Programming (https://www.codalogic.com/blog/2023/01/07/Pico-Assembly-Programming)
Assembly Language on the Raspberry Pi Pico (http://https://www.elektormagazine.com/articles/assembly-language-on-the-pi-pico)