activities
on 24 Oct
167177d ticket #101 USART送受信について、割り込み/DMA方式のいずれかをMakefileで選択可能にした。
on 22 Oct
a030913 ticket #101 受信待ちを、 「UART RX信号線のIDLE検出」 「DMA Half-Transfer」「DMA Transfer Complete」のいずれかの発生で解除するようにして、UART受信のDMA化を完了した。
b576647 ticket #101 受信待ちがポーリングになってしまっているが、 circular modeでUART受信をDMA化できた。
on 19 Oct
90ef393 ticket #101 ダブルバッファリングでUARTのDMA送信ができるようになった。
on 18 Oct
a0fd9a3 ticket #101 UARTの送信をDMA化した。 ただし、シングルバッファなのでDMA転送中にバッファに書き込もうとすると待たされてしまい、効率は悪い。
on 16 Oct
b117ca7 ticket #110 ビルド高速化のため、 gccおよびg++へオプション -pipe を渡すようにした。
on 16 Oct
b914adc ticket #109 起動時にランプテストを行うようにした。
on 15 Oct
7af443a ticket #105 デバッグ効率向上のために、 ソフトの動作中に異常が発生した場合には、 無限ループの代わりにBKPT命令を使ってデバッガ上で停止するようにした。
on 15 Oct
a3f92e5 ticket #108 objcopyのオプションに -R .ccmram を加えることで、binファイルの大きさをCCMRAM使用前と同等のサイズに縮小することに成功した。
ac8d0d7 #defineマクロ名が MOLELORD_ でなく MOLE_ で始まっていたので、シンボル名の重複を避けるために修正した。
on 13 Oct
ef9d5a7 ticket #107 SWOを使ってタスクリストとヒープ使用状況を表示できるようにした。
on 12 Oct
6fc6357 ticket #106 コメントが分かりづらかったので書き直した。
on 12 Oct
6e08e6b ticket #106 J-LinkのGDB ServerのSWOポートにつないで垂れ流すコマンド が完成した。
on 11 Oct
d8f7a04 ticket #104 C++を使用可能にした。ただし、newやdeleteは未テスト。
c60b541 ビルド作業をするPCを変えたため、Eclipseの作る language.settings.xml に差分が生じた。
on 10 Oct
0424b33 ticket #102 余分な #ifdef __cplusplus が入っていたのを削除した。
on 22 Sep
b02d2ac ticket #101 送信キューをポーリングして空きを待つのはエレガントではないので、 ポーリングせずに空きを待つよう改めた。
on 22 Sep
a6138a8 ticket #101 ST-Linkに結線されているUSARTの送受信を、割り込みで実現した。 なお、USART3のPreemption Priorityを2にしていると、 configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY よりも優先度が高くなり実行時にassertが発火するため、configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY と同値である 5 に修正した。
0251b72 ticket #101 PC-NUCLEO間のUARTを開通させるために、CubeMX上でST-Linkに結線されたUSART3を有効化した。
on 21 Sep
42f35a0 ticket #98 ヒープを安心して使用できるように、 newlib内のmallocファミリを乗っ取ってFreeRTOSのヒープ操作関数に横流しした。
bf900e6 Doxygen向けコメントにファイル名の誤りがあったため修正した。
on 21 Sep
11b2eff ticket #90 実行の高速化および通常RAM領域の空き増加を狙って、FreeRTOSタスクのスタックをCCMへ移動した。
on 21 Sep
9f54031 ticket #99 HAL_NVIC_SetPriority()のassert_param()が発火する、STM32CubeMXあるいはFWライブラリのバグを回避した。
1242584 ticket #95, #97 assert_failed()の中身を実装し、その中身でBKPT命令を発行した。 結果として、HAL_NVIC_SetPriority()内部のassert_param()に違反しブレークすることが確かめられた。
on 21 Sep
bec5a15 ticket #94 ErrorにしたいWarningを書き連ねるよりも、 すべてのWarningをエラー扱いし、 例外的に一部のWarningをWarningのままとするほうが合理的なので、 そのようにした。
on 21 Sep
346007f ticket #96 リリースビルドを可能にした。
on 17 Sep
f89a34a リンク時に各領域の占有率が表示されるようにした。
on 17 Sep
d1f25de STM32CubeMXの作るMakefileに、 .ld が .elf の依存ファイルに含まれていないバグがあったため、修正した。
on 14 Sep
6555d8c MPUでスタックオーバフローを検出するときの、メモリの範囲が分かる絵を描いた。
on 14 Sep
bf1e660 ticket #87 Default_Handlerが呼ばれて困らないように、Handlerをすべて実装した。
on 13 Sep
d4c1e95 ticket #84 MPUを使ったスタックオーバフロー検出のしくみを実装した。
on 13 Sep
28b50e2 ticket #86 NT-Shellの ntstdio を使って、SWOへデバッグ出力を出すことに成功した。
0b019eb ticket #86 標準のprintf()やfprintf()はスレッドセーフかどうか怪しいので、Natural Tiny Shellのntstdio_printf()を使おうと思い、 https://cubeatsystems.com/ntshell/download.html の ntshell-v0.3.1.tar.gz をダウンロードし展開した。
fbf515e 正式なライセンスの書き方になるように、自作したソースにThe MIT Licenseの全文を記載した。
on 12 Sep
31e951d ticket #85 スタックオーバフロー検出のため、 SHA-1: b75f1a4 と同じ修正を nuc-f429-blink-afrtos に対して行った。
on 12 Sep
bcca325 ticket #85 Amazon FreeRTOSを使ってLEDチカチカができるようになったため、コミットした。
00316ef ticket #85 SVC_Handler, PendSV_Handler, SysTick_Handler はFreeRTOSのソースの中にあるので、CubeMXではそれらを生成しないように設定した。
0566437 ticket #85 前回のコミットでiocのファイル名を変え忘れていたので、ファイル名を変更した。
on 12 Sep
64ca0b2 ticket #85 Amazon FreeRTOSを組み込むためのCubeMXプロジェクトを新規作成し、GENERATE CODEとEclipseへの取り込みまで済ませた。
on 12 Sep
104b5bd ticket #85 自己のプログラムから参照して使う準備として、amazon-freertos の tag 202007.00 を、submoduleとした。