[Suzaku:01986] Re: spi ドライバの追加で hermit 起動失敗

mio email@hidden
2010年 10月 7日 (木) 21:48:37 JST


中島です。

#すいません。途中で送ってしまいました。

xparameters.hの内容を確認してみて下さい。
SPIのBASEADDRは0xF0FF0000であってほしいのに、
0x00000000になってしまっていると思います。
----------------------------------------------------------
#define XPAR_SPI_CNTLR_BASEADDR 0x00000000
とか
#define XPAR_SPI_0_BASEADDR 0x00000000
----------------------------------------------------------

xparameters.h期待しているのは以下の記述です。
----------------------------------------------------------
#define XPAR_SPI_CNTLR_MEM0_BASEADDR 0xF0FF0000
----------------------------------------------------------

xarameters.hの内容は、BBootのmemmap.hで使用しているので、
BASEADDRが違ってしまったり、
以下に定義している以外の名前にかわってしまった場合
正常動作しなくなってしまいます。
----------------------------------------------------------
#if defined(XPAR_SPI_0_BASEADDR)
#define SPI_REGISTER_BASEADDR		(XPAR_SPI_0_BASEADDR)
#elif defined(XPAR_SPI_FLASH_BASEADDR)
#define SPI_REGISTER_BASEADDR		(XPAR_SPI_FLASH_BASEADDR)
#elif defined(XPAR_SPI_CNTLR_MEM0_BASEADDR)
#define SPI_REGISTER_BASEADDR		(XPAR_SPI_CNTLR_MEM0_BASEADDR)
#endif
----------------------------------------------------------

色々な名前のBASEADDRがあるのは、SZ130用や、
過去互換のためにISE/EDK9.1iのSZ410用の記述があるからです。

SZ410のSPI用のIPコアは、SZ410専用のものを使っています。(xps_spi_sz410)
spi(2.01.b)のドライバを使用してかつ、
xparameters.hにでてくるBASEADDRを0x00000000でない値にするためには、
何かIPコアに記述するとか、ドライバに記述するとか、
何かが必要なんだと思います。(未調査)

ちなみに、memmap.hにBASEADDRを直で記述すると、
xparameters.hに悩まされることがなくなります。
-----------------------------------------------------------
#define SPI_REGISTER_BASEADDR		(0xF0FF0000)
------------------------------------------------------------

> お世話になります。米山と申します。
>    
>   環境
> WindowsXPSP3
> EDK11.5
> SZ410-U00
> Linux使用
> 11.5用プロジェクト(v20100617)
>    
>   
> mssファイルにspi(2.01.b)のドライバが追加されると、
> セカンドブートローダ(hermit)の起動に失敗します。
> bbootにログを足して確認したところ、
> Flashにアクセス出来てないようで、データの読み出しが失敗します。
>    
>   mssファイルを編集し、追加した箇所をコメントアウトすると、
> セカンドブートローダ、その先のLinuxの起動まで問題なく成功します。
>    
>   また、追加したspiインタフェースのドライバをgenericにすると、
>   Linuxの起動まで進みます。
>    
>   spiのドライバを追加することで、
> Flashの読み出しが失敗する、などの競合が有るのでしょうか?
>    
>   よろしくお願いいたします。
>  




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