Announcement

Collapse

IMPORTANT!!! Moving (Back) to Mailing Lists

The forum site WILL BE DECOMMISSIONED by end of October. We are moving back to using mailing lists for user community, this time based on groups.io technology. More information available on https://imagecraft.com/get-news-and-updates
See more
See less

Code in interrupts causing linker error {linker} invalid symbol type - for '$cb$rp'

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Code in interrupts causing linker error {linker} invalid symbol type - for '$cb$rp'

    Hi, we are trying to add some interrupt code for a timer interrupt. Below is the error and the code we are trying to compile. This is using Windows 10 64 bit. Thanks

    ||=== Build: default in Rastrum (compiler: ImageCraft AVR Compiler) ===|
    ||{linker} invalid symbol type - for '$cb$rp'|
    ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|


    #pragma interrupt_handler timer0_ovf_isr:iv_TIM0_OVF
    void timer0_ovf_isr(void)
    {
    TCNT0 = 0x06; //reload counter value


    if (ms_timer>0) {
    ms_timer--;
    }
    }

    Also, on another topic, the C compiler shows the version as 8.27 while we have 8.28 installed.
    -D__ICC_VERSION=82700

  • #2
    What version are you using? I believe a similar bug has been fixed in the latest version.

    Comment


    • #3
      Thanks Richard. Yes, I am using the latest version but when it runs, it looks like the C compiler is still v8.27. Is it possible to just update the C compiler only? Thanks

      Below is the build log.


      -------------- Build: default in Rastrum (compiler: ImageCraft AVR Compiler)---------------

      iccavr.exe -c -e -D_EE_EXTIO -D_3BYTE_PC -DATMega2560 -l -g -MExtended -MLongJump -MHasMul -MEnhanced -Wf-str_in_flash -Wf-use_elpm -Wf-const_is_flash -DCONST="" -D__BUILD=27 -D__ICC_VERSION=82700 C:\_projects\Boost\Firmware\Rastrum\rp-ints.c -o .\.objs\rp-ints.o
      iccavr.exe -o .\Rastrum .\.objs\rp-ints.o .\.objs\rp-main.o .\.objs\rp-serial.o .\.objs\rp-start.o .\.objs\rp-stdcalls.o -mATMega2560 -g -e:0x40000 -xcall -ucrtatmega.o -bfunc_lit:0xe4.0x40000 -dram_end:0x21ff -bdata:0x200.0x21ff -dhwstk_size:32 -beeprom:0.4096 -fihx_coff -S2 -nb:27 -lcatm256
      !E {linker} invalid symbol type - for '$cb$rp'
      Built with ICCAVR PRO V8.27.00. Mon May 21 13:57:10 2018
      iccavr.exe: 'C:\iccv8avr\bin\ilinkavr.exe' returns error code -1
      Process terminated with status -1 (0 minute(s), 2 second(s))
      Build Failed: 1 error(s), 0 warning(s) (0 minute(s), 2 second(s))

      Comment


      • #4
        Fergus, send me the project and I will check it out. As I recall, it has something to do with code compressor must be disabled for interrupt handlers (which I added), but maybe this is another instance.

        Comment


        • #5
          OK, thanks Richard. I have just emailed support@imagecraft.com. The project is very simple at this stage. Thanks

          Comment


          • #6
            Attached is the project. I have now tried on 3 computers - 2 with Windows 10 and one with Windows 7 and the error persists.
            Attached Files

            Comment


            • #7
              I can duplicate the problem. Stay tuned.

              Regards

              Comment


              • #8
                Fixed in 8.28.02

                Comment

                Working...
                X