
前回は、ATSAMD51マイコンのSHA1計算ハードを試用するプログラムを書いた後で、テストパターン生成用のプログラムを作りました。こういう泥縄ではいかん、ということで、今回はマイコンプログラムの前にテストパターン生成用のプログラムを作っておくことにいたしました。AES暗号化、1ブロック「だけ」です。
デバイス作る人>>デバイス使う人>>デバイスおたく
前回は、ATSAMD51マイコンのSHA1計算ハードを試用するプログラムを書いた後で、テストパターン生成用のプログラムを作りました。こういう泥縄ではいかん、ということで、今回はマイコンプログラムの前にテストパターン生成用のプログラムを作っておくことにいたしました。AES暗号化、1ブロック「だけ」です。
先週別件でメモリ内容のハッシュをハードウエアで計算しつづけるDMACを使ってみました。ハッシュ値を求めることにも使えますが、改竄対策?かな。とりあえずのサンプルデータで動作検証したのですが、テスト用の入力パターンの生成が手作業なのは何とも。そこでラズパイ4上でテストパターン生成プログラムを試作してみました。 “ソフトな忘却力(11) RPi4、SHA1、パディング入りのテストパターンとダイジェスト” の続きを読む
前回は、Pthreadを用いた実験プログラムを最適化したものとしないもの、RPi3とRPi4でスレッド数を変えて走らせて比べました。今回はそのときのプログラムを「無理やり」OpenMP化してみました。スレッド数が同じなら、PthreadでもOpenMPでも似たような結果でないかい、と思いましたが、結果は微妙。こだわる人はコダワル? “ソフトな忘却力(10) RPi4、Pthreadの実験をOpenMPで書き換えてみた” の続きを読む
前回は、スレッド数に反比例して処理時間が短くなるサンプルプログラムに、コンパイラの最適化オプション効かせたら、マルチスレッドが効かなくなったのを目にしました。今回は、サンプルに「手を入れて」「スレッド化の効果あり」に無理やり変更の上、実行環境をラズパイ3からラズパイ4へ変えてみます。CPUの馬力が違うとまた違う。一筋縄ではいきまへん。
前回はPthreadを使って、スレッド数が多くなると処理時間が短くなるようなコードを書いてみました。今回はそれに最適化オプションを加えてみます。ヤバいな、ズルズルと深みにハマって行く感じがします。まずはCMakeの使い方もよく分かってないので、まずCMakeLists.txt内での最適化オプションの置き場所から調べないと。 “ソフトな忘却力(8) CMake、最適化オプションの置き場所。thread化の蹉跌?” の続きを読む
前回は、VS Code拡張 CMake Toolsが生成してくれたCMakeLists.txtを手修正して「お好み」の階層構造でビルドできることを確かめました。今回はインストール済のライブラリを使えるようにしてみます。リンクするライブラリはBoostの中からFilesystemを選んでみました。何も難しいことはないのだけれど、結局ポカはあるのね。
前回はVS Code拡張 ”CMake Tools” のクイックスタートを使ってみました。これでとりあえず空のディレクトリを「CMakeできる」ようにしてくれた、と。ここを出発点に自分でCMakeLists.txtを書き換えて「お好み」な感じにしてみます。CMake Tools自体、設定すればいろいろやってくれそうではあるのですが、CMakeのお勉強かねて直接。
CMakeには随分昔からお世話になっているような気がしますが、よくわかっていないです。何かの折に「ディレクション」のまま走らせるばかりで、自分で積極的に使ったことが無いので身につきません。しかし、最近ラズパイPicoなどやっておりますとCMake必須。この際少し勉強しておこうという気になりましたです。 “ソフトな忘却力(3) リモートVS Code、CMake Toolsでcmakeするのだ” の続きを読む
前回はコマンドラインオプションの取得用ライブラリ getopt でした。今回は、ファイルに書き込まれたコンフィギュレーション設定を読み取るための libconfigを使ってみます。最近私はPythonではJSON形式使っていますが、libconfigも分かり易いのではないかと。勿論、読み書き両対応。C/C++にも両対応。