LINUX.ORG.RU
ФорумTalks

Поругайте RP2040

 rp2040, ,


1

4

Обнаружил свою новую любовь - чип от Raspberri Pi. Что меня особенно заинтересовало это I/O сопроцессоры, т.е. можно работать с быстрыми протоколами не загружая процессор. Кроме того это 2-ядерный ARM на 133 MHz, 264 kB SRAM. То бишь очень жирный процессор. По сути как Pentium 1, DRAM только докинуть и можно Windows 2000 запускать (ну почти).

Что в нём плохого? Пока из плохого только форм-фактор, который я припаять не смогу ни за что, то бишь ограничен готовыми платами, но мне пока норм, я всё равно ничего не умею.

Ещё большой плюс это существование книги RP2040 Assembly Language Programming (@Assembler, привет), с которой, как я надеюсь, все мои фантазии по программированию на ассемблере будут исполнены.

★★★★★
Ответ на: комментарий от DawnCaster

Тащить жирный эклипс с отстойной сборочной системой и отстойной системой отладки - такое себе.

shkolnick-kun ★★★★★
()
Ответ на: комментарий от PolarFox

А на что ещё, кроме AVR уго впихнули?

И да, STM8 не считается, - там каое-то ксатрированное гуано вместо USB-стека.

shkolnick-kun ★★★★★
()
Последнее исправление: shkolnick-kun (всего исправлений: 1)
Ответ на: комментарий от shkolnick-kun

Нужно шифрование содержимого flash с расшифровкой во время стартапа, а лучше - во время выполнения. Иначе затруднительно проприетарщину писать.

Да, на отсутствие code protection многие жалуются. Полагаю, что в следующей версии оно наверняка будет.

Legioner ★★★★★
() автор топика
Ответ на: комментарий от shkolnick-kun

Аппаратные спин-блокировки, которые ещё и зарезервированы под их фреймворк. Т.е. реально пользоваться ими нельзя.

Всего блокировок 32 штуки. Под фреймворк зарезервирована половина, т.е. у тебя ещё 16 штук есть. Вроде так.

Legioner ★★★★★
() автор топика
Ответ на: комментарий от Legioner

Маловато будет! И не удобно!

Пришлось делать программную реализацию алгоритма пекарни Лампорта.

Ещё можно было сделать алгоритм Дэкера, или алгоритм Петерсона, не помню, почему я остановился на пекарне…

shkolnick-kun ★★★★★
()
Последнее исправление: shkolnick-kun (всего исправлений: 2)
Ответ на: комментарий от shkolnick-kun

Маловато будет!

А в других контролерах сколько?

Честно говоря до твоего сообщения я вообще смутно представлял, как эти спинлоки реализуются и что их может быть ограниченное количество. По-мне на первый взгляд даже одного спинлока достаточно, чтобы сделать сколько угодно мьютексов, а на мьютексах уже можно делать что хочешь. Но может я чего-то не понимаю.

Legioner ★★★★★
() автор топика
Ответ на: комментарий от foror

Почему нет. Не вижу принципиальных препятствий.

Legioner ★★★★★
() автор топика
Ответ на: комментарий от Legioner

А в других контролерах сколько?

Тут не про контроллеры речь, а про ядра ОС.

В случае BuguRTOS спин блокировки нужны для синхронизации «ядерных» потоков (по одному потоку на ядро процессора), в которых обрабатываются «ядерные» события (виртуальные прерывания и т.п.).

По-мне на первый взгляд даже одного спинлока достаточно, чтобы сделать сколько угодно мьютексов, а на мьютексах уже можно делать что хочешь.

Это будет аналог BKL, которую выпилили из ядра версии 2.6.39 в 2011, или GIL, которую никак не могут выпилить из cpython.

Сейчас все стремятся применять мелкоструктурные блокировки, т.е. блокировать объект, а лучше - его часть.

shkolnick-kun ★★★★★
()
Последнее исправление: shkolnick-kun (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.