Názor k článku Digitální signálové procesory řady TMS320 od lopata - Je to legrace programovat DSP, už jen proto,...

  • Článek je starý, nové názory již nelze přidávat.
  • 20. 12. 2016 7:55

    lopata (neregistrovaný)

    Je to legrace programovat DSP, už jen proto, že velikost char je 16 bitů, to rozbije spoustu existujícího kódu, nikdo s tím nepočítá, i když to standard C povoluje.

    K úplné dokonalosti to dotáhly DSP řady 56F8300, char je tam taky 16 bitů, ale návrháři DSP si řekli, že je to přece škoda, když se často pracuje se stringy, nevyužít celých 16 bitů, takže existuje speciální "packed" adresovací mód, kdy se do jednoho 16-bitového charu ukládají dva 8-bitové znaky. Existuje tedy něco jako standardní pointer (na 16-bitový char) a byte pointer na polovinu 16-bitového charu. Konverze mezi standardním pointerem a byte pointerem znamená vynásobit hodnotu standardního pointeru 2x. void* je byte pointer, takže při volání memset/memcpy je opravdu nutné dávat si pozor, co se tam předává a obvykle to znamená vynásobit hodnotu pointeru 2x.