所有错误及警告文档:Documentation – Arm Developer
优先在arm官网搜索官方回答:https://developer.arm.com/documentation/

错误ERROR

ERROR L104: MULTIPLE PUBLIC DEFINITIONS

  1. *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
  2. SYMBOL: UART_CONFIG
  3. MODULE: .\Objects\Buzzer.obj (BUZZER)

重复定义的公共函数或变量,全局搜索提示给的UART_CONFIG,看哪里重复了,改个名字,或加个static

警告WARNING

WARNING L7: MODULE NAME NOT UNIQUE

  1. *** WARNING L7: MODULE NAME NOT UNIQUE
  2. MODULE: .\Objects\Conf_tny.obj (?RTX51_TINY_KERNAL)

模块名不唯一,多个模块中声明了相同的模块名。或是对模块编译顺序进行调整。本例是关于?RTX51_TINY_KERNAL的变异警告,可以将Conf_tny.A51文件所在目录OS提到最上边即可。(也可直接删掉OS目录及模块)
image.png

WARNING L15: MULTIPLE CALL TO SEGMENT

  1. *** WARNING L15: MULTIPLE CALL TO SEGMENT
  2. SEGMENT: ?PR?PRINTF?PRINTF
  3. CALLER1: ?PR?BR_UART2?MAIN
  4. CALLER2: ?PR?ULTRASONIC?MAIN

多处调用代码块警告,忽略即可:
Options for Target ->BL51 Misc -> Warnings|Disable Warning Numbers 添加15,多个忽略Number用逗号,分隔

WARNING L16: UNCALLED SEGMENT

  1. *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
  2. SEGMENT: ?PR?_PRINTSTRING1?UART

有声明的函数未调用,忽略即可:
Options for Target ->BL51 Misc -> Warnings|Disable Warning Numbers 添加16,多个忽略Number用逗号,分隔
image.png