Ticket #28891

BF518実装の、PLL初期化要不要判定が間違っている

Date d'ouverture: 2012-07-01 14:46 Dernière mise à jour: 2012-07-29 09:05

Rapporteur:
Propriétaire:
Type:
État:
Atteints
Composant:
(Aucun)
Jalon:
(Aucun)
Priorité:
5 - moyen
Sévérité:
7
Résolution:
Fixed
Fichier:
Aucun

Détails

Blackfinの各チップ依存部は、initialize()関数の中でPLLの初期化を行うべきか否か判定している。この判定が必要になるのは、同じ実行バイナリがGDBによって直接SRAMにロードされることもあれば、uBootのような高機能ローダーによってブートされることもあるからである。高機能ブートローダーはPLLやSDRAMCを初期化してプログラムを展開する。この場合、アプリケーション内部で再度PLLやSDRACMを初期化すると、SDRAMにブートローダーが配置したリソースが破壊される。したがって、この場合はPLLの初期化を行うべきではない。一方、GDBが直接ロードする場合にはPLLは初期化されていないため、PLLを自分自身で初期化したほうが便利である。これは高機能ローダーを使わない場合にも言える。 TOPPERS/JSP for Blackfinはこの判定を自動的に行う。具体的にはBF518の場合、config/blackfin/_common_bf518/chip_config.cの95行目で行なっている(関数はsys_initialize() )。

BF518の実装では、この判定にバグがある。この部分はPLL_CTRLレジスタが初期値でなければPLLの初期化を放棄するが、その初期値の設定が間違っている。0x0a00が正しい。

Ticket History (3/4 Histories)

2012-07-01 14:46 Updated by: suikan
  • New Ticket "BF518実装の、PLL初期化要不要判定が間違っている" created
2012-07-01 15:20 Updated by: suikan
Commentaire

sys_initialize()を修正し、未初期化PLLを正しく認識できるようにした。

ただし、この変更は完全ではない可能性がある。ADIのanomaly によれば、PLL_CTLの値はチップリビジョンにより変わりうる。この点は不明確であり、現在ADIに問い合わせ中。

2012-07-08 15:25 Updated by: suikan
  • Résolution Update from Aucun to Fixed
Commentaire

ADIの回答 http://ez.analog.com/thread/14209

Chip Rev 0.0, 0.1ではPLL_CTLの初期値は0x0a00であるが、0.2では0x0b00 である。

修正点は以下の通り。

http://sourceforge.jp/cvs/view/toppersjsp4bf/jsp/config/blackfin/_common_bf518/chip_config.c?r1=1.6&r2=1.8

2012-07-29 09:05 Updated by: suikan
  • État Update from Ouvert to Atteints
  • Ticket Close date is changed to 2012-07-29 09:05
Commentaire

Blackfin 依存部 3.3.0 にてリリース

Attachment File List

No attachments

Modifier

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Connexion