AnsweredAssumed Answered

Compiled uboot for the bf609-ezkit, executing it causes a ICPLB miss error.

Question asked by ltruong on Feb 23, 2013
Latest reply on Feb 26, 2013 by Aaronwu

I downloaded the linux toolchain and kit and compiled a uboot.bin based on the default configuration and board settings provided in the install package for the bf609-ezkit.  The bootloader builds fine, but upon executing the code from memory via a "go 0x1000000" the processor throws an ICPLB miss exception:

 

go 0x10000000

## Starting application at 0x10000000 ...

 

  ICPLB exception outside of memory map at 0x30000000

  Ack! Something bad happened to the Blackfin!

 

  SEQUENCER STATUS:

SEQSTAT: 0000002c  IPEND: 2832  SYSCFG: 0013

  HWERRCAUSE: 0x0: undef

  EXCAUSE   : 0x2c: icplb miss

  physical IVG11 asserted : <0x07f40520> { _evt_default + 0x0 }

  physical IVG13 asserted : <0x07f40520> { _evt_default + 0x0 }

RETE: <0x421a8220> { ___ashldi3 + 0x3a243f6c }

RETN: <0x07ebf298> /* unknown address */

RETX: <0x30000000> { ___ashldi3 + 0x2809bd4c }

RETS: <0x07f42c1a> { _do_go + 0x42 }

RETI: <0x07f400e4> { _start + 0xe4 }

DCPLB_FAULT_ADDR: <0xffb00fe4> { __etext_l1 + 0x100fd4 }

ICPLB_FAULT_ADDR: <0x30000000> { ___ashldi3 + 0x2809bd4c }

 

 

PROCESSOR STATE:

R0 : 00000001    R1 : 07ebfef4    R2 : 07ebfef4    R3 : 00000007

R4 : 00000000    R5 : 00000001    R6 : 07ebfef4    R7 : 10000000

P0 : 00000009    P1 : 00000424    P2 : 10000000    P3 : 07f75994

P4 : 07ebfef0    P5 : 07f7513c    FP : 07ebff34    SP : ffb00f18

LB0: 07f641e4    LT0: 07f641e4    LC0: 00000000

LB1: 07f5cc46    LT1: 07f5cc42    LC1: 00000000

B0 : ffb00000    L0 : 00000000    M0 : 933205b2    I0 : fffffffc

B1 : 00000000    L1 : 00000000    M1 : c1362012    I1 : 07f75994

B2 : 00000000    L2 : 00000000    M2 : 912785b3    I2 : 276a95e2

B3 : 00000000    L3 : 00000000    M3 : 95670d23    I3 : 932711f1

A0.w: 00000119   A0.x: 00000000   A1.w: 00000119   A1.x: 00000000

USP : ffb00ff4  ASTAT: 02001024

 

I have the latest toolchain installed, u-boot-bf609-ezkit-2012R2-RC3.tar and blackfin-toolchain-2012RC2.x86_64

 

How do I fix this so the bootloader runs properly?  Can I just disable cache altogether for the bootloader?  If so, where is the file to disable cache?

 

If I add a memory region to the table, where do I add it?  The address that's causing the problem is 0x3000000, which I presume is at the tail end of the bootloader program.

Outcomes