RTEMS_malta board support

Gedare Bloom gedare at rtems.org
Tue Jun 25 18:53:15 UTC 2013


On Tue, Jun 25, 2013 at 2:44 PM, Joel Sherrill
<Joel.Sherrill at oarcorp.com> 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 <gedare at rtems.org> 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. <chintha308 at gmail.com> 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
>> rtems-devel at rtems.org
>> http://www.rtems.org/mailman/listinfo/rtems-devel
>>
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-users



More information about the users mailing list