Search

Technical Discussion Group Forum

This forum is provided for user discussion. While Beacon EmbeddedWorks support staff and engineers participate, Beacon EmbeddedWorks does not guarantee the accuracy of all information within in the Technical Discussion Group (TDG).

The "Articles" forums provide brief Articles written by Beacon EmbeddedWorks engineers that address the most frequently asked technical questions.

To receive email notifications when updates are posted for a Beacon EmbeddedWorks product download, please subscribe to the TDG Forum of interest.

TDG Forum

PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 13 Sep 2007 12:46 PM by  spannring
Exception with Lolo - fpu
 1 Replies
Sort:
You are not authorized to post a reply.
Author Messages
info@algotronic.ch
New Member
New Member
Posts:


--
13 Sep 2007 09:39 AM
    I am currently using the the GNU toolchain provided by YAGARTO (win arm gcc 4.1.1) for imx31 target. Find below the exception I recieved when the program was loaded with LoLo (load and run).
    This problem was encontered when using fpu (-mfpu=vfp -mfloat-abi=softfp). Any ideas on this?

    Unhandled Exception:
    exception mode: undef
    r00: 00000000 r01: 800543d8 r02: 000059f8 r03: 00005088
    r04: 8005cd34 r05: 00000000 r06: 8005cd34 r07: 00000000
    r08: 800349ac r09: 00000000 r10: 8005c854 r11: 8005c844
    r12: 8005c830 sp: 8005c82c lr: 8000c6ac pc: 80100004
    spsr:00000153 cpsr:000001db
    bt: sp: 8005c778 (stack: 80058cbc - 8005ccbc)
    0: fp:8005c7a0 + 40 80000804() called from: 800034f8
    1: fp:8005c7b8 + 20 800034b4() called from: 80000b0c
    2: fp:8005c7cc + 16 80000964() called from: 8000156c
    3: fp:8005c7e0 + 16 8000154c() called from: 800006fc
    4: fp:8005c844 + 96 8000c618() called from: 800061fc
    5: fp:8005c8c4 + 124 80005f18() called from: 80007060
    6: fp:8005c900 + 56 80006f64() called from: 80005974
    7: fp:8005c924 + 32 80005944() called from: 8002d9d8
    8: fp:8005cc5c + 820 8002d5d4() called from: 80005bd4
    9: fp:8005cc84 + 36 80005a18() called from: 80005e60
    10: fp:8005cca0 + 24 80005d14() called from: 80003d8c
    11: fp:8005ccb8 + 20 80003d60() called from: 80003d60
    (fp:8005ccb8->8005c760, sp:8005ccbc)

    -- disassebled code --
    int main (void)
    {
    80004000: e52de004 str lr, [sp, #-4]!
    80004004: ed2d8b05 fstmdbx sp!, {d8-d9}
    80004008: ed9f8b0c fldd d8, [pc, #48]
    8000400c: ed9f9b0d fldd d9, [pc, #52]
    double P1;
    double P2;
    P1=12323123.213;
    while(1)
    {
    led_on(LED1);
    80004010: e3a00080 mov r0, #128 ; 0x80
    80004014: eb000013 bl 80004068 <led_on>
    P2=sqrt(P1);
    80004018: eeb17bc8 fsqrtd d7, d8
    8000401c: ec510b18 fmrrd r0, r1, d8
    P1=P1+10.123;
    80004020: ee388b09 faddd d8, d8, d9
    80004024: eeb47b47 fcmpd d7, d7
    80004028: eef1fa10 fmstat
    8000402c: 0a000000 beq 80004034 <main+0x34>
    80004030: eb00003c bl 80004128 <sqrt>
    led_off(LED1);
    80004034: e3a00080 mov r0, #128 ; 0x80
    80004038: eb000004 bl 80004050 <led_off>
    8000403c: eafffff3 b 80004010 <main+0x10>
    80004040: 66d0e560 ldrvsb lr, [r0], r0, ror #10
    80004044: 41678126 cmnmi r7, r6, lsr #2
    80004048: db22d0e5 blle 808b83e4 <_edata+0x8b3140>
    8000404c: 40243ef9 strmid r3, [r4], -r9
    spannring
    New Member
    New Member
    Posts:


    --
    13 Sep 2007 12:46 PM
    It almost sounds like you or LOLO have set the EN bit in the FPEXC register to 0.

    What's the instruction at 8000c6a8?
    You are not authorized to post a reply.