[Armadillo:07467] Re: Armadillo-440のUART動作クロック

Singo SAKAI email@hidden
2011年 8月 11日 (木) 09:54:00 JST


古賀様

分かりやすい説明ありがとうございました。
やはりCCMの設定が間違っていました。

教えていただいたフィールドの設定を見なおしたところ、ターミナルに正しく
表示されるようになりました。


どうもありがとうございました。

酒井


>サムシングプレシャスの古賀と申します。
>
>SAKAIさん([Armadillo:07464]):
>>とあるOSをArmadillo-440へ移植しています。
>>UARTのドライバを作成しているのですが、ArmadilloからPCへ文字列を送って
>>も文字化けしてしまうため、ボーレートがうまく設定できていないように見え
>>ます。
>> 
>>質問としては、
>> ・i.MX257内蔵のUARTに入力するクロックは、66.5MHzで合っていますでしょ
>>うか。
>> 
>>hermitのコードを見ますと、「120MHz」としてボーレートの計算をされていま
>>すが、「Armadillo-400シリーズハードウェアマニュアル」を見ますと
>>
>>	BUSクロック:133MHz
>>
>>となっていますので、その半分の66.5MHzが入力されるものと考えています。
>>この考えは正しいでしょうか?
>
>UART に入力されるクロックの周波数は、i.MX257 の CCM (Clock Control
>Module) の設定により変わるのではないでしょうか。133MHz は BUS
>クロック、つまり AHB のクロックで、120MHz は USB PLL の 240MHz の
>半分の値ですよね。UART へ供給される PER のクロックは、CCM の MCR
>レジスタの設定(MCR の PER CLK MUX フィールドの UART 対応ビット)
>によって決まり、USB PLL クロックがソースになるか HCLK/AHB クロック
>がソースになるかが変わるのだと思います。
>
>これと、CCM の PCDRn (PER Clock Divider Register n) の対応フィールド
>に設定した divider 値で、実際に供給されるクロック周波数が決まるんじゃ
>ないでしょうか。
>
>>また、hermitのコードで設定しているものと同じ値をUARTコントローラに設定
>>しても、PC上の端末には正しく文字が出力されないため、何か他の設定も必要
>>なのかどうか、教えていただけないでしょうか。
>
>UART コントローラを設定する前、(おそらくブートコードにおいて)CCM
>をどのように設定しているのかを確認されるのがよいのではないかと思い
>ます。
>
>以上、もし参考になりましたら幸いです。
>
>--
>古賀信哉 (株)サムシングプレシャス
>
>_______________________________________________
>armadillo mailing list
>email@hidden
>http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo



armadillo メーリングリストの案内