タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

cacheとmemoryとstm32に関するmasterqのブックマーク (2)

  • ねむいさんのぶろぐ | STM32H7を使ってみる3 -キャッシュ・ワンダリング(前篇)-

    !告! ぶろぐのhttps化によってSyntax Highlighterが機能しなくなってしまいましたので 現在正常に閲覧できるよう過去の記事を適宜修正中です!! ←前回                       次回→ 今から4年以上前、STM32F7ではぢめてキャッシュという概念に対峙し、分かった つもりでお茶を濁してきましたがH7になった今どうしても正面から向き合わざるを 得ない事態になってしまいました…それも最悪な形で!! ●Cortex-M7のキャッシュにエラッタ発覚! オイオイオイ死ぬわ私。(一般には今年春くらいに知れ渡った内容です) 要約しますとCortex-M7系マイコンでキャッシュポリシーをライトスル―にした状態で Double-WORD(ARMの場合8バイト)の読み書きを同一のアドレスで行った時に、読み 出しの時にデータが壊れる事があるという内容…しかも現行の全リビジ

    ねむいさんのぶろぐ | STM32H7を使ってみる3 -キャッシュ・ワンダリング(前篇)-
    masterq
    masterq 2019/09/26
    "STM32F7/H7でキャッシュを使用する際はキャッシュの取り扱いが面倒なライトバック以外にキャッシュポリシーがとれない"
  • STM32H7でキャッシュ一貫性を保持したDMA転送(Memory-to-Peripheral)

    STM32H7におけるキャッシュ一貫性を保ったDMA転送の方法として、MPUによる設定を解説します。 STM32H7ではF7と異なり、DMAコントローラからDTCM領域にアクセスできないため注意が必要です。 GitHubでソースコードを公開しています。(Memory-to-Peripheralの場合のみ 概要 Cortex-M7コアにはL1キャッシュが搭載されているため、DMA転送時にはデータ化け(キャッシュの一貫性が崩れる問題)に気を配る必要があります。 STM32F7では、DMA対象データをキャッシュの影響を受けない「DTCM領域」に置くことが、データ化け対策として有効でした[脚注1]。一方でSTM32H7では、STM32F7からアーキテクチャが変更され、DMAコントローラからDTCM領域(0x2000 0000~)にアクセスできなくなりました[脚注2]。無理にアクセスするとHardF

    STM32H7でキャッシュ一貫性を保持したDMA転送(Memory-to-Peripheral)
    masterq
    masterq 2018/02/01
    "STM32H7では、DMA対象データをDTCM以外に置く必要があり、別のデータ化け対策も必須となります"
  • 1