This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

error l116

*** ERROR L116: INBLOCK SEGMENT IS GREATER THAN 2048 BYTES

I get the error that.
I use c8051f382
I do not understand why
flash = 32K
ram = 2304

  • You have a function that's too large?

    Google Says:

    ERROR 116: INBLOCK SEGMENT IS GREATER THAN 2048 BYTES

    Cause: The linker tries to locate a segment with the INBLOCK attribute, however the segment
    size is greater than 2048 bytes and therefore the code may not execute properly.
    This error is generated because the INBLOCK segment makes use of AJMP and ACALL
    instructions. Both these instructions only allow 10-bit addressing and therefore can only jump to
    or call an address within 2k of the instruction’s address.

    Resolution: The error message indicates which segment has the problem. If the segment was
    written in assembler then split it up into smaller segments.
    If the segment was generated by the compiler then using the segment naming conventions to
    work out which function generated the segment. Split the function up into smaller segments.