使用例

バス・エラーが発生したアクセスのアドレスを取得する

 

[GUI設定例]

バス

BSC0

使用する

バス動作設定

使用する

内蔵ROM設定

有効

ALE端子

使用しない

 

 

 

WAIT#端子

使用しない

 

 

 

BC1#/WR1#端子

使用しない

 

 

 

メモリバス 13 (RAM/拡張RAM)

 

0000 0000h 0007 FFFFh

 

 

 

 

0080 0000h 00FF FFFFh

優先順位固定

 

 

 

 

 

 

メモリバス2 (ROM)

 

8000 0000h FEFF FFFFh

優先順位固定

 

 

 

 

 

 

内部周辺バス1 (周辺I/Oレジスタ)

 

0008 0000h 0008 7FFFh

優先順位固定

 

 

 

内部周辺バス 2 3 (周辺I/Oレジスタ)

0008 8000h 0009 FFFFh

 

 

 

 

000A 0000h 000B FFFFh

優先順位固定

内部周辺バス 45 (周辺I/Oレジスタ)

000C 0000h 000D FFFFh

 

 

 

 

000E 0000h 000F FFFFh

優先順位固定

 

 

 

 

 

 

内部周辺バス 6 (E2データフラッシュ、ROM)

 

0010 0000h 00FF FFFFh

優先順位固定

 

 

 

 

 

 

外部バス

 

0100 0000h 0FFF FFFFh

優先順位固定

 

 

 

 

 

 

セパレートバス用CSリカバリサイクル挿入許可設定 リードアクセス後のリードアクセス(同じ領域)

使用しない

 

 

 

セパレートバス用CSリカバリサイクル挿入許可設定 リードアクセス後のリードアクセス(異なる領域)

使用する

 

 

 

セパレートバス用CSリカバリサイクル挿入許可設定 ライトアクセス後のリードアクセス(同じ領域)

使用する

 

 

 

セパレートバス用CSリカバリサイクル挿入許可設定 ライトアクセス後のリードアクセス(異なる領域)

使用する

 

 

 

セパレートバス用CSリカバリサイクル挿入許可設定 リードアクセス後のライトアクセス(同じ領域)

使用する

 

 

 

セパレートバス用CSリカバリサイクル挿入許可設定 リードアクセス後のライトアクセス(異なる領域)

使用する

 

 

 

セパレートバス用CSリカバリサイクル挿入許可設定 ライトアクセス後のライトアクセス(同じ領域)

使用しない

 

 

 

セパレートバス用CSリカバリサイクル挿入許可設定 ライトアクセス後のライトアクセス(異なる領域)

使用しない

 

 

 

アドレス / データマルチプレクスバスCSリカバリサイクル挿入許可設定 リードアクセス後のリードアクセス(同じ領域)

使用しない

 

 

 

アドレス / データマルチプレクスバスCSリカバリサイクル挿入許可設定 リードアクセス後のリードアクセス(異なる領域)

使用する

 

 

 

アドレス / データマルチプレクスバスCSリカバリサイクル挿入許可設定 ライトアクセス後のリードアクセス(同じ領域)

使用する

 

 

 

アドレス / データマルチプレクスバスCSリカバリサイクル挿入許可設定 ライトアクセス後のリードアクセス(異なる領域)

使用する

 

 

 

アドレス / データマルチプレクスバスCSリカバリサイクル挿入許可設定 リードアクセス後のライトアクセス(同じ領域)

使用する

 

 

 

アドレス / データマルチプレクスバスCSリカバリサイクル挿入許可設定 リードアクセス後のライトアクセス(異なる領域)

使用する

 

 

 

アドレス / データマルチプレクスバスCSリカバリサイクル挿入許可設定 ライトアクセス後のライトアクセス(同じ領域)

使用しない

 

 

 

アドレス / データマルチプレクスバスCSリカバリサイクル挿入許可設定 ライトアクセス後のライトアクセス(異なる領域)

使用しない

 

 

 

A7-A0

 BC0#

 

 

 

A8

PB0

 

 

 

A9

PB1

 

 

 

A10

PB2

 

 

 

A11

PB3

 

 

 

A12

PB4

 

 

 

A13

PB5

 

 

 

A14

PB6

 

 

 

A15

PB7

 

 

 

A16

PC0

 

 

 

A17

PC1

 

 

 

A18

PC2

 

 

 

A19

PC3

 

 

 

A20

PC4

 

 

 

A21

PC5

 

 

 

A22

PC6

 

 

 

A23

PC7

 

 

 

駆動能力設定

使用しない

 

 

 

不正アドレスアクセスを検出

使用する

 

 

 

タイムアウトを検出

使用する

 

 

 

バスエラー割り込みを許可(BUSERR)

使用する

 

 

 

優先順位

レベル15

 

 

CS1

 

使用する

 

 

 

使用CS1 (0700 0000 ~ 07FF FFFF)

使用する

 

 

 

CS1#出力端子

P71

 

 

 

バス幅

8ビット

 

 

 

エンディアン

エンディアンは動作モードのエンディアンと同じ

 

 

 

インターフェース

セパレートバス

 

 

 

ライトアクセスモード

バイトストローブモード

 

 

 

ページリードアクセス

禁止

 

 

 

ページライトアクセス

禁止

 

 

 

外部ウェイト

禁止

 

 

 

リードリカバリ期間

0 0 (ns)

 

 

 

ライトリカバリ期間

0 0 (ns)

 

 

 

ページリードサイクルウェイト

7 1166.666667 (ns)

 

 

 

ページライトサイクルウェイト

7 1166.666667 (ns)

 

 

 

ノーマルリードサイクルウェイト

7 1166.666667 (ns)

 

 

 

ノーマルライトサイクルウェイト

7 1166.666667 (ns)

 

 

 

リード時CS延長サイクル

7 1166.666667 (ns)

 

 

 

ライト時CS延長サイクル

0 0 (ns)

 

 

 

ライトデータ出力延長サイクル

0 0 (ns)

 

 

 

アドレスサイクルウェイト

0 0 (ns)

 

 

 

RDアサートウェイト

2 333.333333 (ns)

 

 

 

WRアサートウェイト

2 333.333333 (ns)

 

 

 

ライトデータ出力ウェイト

2 333.333333 (ns)

 

 

 

CSアサートウェイト

0 0 (ns)

 

 

 

 

[API設定例]

r_cg_main.c

void main(void)

{

       R_MAIN_UserInit();

       /* Start user code. Do not edit comment generated here */

       /* Enable BUSERR interrupt in ICU */

       R_BSC_Error_Monitoring_Start();

 

       while (1U)

       {

              ;

       }

       /* End user code. Do not edit comment generated here */

}

 

r_cg_bsc_user.c

/* Start user code for global. Do not edit comment generated here */

volatile uint16_t g_bsc_buserr_addr;

/* End user code. Do not edit comment generated here */

 

static void r_bsc_buserr_interrupt(void)

{

       /* Start user code. Do not edit comment generated here */

       /* Restore an address that was accessed when a bus error occurred */

       if (1U == BSC.BERSR1.BIT.IA)

       {

              g_bsc_buserr_addr = ((uint16_t)(BSC.BERSR2.WORD)>>3U);

       }

 

       /* Clear the bus error status registers */

       BSC.BERCLR.BIT.STSCLR = 1U;

       /* End user code. Do not edit comment generated here */

}