KEIL4.74: FCARM - Output Name not specified, please check 'Options for Target - Utilities'错误修正方法...

本文解决了一个关于M0516LDN芯片在使用KEIL MDK 4.74.0.22环境下编译出现的问题。具体问题是在将startup_M051Series.s文件移至项目文件夹后导致编译错误:FCARM-OutputNotspecified。通过将文件类型设置为'Assemblylanguagefile'解决了该问题。

目标芯片:M0516LDN

编译环境: keil MDK 4.74.0.22

OS : Windows XP

问题描述:由于startup_M051Series.s     文件默认在KEIL的安装文件夹中。其它项目也可能修改此文件,
于是就把startup_M051Series.s文件移到了项目所在文件夹,在KEIL项目中删除原来的startup_M051Series.s,再重新添加新文件夹中的startup_M051Series.s编译时就出现:

       FCARM - Output Name not specified, please check 'Options for Target - Utilities'

 

修正方法:

084117_F08C_1402175.png

改文件类型(File Type)为“Assembly language file”后可以正常编译了:

084208_Dmvd_1402175.png

转载于:https://my.oschina.net/SamXIAO/blog/1358745

1. FX3 SDK main components. User firmware Libraries ThreadX RTOS (cyu3threadx.a) FX3 API Library (cyfxapi.a) Serial Peripheral API Library (cyu3lpp.a) Storage API Library (cyu3sport.a) MIPI CSI-2 API Library (cyu3mipicsi.a) Take the example firmware lowpowertest debug reversion for the test, need link following library. libcyu3lpp.a libcyfxapi.a libcyu3threadx libc.a libgcc.a -lcyu3lpp -lcyfxapi -lcyu3threadx -lc -lgcc While the search path will be: -L"C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\lib\gcc\arm-none-eabi\4.8.1" -L"C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\arm-none-eabi\lib" -L"C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\fw_lib\1_3_3\fx3_debug" Link script will be fx3.ld for 512KB SRAM. From fx3 initialization block, could understand the fx3 entry point is CyU3PFirmwareEntry() function, so need manually assign entry point by follow linker command. --entry,CyU3PFirmwareEntry So Keil 4.74 IDE Linker page needs to configure as following pic. 2. Specific GNU cross compile tool path. Under tap project->Manage Project Items… -> Folders/Extensions Point to use GCC cross compile tools, please fill GNU-Tool-Prefix “arm-none-eabi-” while GNU-Tool Folder “C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\” 3. C compile tap page configure. Predefined symbols __CYU3P_TX__=1. Include Path: ..\inc Without optimizations 4. Specific output file type. Under tap page Project->Options for target fx3->Output Need create object file with debug information. 5. After build elf file, execute user command. After precompiler, compiler and linker could get object file fx3.elf, need to convert to img file for download. So need execute user command: "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\util\elf2img\elf2img.exe" -i fx3.elf -o fx3.img –v Summary After configuration, click Build button will show build output log like following pic.
### Keil5 中编译时出现 `FCARM - Output Name not specified` 错误的解决方案 当在 Keil5 中遇到 `FCARM - Output Name not specified, please check 'Options for Target - Utilities'` 的错误时,通常是因为项目配置不正确或者某些文件未被正确认识为源代码的一部分。以下是详细的分析和解决方法: #### 1. 检查目标选项中的输出名称设置 确保项目的 **Output Name** 已经指定。可以通过以下路径访问此设置: - 打开项目后,在左侧导航栏中右键点击目标(Target),选择 **Options for Target...** - 转到 **Utilities** 标签页,检查 **Output Name** 是否为空。如果为空,则需要填写一个有效的输出名称[^1]。 #### 2. 验证新增加的 `.c` 文件是否正确添加至项目 如果最近向项目中添加了新的 `.c` 文件,需验证这些文件是否已被正确识别并加入构建过程: - 在项目资源管理器中找到新添加的文件。 - 右键单击该文件,选择 **Properties** 或者直接双击打开其属性窗口。 - 确认 File Type 设置为 **C Source File**。如果不是,请手动更改为 C Source File[^4]。 #### 3. 排除不必要的备份文件或其他非标准扩展名文件 有时会不小心将一些临时文件或备份文件(如 `.bak`, `.tmp`)引入项目中。这类文件可能会干扰编译流程,从而引发上述错误。建议执行以下操作来排查此类问题: - 审核整个项目结构,移除任何带有非标准扩展名的文件(例如 .bak、.tmp 等)。特别是那些由编辑器自动生成的副产物[^5]。 - 如果发现存在多余的头文件 (.h) 和对应的备份版本 (`.h.bak`),仅保留必要的原始文件即可。 #### 4. 清理并重新生成工程 完成以上调整之后,尝试清理当前工作区再重新生成全部内容以消除潜在残留影响: ```bash // 使用菜单命令 Clean All 来清除旧的目标文件 Project -> Clean All Targets... // 继续通过 Rebuild All 对象重建完整的应用程序镜像 Project -> Rebuild All Targets... ``` #### 总结 通过对目标选项里的 Outputs 字段赋值、修正可能存在的文件类型定义失误以及剔除非必要附属文档这几方面入手处理,能够有效应对因 “FCARMOutput Name Not Specified” 导致无法正常编译的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值