問題タブ [omap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
caching - Cortex-A8(OMAP3515) : D キャッシュが有効な場合、外部 RAM にアクセスするとデータが異常終了する
Omap3515 (Arm Cortex A8) を使用しています。I-キャッシュ、D-キャッシュ、分岐予測、MMU を有効にしました。
また、外部メモリ領域から別の外部メモリ領域に 600KB のフレーム バッファをコピーしようとすると、データ アボートが発生します。
(コピーが 100KB 未満の場合、アボートはありません。400KB をコピーしても、データ アボートがない場合があります。) データ アボートの後、SDR、つまり SDRAM にアクセスできないことに気付きました。
PA=VA のような方法で MMU を有効にしました。
D-Cache を無効にすると、中断はなく、正常に動作します。しかし、アクセスを高速化するために D-Cache を有効にしたいと考えています。
ここにコードがあります
ありがとう、よろしく、 クリシュ
linux - 特定の物理アドレスがARM、LINUXに書き込まれるかどうかを確認するにはどうすればよいですか?
私は現在、BeagleBoard-xM 用の拡張ボードを開発しようとしていますが、珍しいバグに気付きました: このボードには、pinctrl-single によって管理されている PINMUX があり、MUX が私のデバイス ツリーは期待どおりに機能します。これと同じ設定が U-Boot でも行われます。それでも、対応する GPIO はピンの電圧を認識できません。このピンは古いカーネルの omap_mux でうまく機能し、番号付けのすぐ隣のピンは両方のカーネルでうまく機能します。
私の質問は、Linux で対応するレジスタの内容を確認するにはどうすればよいですか? (物理アドレスで到達可能)
driver - ディスプレイドライバの書き方
マイクロ OLED 用のディスプレイ ドライバを作成しています。ボードはdss(ディスプレイサブシステム)を提供するdart4460(omap4460)です。だから私はdssを使ってドライバーを書いています。
しかし、私が書いたことが正しいかどうかはわかりません
OLEDディスプレイは、コマンドにdpiインターフェイスとi2cを使用
dpi と i2c を使用する pico dlp プロジェクター ドライバー ソースを参照しました。
ここにデータシートがあります
dart4460: http://www.variscite.com/images/DART-4460-DS_107.pdf
マイクロ OLED ディスプレイ: https://www.dropbox.com/s/ixpws4qzo3ttj6e/SVGA050.pdf?dl=0
コード:
パネル-svga.c
Board.c
私の質問は次のとおりです。
私のコードは正しいですか?
init
データシートを見て表示コードの書き方がわかりません。init
このデータシートを見て表示コードを書いてもいいですか?panel_probe 関数で、アダプタ ID を取得するにはどうすればよいですか? アダプタ I の選択方法を教えてください。
パネルコードに i2c スレーブドライバのコードだけ書いていいですか?
I2C マスターを選択するにはどうすればよいですか? 表示コマンドに I2C3 または I2C4 を使用したい
linux-kernel - Omap3 defconfig がありません
Beaglebone Omap3 のカーネルをクロス コンパイルしたかったのですが、arch/arm/configs に Omap3 defconfig が見つかりませんでした。
Beaglebone Omap3 カーネルをコンパイルするためにどの defconfig を使用する必要があるか教えてもらえますか?
linux - OMAP5432 evm プロセッサ クロック サイクル
各 IRQ にプロセッサ サイクル カウンター値を読み取る OMAP5432 (Cortex A15) 用の Linux ドライバーを作成しています。カウンターは次のように初期化されます。
分周器は無効です。Linux カーネルは 4.0 で、周波数スケーリング オプションは無効で、1 つの CPU のみが実行されています。毎秒 IRQ があり、次のような値を読み取ります。
プロセッサが 2GHz で動作しているにもかかわらず、2 つの IRQ 間のサイクル数が 20M のオーダーである理由がわかりません。誰にもアイデアはありますか?
前もって感謝します。
arm - uboot が beeagleoboard の特定のアドレスにロードする必要があるのはなぜですか?
ビーグル ボードの起動では、以下の特定のアドレスを使用して uImage と dtb をロードしますか?
loaduImage=fatload mmc 0:1 0x80007fc0 uImage
loadfdt=fatload mmc 0:1 ${dtaddr} omap3-beagle-xm.dtb
他のアドレスを使用できないのはなぜですか? ビーグル ボード xm のデータ シートで、ビーグル ボードの DRAM アドレスが 0x80000000 から始まることが指摘されているので、任意のアドレスを選択してみませんか?
https://www.kernel.org/doc/Documentation/arm/Bootingドキュメントで提案されているように、あるアドレスで uImage をロードし、128MB 後に dtb をロードできないのはなぜですか。
リンクからの引用: 安全な場所は、RAM の先頭から 128MiB 境界のすぐ上です。
signal-processing - OMAP3530: DSP では、ARM よりもループの実行が遅くなります
OMAP3530 は、ARM プロセッサと C64x+ DSP を実装しています。ARM よりも DSP の方が高速に実行されると予想されるテスト ループがありますが、そうではありません。
ループ:
ベンチマーク:
アーム: 5ms
DSP: 25ms
DSP のポイントは、このような単純な算術演算を処理することなので、より高速であることを期待していました。私は DSP にかなり慣れていないので、DSP の構成はあまり行っていません。キャッシュが構成されていないと思うので、それを調べていますが、他の提案を歓迎します。
誰でも可能な解決策についてアドバイスできますか?
編集-LIM
反復回数を増やすために、値を 5000 に変更しました。新しいベンチマーク:
アーム: 120ms
DSP: 530ms