Raspberry Pi Pico (MCU od Rpi)

Raspberry Pi Pico vypadá hodně zajímavě: https://www.raspberrypi.org/documentation/pico/getting-started/

A cena je přijatelná.

Měl někdo šanci to vyzkoušet?

Technicky je to naprostá bomba.

  • Dva procesory - jeden může vykonávat hlavní program, který je náročný na zpoždění (audio, možná i video) a druhý může zpracovávat kontrolní funkce.
  • Vývojové nástroje jsou lepší / jednodušší než cokoliv jiného. Ideální MCU pro začátečníka.
  • Integrované USB a 23 GPIO.
  • Cena pod 100 Kč bez DPH ($4 v zahraničí).

Kdyby chtěl někdo používat Pico pod Windows, připravil jsem zjednodušené překladové prostředí, kdy stačí jen ARM-GCC překladač, nejsou potřeba ty gigabajty softů které originálně vyžadují: Snadný překlad Raspberry Pico pod Windows

Dále jsem měřil časy matematických operací v Raspberry Pico (s využitím jejich knihoven), při implicitním nastavení hodin 125 MHz:

1 běžná instrukce trvá průměrně 12 ns

celočíselný součet a rozdíl:
u8, s8 … 24 ns
u16, s16 … 24 ns
u32, s32 … 12 ns
u64, s64 … 24 ns

celočíselné násobení:
u8, s8 … 24 ns
u16, s16 … 24 ns
u32, s32 … 12 ns
u64, s64 … 260 ns

celočíselné dělení:
u8, s8 … 180 ns
u16, s16 … 180 ns
u32, s32 … 180 ns
u64, s64 … 577 ns

float operace:
fadd … 0.63 us
fsub … 0.66 us
fmul … 0.62 us
fdiv … 0.67 us
fmodf … 1.7 us
truncf … 0.14 us
floorf … 0.22 us
ceilf … 0.27 us
roundf … 0.2 us
sqrtf … 0.57 us
powf … 4.3 us
expf … 4.4 us
exp2f … 8.4 us
exp10f … 8.8 us
logf … 6.6 us
log2f … 7.3 us
log10f … 7.3 us
sinf … 4.9 us
cosf … 5.0 us
sincosf … 5.1 us
tanf … 5.5 us
asinf … 8.4 us
acosf … 8.3 us
atanf … 5.8 us
atan2f … 5.6 us
sinhf … 9.7 us
coshf … 9.7 us
tanhf … 6.7 us
asinhf … 13 us
acoshf … 13.5 us
atanhf … 8.9 us

double operace:
dadd … 0.89 us
dsub … 0.86 us
dmul … 1.4 us
ddiv … 1.8 us
fmod … 2.2 us
trunc … 0.39 us
floor … 0.53 us
ceil … 0.58 us
round … 0.51 us
sqrt … 1.6 us
pow … 7.4 us
exp … 6.3 us
exp2 … 12 us
exp10 … 42 us (chyba v knihovně?)
log … 7.3 us
log2 … 8.8 us
log10 … 8.9 us
sin … 13 us
cos … 13 us
sincos … zakousne se
tan … 15 us
asin … 22 us
acos … 22 us
atan … 18 us
atan2 … 18 us
sinh … 14 us
cosh … 14 us
tanh … 10 us
asinh … 13 us
acosh … 13 us
atanh … 11 us

Zatím zjištěné chyby a nedostatky Raspberry Pico SDK

  • chybný výpočet CRC32 v loaderu 1st stage
  • printf zobrazí double s přesností max. 10 platných číslic
  • funkce exp10 (pro double) trvá nepřiměřeně dlouho (4x déle než exp2)
  • funkce sincos (pro double) se zakousne
1 Like

Sepsal jsem článek k assembleru Raspberry Pico - popis instrukcí, měření časování instrukcí.

http://www.breatharian.eu/hw/rasppicoasm/index.html

1 Like