Search code examples
clinkerembeddedcypressiar

IAR Workbench Error [Li005] while copying files between examples


I'm having the following errors:

Error[Li005]: no definition for "Mfs_Uart_Init" [referenced from C:\Users\rcorder1\Documents\IAR Embedded
Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\S6J3260Evl\examples\adc12b\single_irq_sw\TCFLASH
Debug\Obj\main.o]

Error[Li005]: no definition for "Mfs_Uart_Write" [referenced from C:\Users\rcorder1\Documents\IAR Embedded
Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\S6J3260Evl\examples\adc12b\single_irq_sw\TCFLASH
Debug\Obj\main.o]

Error[Li005]: no definition for "Mfs_Uart_Read" [referenced from C:\Users\rcorder1\Documents\IAR Embedded
Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\S6J3260Evl\examples\adc12b\single_irq_sw\TCFLASH
Debug\Obj\main.o]

I'm trying to "merge/combine" the ADC and UART examples for Cypress s6j3200

Using Windows 10, IAR Arm 8.50.1

Build log:


Building configuration: single_irq_sw - TCFLASH Debug

Updating build tree...


Linking
ilinkarm.exe C:\Users\rcorder1\Documents\IAR Embedded Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\
S6J3260Evl\examples\adc12b\single_irq_sw\TCFLASH Debug\Obj\adc12b.o C:\Users\rcorder1\Documents\IAR 
Embedded Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\S6J3260Evl\examples\adc12b\single_irq_sw\
TCFLASH Debug\Obj\exceptions.o C:\Users\rcorder1\Documents\IAR Embedded Workbench\GPIO & ADC\arm\
8.50.1\Cypress\s6j3200\S6J3260Evl\examples\adc12b\single_irq_sw\TCFLASH Debug\Obj\flash_marker.o C:\
Users\rcorder1\Documents\IAR Embedded Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\S6J3260Evl\
examples\adc12b\single_irq_sw\TCFLASH Debug\Obj\interrupts.o C:\Users\rcorder1\Documents\IAR Embedded 
Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\S6J3260Evl\examples\adc12b\single_irq_sw\TCFLASH
Debug\Obj\main.o C:\Users\rcorder1\Documents\IAR Embedded Workbench\GPIO & ADC\arm\8.50.1\Cypress\
s6j3200\S6J3260Evl\examples\adc12b\single_irq_sw\TCFLASH Debug\Obj\mfs_uart.o C:\Users\rcorder1\
Documents\IAR Embedded Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\S6J3260Evl\examples\adc12b\
single_irq_sw\TCFLASH Debug\Obj\pdl.o C:\Users\rcorder1\Documents\IAR Embedded Workbench\GPIO & ADC\
arm\8.50.1\Cypress\s6j3200\S6J3260Evl\examples\adc12b\single_irq_sw\TCFLASH Debug\Obj\port.o C:\Users\
rcorder1\Documents\IAR Embedded Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\S6J3260Evl\examples\
adc12b\single_irq_sw\TCFLASH Debug\Obj\start.o C:\Users\rcorder1\Documents\IAR Embedded Workbench\
GPIO & ADC\arm\8.50.1\Cypress\s6j3200\S6J3260Evl\examples\adc12b\single_irq_sw\TCFLASH Debug\Obj\
startup.o C:\Users\rcorder1\Documents\IAR Embedded Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\
S6J3260Evl\examples\adc12b\single_irq_sw\TCFLASH Debug\Obj\sysctrl.o C:\Users\rcorder1\Documents\IAR 
Embedded Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\S6J3260Evl\examples\adc12b\single_irq_sw\
TCFLASH Debug\Obj\Traveo_template_version.o --no_out_extension -o C:\Users\rcorder1\Documents\IAR 
Embedded Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\S6J3260Evl\examples\adc12b\single_irq_sw\
TCFLASH Debug\Exe\single_irq_sw.out --redirect _Printf=_PrintfFullNoMb
--redirect _Scanf=_ScanfFullNoMb --map 
C:\Users\rcorder1\Documents\IAR Embedded Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\S6J3260Evl\
examples\adc12b\single_irq_sw\TCFLASH Debug\List\single_irq_sw.map
--config C:\Program Files (x86)\IAR 
Systems\Embedded Workbench 8.4\arm\config\linker\Cypress\s6j33xDx.icf
--semihosting --entry 

__iar_program_start --vfe --text_out locale


   IAR ELF Linker V8.50.1.245/W32 for ARM

   Copyright 2007-2020 IAR Systems AB.

Error[Li005]: no definition for "Mfs_Uart_Init" [referenced from C:\Users\rcorder1\Documents\IAR Embedded 
Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\S6J3260Evl\examples\adc12b\single_irq_sw\TCFLASH
Debug\Obj\main.o]

Error[Li005]: no definition for "Mfs_Uart_Write" [referenced from C:\Users\rcorder1\Documents\IAR Embedded 
Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\S6J3260Evl\examples\adc12b\single_irq_sw\TCFLASH
Debug\Obj\main.o]

Error[Li005]: no definition for "Mfs_Uart_Read" [referenced from C:\Users\rcorder1\Documents\IAR Embedded 
Workbench\GPIO & ADC\arm\8.50.1\Cypress\s6j3200\S6J3260Evl\examples\adc12b\single_irq_sw\TCFLASH
Debug\Obj\main.o]


  8'058 bytes of readonly  code memory
  1'214 bytes of readonly  data memory
  3'390 bytes of readwrite data memory


Errors: 3
Warnings: none


Link time:   0.08 (CPU)   0.06 (elapsed)
Error while running Linker


Total number of errors: 3
Total number of warnings: 0


Build failed.

Solution

  • The solution I found was to check pdl_user.h file and make sure that it has the following:

    #define PDL_PERIPHERAL_ENABLE_ADC12B  PDL_ON
    #define PDL_PERIPHERAL_ENABLE_SYSCTRL PDL_ON
    #define PDL_PERIPHERAL_ENABLE_UART0   PDL_ON
    #define PDL_PERIPHERAL_ENABLE_PORT    PDL_ON