在示例之间复制文件时出现 IAR Workbench 错误 [Li005]

IAR Workbench Error [Li005] while copying files between examples

我遇到以下错误:

Error[Li005]: no definition for "Mfs_Uart_Init" [referenced from C:\Users\rcorder1\Documents\IAR Embedded
Workbench\GPIO & ADC\arm.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.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.50.1\Cypress\s6j3200\S6J3260Evl\examples\adc12b\single_irq_sw\TCFLASH
Debug\Obj\main.o]

我正在尝试 "merge/combine" 赛普拉斯 s6j3200 的 ADC 和 UART 示例

使用Windows10,IAR Arm 8.50.1

构建日志:


Building configuration: single_irq_sw - TCFLASH Debug

Updating build tree...


Linking
ilinkarm.exe C:\Users\rcorder1\Documents\IAR Embedded Workbench\GPIO & ADC\arm.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.

我找到的解决方案是检查 pdl_user.h 文件并确保它具有以下内容:

#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