Seeeduino XIAO (ATSAMD21G18) のCRCエンジン

DMACに含まれているCRCエンジンを調べてみた。とりあえずDMACとは関係なく使えるようなので試してみたら以外に使いやすくてソフトウェアで計算するよりはかなり速いことがわかった。
さらにDMACと組み合わせるとmemcpy()の半分程度の時間でメモリコピーとCRC生成が同時実行できてしまう。これは使わないと損だということで、まずは、CRCエンジン単体のライブラリを作ってみた。
DMACを使わない場合はソフトウェアでデータを読み取る時間がかかるものの、それでもmemcpy()と同程度の時間でCRC(16/32)生成が出来てしまうなんて素晴らしいというしかない。

【サンプル・スケッチ】

【修正履歴】
2020-05-20
型名を変更。

【ライブラリ】

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください