Skip to content

Conversation

@miya930
Copy link
Contributor

@miya930 miya930 commented Oct 29, 2025

UARTのtxが出力されないエラーが発生したため対応。
原因は空スライス (&[]) に対して as_ptr() を使用した際の返り値が toolchain バージョンによって異なるためで、DMAが 0x01 にアクセスしようとしてエラーが発生していた。
(0x01はITCM領域であり、DMAはアクセスできない)

  • ~1.78.0:Flash領域のアドレスを返す
  • 1.79.0~:バイト数を返す (今回のケースではu8なのでas_ptr()0x01 を返す)

Ringbuf.bufferはFlash領域に配置されることを期待してよいため、&self.buffer[..0] を返すように変更。
変更後にdma送信割り込みが実行されるようになったことを確認した。

@KOBA789
情報までにこちら対応完了したため、昨日お話ししていた通りこのままマージします。

@miya930 miya930 merged commit fd09013 into main Oct 29, 2025
0 of 7 checks passed
@miya930 miya930 deleted the fix/uart_tx_error branch October 29, 2025 02:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants