无敌可爱炮 2025-03-05 17:02 采纳率: 0%
浏览 135

嵌入式交叉编译问题:junk at end of line, first unrecognized character

CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:108:127: warning: null character(s) preserved in literal
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:108:2041: warning: null character(s) ignored
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:108:2052: warning: null character(s) ignored
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:108:2060: warning: null character(s) ignored
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:108:2064: warning: null character(s) ignored
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:108:2077: warning: null character(s) ignored
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:108:2080: warning: null character(s) ignored
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:108:2092: warning: null character(s) ignored
C:\Users\ADMINI1.DES\AppData\Local\Temp\ccJ3Ryin.s: Assembler messages:
C:\Users\ADMINI
1.DES\AppData\Local\Temp\ccJ3Ryin.s: Warning: end of file in string; '"' inserted
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character valued 0x7f
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is (' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character valued 0x1 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is )'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is *' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character valued 0x1 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is +'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is ,' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character valued 0x1 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is -'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: unknown pseudo-op: .' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character valued 0x1 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is /'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is 0' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character valued 0x1 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is 1'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is 2' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character valued 0x1 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is 3'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is 4' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character valued 0x1 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is 5'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is 6' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character valued 0x1 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is 7'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is 8' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character valued 0x1 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is 9'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is :' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character valued 0x1 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is <'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character valued 0x1
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is =' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is >'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character valued 0x1
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:1: Error: junk at end of line, first unrecognized character is ?' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:2: Error: junk at end of line, first unrecognized character valued 0x7 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:2: Error: junk at end of line, first unrecognized character valued 0x8 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:2: Error: junk at end of line, first unrecognized character valued 0x2 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:2: Error: bad instruction e'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:2: Error: bad instruction ? CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:3: Error: junk at end of line, first unrecognized character is 5'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:3: Error: junk at end of line, first unrecognized character valued 0x1
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:3: Error: junk at end of line, first unrecognized character valued 0x3
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:3: Error: bad instruction ?? CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:3: Error: junk at end of line, first unrecognized character valued 0x4 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:3: Error: junk at end of line, first unrecognized character valued 0x8 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:3: Error: junk at end of line, first unrecognized character valued 0x2 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:3: Warning: missing closing "'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:3: Error: bad instruction ?" ???' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:4: Error: junk at end of line, first unrecognized character is 7'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:4: Error: junk at end of line, first unrecognized character valued 0x8
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:4: Error: bad instruction ?? CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:4: Error: junk at end of line, first unrecognized character valued 0x3 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:4: Error: bad instruction ?'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:4: Error: junk at end of line, first unrecognized character valued 0x1
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:4: Error: junk at end of line, first unrecognized character valued 0x4
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:4: Error: bad instruction 俥' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:4: Error: bad instruction y(?
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:4: Error: junk at end of line, first unrecognized character valued 0x10
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:4: Error: bad instruction c' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:4: Error: junk at end of line, first unrecognized character valued 0x11 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:4: Error: junk at end of line, first unrecognized character valued 0x4 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:4: Error: missing expression CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:5: Error: bad instruction h h!'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:7: Error: junk at end of line, first unrecognized character valued 0x3
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:7: Error: junk at end of line, first unrecognized character is 9' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:7: Error: junk at end of line, first unrecognized character is 9'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:7: Error: junk at end of line, first unrecognized character valued 0x5
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:7: Error: junk at end of line, first unrecognized character is 9' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:7: Error: junk at end of line, first unrecognized character is 9'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:8: Error: junk at end of line, first unrecognized character is 4' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:8: Error: junk at end of line, first unrecognized character is 9'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:9: Error: junk at end of line, first unrecognized character valued 0x4
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:9: Error: junk at end of line, first unrecognized character is 9' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:9: Error: junk at end of line, first unrecognized character valued 0x10 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:9: Error: junk at end of line, first unrecognized character valued 0x11 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:9: Error: bad instruction i/
'
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:9: Error: junk at end of line, first unrecognized character valued 0x12
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:9: Error: junk at end of line, first unrecognized character valued 0xb
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:10: Error: junk at end of line, first unrecognized character valued 0x7
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:11: Error: junk at end of line, first unrecognized character valued 0x5
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:12: Error: bad instruction ? 頗 U ' CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:13: Error: junk at end of line, first unrecognized character valued 0x13 CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:14: Error: bad instruction ya W ]C$ ^ , V f(* h 0)i 1? 2)o 3O- 4? 5s 6l2 f 1 g ?C$ ? D ?
CMakeFiles/ABSI_CV01.dir/S32K312Mcal/generate/src/Stm_Ip_PBcfg.c.obj:15: Error: junk at end of line, first unrecognized character valued 0x5
make[2]: *** [CMakeFiles\ABSI_CV01.dir\build.make:2179: C:/Users/Administrator.DESKTOP-TQQNGIE/Desktop/Cmake_ABSI_Demo/debug/ABSI_CV01] Error 1
make[1]: *** [CMakeFiles\Makefile2:153: CMakeFiles/ABSI_CV01.dir/all] Error 2
make: *** [Makefile:90: all] Error 2

CMAKE构建好后,直接make -j20,使用ARM GCC 14.2进行交叉编译一系列.c文件时,Stm_Ip_PBcfg.c出现以上问题不知道如何处理?有些博主说是将.S改为.s,可我这是.c文件不是汇编,不知道怎么处理?
附加信息:
在用cmake进行构建时,使用target_sources链接到执行文件上,构建是成功的。

  • 写回答

3条回答 默认 最新

  • 宝码香车 优质创作者: JavaScript技术领域 2025-03-12 07:31
    关注
    让【宝码香车】来帮你解答,本回答参考DeepSeek编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
    如果答案让您满意,请采纳、关注,非常感谢!

    从你提供的错误信息来看,问题似乎出在 Stm_Ip_PBcfg.c 文件的编译过程中。错误信息中提到了大量的“junk at end of line”和“null character(s) ignored”等警告和错误,这表明编译器在处理该文件时遇到了非预期的字符或格式问题。

    以下是一些可能的解决方案和排查步骤:

    1. 检查文件编码和格式

    • 文件编码问题:确保 Stm_Ip_PBcfg.c 文件的编码是 UTF-8 或者 ASCII,而不是其他编码格式(如 UTF-16 或带 BOM 的 UTF-8)。某些编译器可能无法正确处理非 ASCII 编码的文件。
    • 文件格式问题:检查文件中是否有不可见的控制字符(如 NULL 字符、换行符等)。可以使用文本编辑器(如 Notepad++、VS Code 等)打开文件,查看是否有异常字符。

    2. 检查文件内容

    • 文件内容损坏:确保 Stm_Ip_PBcfg.c 文件没有损坏。可以尝试重新生成该文件,或者从版本控制系统中重新获取该文件。
    • 文件内容格式:检查文件中是否有不正确的语法或格式问题。特别是检查是否有未闭合的字符串、注释或其他语法错误。

    3. 编译器选项

    • 编译器选项:检查 CMake 生成的编译选项,确保没有不兼容的选项。可以尝试在 CMakeLists.txt 中添加或修改编译选项,例如:
      set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror")
      
      这样可以启用更多的警告,并确保编译器在遇到警告时停止编译。

    4. 重新生成文件

    • 重新生成文件:如果 Stm_Ip_PBcfg.c 是由某个工具自动生成的,尝试重新生成该文件。可能是生成过程中出现了问题,导致文件内容不正确。

    5. 调试编译过程

    • 单独编译文件:尝试单独编译 Stm_Ip_PBcfg.c 文件,看看是否能重现问题。可以使用以下命令:
      arm-none-eabi-gcc -c Stm_Ip_PBcfg.c -o Stm_Ip_PBcfg.o
      
      这样可以更清楚地看到编译器的输出,定位问题。

    6. 检查编译器版本

    • 编译器版本:确保使用的 ARM GCC 14.2 版本是稳定的,并且与你的项目兼容。有时编译器版本可能存在 bug,导致某些文件无法正确编译。

    7. 清理构建目录

    • 清理构建目录:有时构建目录中的缓存文件可能导致问题。可以尝试清理构建目录并重新构建:
      make clean
      make -j20
      

    8. 检查 CMake 配置

    • CMake 配置:确保 CMake 配置正确,特别是 target_sources 的使用。检查是否有其他文件或配置可能导致问题。

    9. 查看生成的文件

    • 查看生成的汇编文件:错误信息中提到了 .s 文件(汇编文件),可以查看生成的汇编文件,看看是否有异常内容。汇编文件通常位于临时目录中,路径类似于 C:\Users\ADMINI1.DES\AppData\Local\Temp\ccJ3Ryin.s

    10. 联系工具链供应商

    • 联系工具链供应商:如果以上方法都无法解决问题,可能需要联系 ARM GCC 工具链的供应商或社区,寻求进一步的帮助。

    总结

    问题可能出在 Stm_Ip_PBcfg.c 文件的编码、格式或内容上。建议首先检查文件的编码和内容,确保没有异常字符或格式问题。如果文件是由工具生成的,尝试重新生成文件。如果问题仍然存在,可以尝试单独编译文件,或者联系工具链供应商寻求帮助。

    希望这些建议能帮助你解决问题!

    评论

报告相同问题?

问题事件

  • 创建了问题 3月5日