2017-02-10 14 views
2

NXPのImx6 SoCにLinuxを組み込んだプロジェクトがあり、そのSPIを使用しようとしています。マスターモードとスレーブモードの両方をサポートするドライバはないので、私はまずユーザー空間から自分自身でそれを処理しようとしました。私はmmapを使ってSPIのレジスタにアクセスしましたが、mmapで読み書きしようとすると、システムがハングしてリブートする必要がありました。それから、私はカスタムspi-imxドライバで同じことをしましたが、レジスタにアクセスするためにドライバがspi_imx_transfer関数に到着するのを待たなければなりません。Imx6でSPIレジスタを読み取るときにLinuxがハングアップする

私はLinuxのデバイス管理に新しかったので、同じ方法で他のデバイスのレジスタにアクセスすることはできますが、SPIのレジスタにアクセスすることはできません。 これらのレジスタを読み取ろうとすると、Linuxがハングするのはなぜですか? デバイススペース内のデバイススペースの読み書きが可能ですか?

レジスタへのアクセスを許可する(またはロックを解除する)方法はありますか?

アドバイスは歓迎します。

答えて

0

これはLinuxの問題ではありませんでした.ECSPIクロックが無効になっていました。だから、SPIのレジスタにアクセスする前に正しいレジスタを1(mmapで)に設定する必要があります。

関連する問題