On Tue, Jun 25, 2013 at 2:44 PM, Joel Sherrill
<[email protected]> wrote:
> The bsp was built to match the configuration in qemu.
>
> At the risk of repeating myself, the Malta board manual clearly states that 
> there are multiple variants with multiple system controllers.  Plus the CPU 
> model can vary. The details of your hardware neg to be verified against what 
> variant qemu supports.
>
In that case, the BSP for the eval board should be implemented as a
BSP variant.  I don't see any examples in mips, but the arm bsp
families have a lot of examples of BSP variants, see for example
c/src/lib/libbsp/arm/lpc24xx/make/custom/*.cfg

> MIPS uses the upper few bits of an address to specify user or kernel space.. 
> Cached or not.. The BSP needs kernel space.
>
OK thanks for the info. Should the virtual addresses all be in the
kernel space then? If so, it seems likely the requested address is
"bad".

> The vector is two ASCII printable characters but that may be a coincidence. 
> :-)
>
> Gedare Bloom <[email protected]> wrote:
>
>
> Caveat: I am not familiar with RTEMS's MIPS support or Malta BSP.
>
> On Tue, Jun 25, 2013 at 7:20 AM, CHINTHA MOL C.S. <[email protected]> 
> wrote:
>> Hi all,
>>
>> I would like to port RTEMS to malta mips evaluation board.
>> I successfully built RTEMS 4.10.99 with malta BSP.
>> I need to load the generated hello.ralf to malta board with YAMON
>> bootloader.
>>
> Is there a simulator you can first run the BSP on? Maybe someone with
> experiences with this BSP can chime in.
>
>> I edited the MIPS Malta linker script .
>> RAM base is changed from 0x80000000 to 0x800c0000. and section start from
>> 0x80010000 to 0x80100000.
>>
>> I converted the hello.ralf file to srec format using mips-retms4.11-objcopy
>> and successfully loaded it via tftp. But while running it, exception in TLB
>> occures. the error log is given below.
>>
>
> "EPC      = 0x80100050" tells you the address of the instruction that
> caused the exception. You should see what function that is in, and
> maybe you can figure out the line of source code too from inspecting
> the disassembly (e.g. mips-rtems4.11-objdump -d hello.ralf >
> hello.disasm).
>
> BadVAddr = 0x00004234 looks suspicious considering your memory address
> space appears to be defined with the upper bit set.
>
>> How can i successfully run this rtems-application (hello.ralf) in malta
>> board?
>>
>>
>> Compilation time =              Dec  7 2006  19:00:35
>> Board type/revision =           0x02 (Malta) / 0x00
>> Core board type/revision =      0x01 (CoreLV) / 0x01
>> System controller/revision =    Galileo / GT_64120A-B-2
>> FPGA revision =                 0x0001
>> MAC address =                   00.d0.a0.00.05.e9
>> Board S/N =                     0000001245
>> PCI bus frequency =             33.33 MHz
>> Processor Company ID/options =  0x01 (MIPS Technologies, Inc.) / 0x80
>> Processor ID/revision =         0x90 (MIPS 4KEc) / 0x68
>> Endianness =                    Little
>> CPU/Bus frequency =             240 MHz / 80 MHz
>> Flash memory size =             4 MByte
>> SDRAM size =                    128 MByte
>> First free SDRAM address =      0x800b7350
>>
>> YAMON> load
>> About to load tftp://10.1.125.98/hello.srec
>> Press Ctrl-C to break
>> ...........................
>> Start = 0x80100024, range = (0x80100000,0x801348a7), format = SREC
>> YAMON> go 0x80100024
>>
>>
>>
>> * Exception (user) : TLB (store) *
>> BadVAddr = 0x00004234  Cause     = 0xd080800c
>> Compare  = 0xced7cdbf  Config    = 0x80250483
>> Config1  = 0xbe994c8e  Config2   = 0x80000000
>> Config3  = 0x00000020  Context   = 0xdf800020
>> Count    = 0xc21f9d1d  DEPC      = 0xdf5f1e43
>> Debug    = 0x0e017c3f  EBase     = 0x80000000
>> EPC      = 0x80100050  EntryHi   = 0x000040ff
>> EntryLo0 = 0x01f7f555  EntryLo1  = 0x01bf36d7
>> ErrorEPC = 0xbfc00380  HWREna    = 0x00000000
>> Index    = 0x80000014  IntCtl    = 0xe0000000
>> PRId     = 0x80019068  PageGrain = 0x00000000
>> PageMask = 0x19ffe000  Random    = 0x0000001e
>> SRSCtl   = 0x00000000  SRSMap    = 0x00000000
>> Status   = 0x00002c02  WatchHi   = 0x00000000
>> WatchLo  = 0x00000000  Wired     = 0x00000000
>> Hi       = 0x00000000  Lo        = 0x80100020
>>
>> $ 0(zr):0x00000000  $ 8(t0):0x00000000  $16(s0):0x00000000
>> $24(t8):0x00000000
>> $ 1(at):0x00000000  $ 9(t1):0x00000000  $17(s1):0x00000000
>> $25(t9):0x00000000
>> $ 2(v0):0x00000000  $10(t2):0x00000000  $18(s2):0x00000000
>> $26(k0):0x00000000
>> $ 3(v1):0x00000000  $11(t3):0x00000000  $19(s3):0x00000000
>> $27(k1):0x800abf20
>> $ 4(a0):0x00000001  $12(t4):0x00000000  $20(s4):0x00000000
>> $28(gp):0x00000000
>> $ 5(a1):0x800ad268  $13(t5):0x00000000  $21(s5):0x00000000
>> $29(sp):0x800b7340
>> $ 6(a2):0x8006dccc  $14(t6):0x00000000  $22(s6):0x00000000
>> $30(s8):0x800b7340
>> $ 7(a3):0x08000000  $15(t7):0x00000000  $23(s7):0x00000000
>> $31(ra):0x8003ca34
>>
>>
>> Regards,
>> Chintha
>>
>> _______________________________________________
>> rtems-devel mailing list
>> [email protected]
>> http://www.rtems.org/mailman/listinfo/rtems-devel
>>
> _______________________________________________
> rtems-users mailing list
> [email protected]
> http://www.rtems.org/mailman/listinfo/rtems-users
_______________________________________________
rtems-devel mailing list
[email protected]
http://www.rtems.org/mailman/listinfo/rtems-devel

Reply via email to