*** Error: CreateProcess failed, Command: '"D:\c51\ARM\ARMCLANG\bin\\ArmCC" --via ".\objects\core_cm3.__i"'
时间: 2024-01-07 13:23:15 浏览: 251
这个错误通常是由于无法执行命令引起的。可能有以下几个原因导致这个错误:
1. 命令路径错误:请确保命令的路径是正确的,并且命令本身存在于指定的路径中。
2. 缺少依赖项:某些命令可能需要依赖其他文件或库才能正常执行。请检查是否缺少必要的依赖项,并确保它们存在于正确的位置。
3. 权限问题:如果您没有足够的权限来执行该命令,也会导致此错误。请确保您具有执行该命令所需的适当权限。
4. 环境变量问题:某些命令可能需要正确设置的环境变量才能正常执行。请检查您的环境变量设置是否正确。
请根据您的具体情况检查并解决上述问题。如果您能提供更多的上下文信息,我可以给出更具体的建议。
相关问题
*** Using Compiler '', folder: 'E:\Keil_v5\ARM\ARMCLANG\bin\' Build target 'nor_sdram_zf_dtcm' compiling isr.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\bin\\ArmCC" --via ".\objects\isr.__i"' compiling main.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\bin\\ArmCC" --via ".\objects\main.__i"' compiling zf_common_clock.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\bin\\ArmCC" --via ".\objects\zf_common_clock.__i"' compiling zf_common_fifo.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\bin\\ArmCC" --via ".\objects\zf_common_fifo.__i"' compiling zf_common_debug.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\bin\\ArmCC" --via ".\objects\zf_common_debug.__i"' compiling zf_common_function.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\bin\\ArmCC" --via ".\objects\zf_common_function.__i"' compiling zf_common_font.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\bin\\ArmCC" --via ".\objects\zf_common_font.__i"' compiling zf_common_interrupt.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\bin\\ArmCC" --via ".\objects\zf_common_interrupt.__i"' compiling zf_common_vector.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\bin\\ArmCC" --via ".\objects\zf_common_vector.__i"' compiling zf_driver_adc.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\bin\\ArmCC" --via ".\objects\zf_driver_adc.__i"' compiling zf_driver_csi.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\bin\\ArmCC" --via ".\objects\zf_driver_csi.__i"' compiling zf_driver_delay.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\bin\\ArmCC" --via ".\objects\zf_driver_delay.__i"' linking... .\Objects\rt1064.axf: Warning: L6914W: option ro-base ignored when using --scatter. .\Objects\rt1064.axf: Warning: L6914W: option rw-bas
<think>嗯,用户遇到了Keil v5编译时出现的CreateProcess失败的错误,特别是和ARMCC编译器相关的问题。我需要先理解这个错误的原因。根据提供的引用内容,看起来问题可能出在Keil版本更新后不再自带ARMCC Compiler version 5,所以找不到相关的编译器路径,导致fromelf.exe无法执行。用户可能是在尝试生成bin文件时遇到了这个问题,或者是在打开别人的工程时路径设置不正确。
首先,我需要确认用户是否安装了正确版本的ARM编译器。如果使用的是Keil 5.28以后的版本,默认可能换成了ARMCLANG而不是ARMCC,这时候需要单独安装ARM Compiler 5,或者调整工程设置。用户可能没有安装ARMCC,或者安装路径不对,导致Keil找不到fromelf.exe。
接下来,检查工程配置中的编译器选项是否正确。用户需要进入“Options for Target”中的“Target”选项卡,看看选择的编译器是不是ARMCC。如果这里设置的是ARMCLANG,而工程原本使用的是ARMCC,就会出错。这时候需要切换编译器,或者安装对应的编译器版本。
另外,生成bin文件时的用户命令配置也很重要。引用4提到在“User”选项卡下需要正确填写fromelf的路径和参数。如果路径不正确,或者工程中的axf文件路径有变化,就会导致CreateProcess失败。用户可能需要根据自己实际的安装路径和工程结构来调整这些命令,比如将路径中的C:\Keil_v5改为实际安装的位置,或者确认axf文件的位置是否正确。
还有可能是环境变量的问题,如果系统PATH中没有包含ARMCC的bin目录,Keil可能无法找到fromelf.exe。这时候需要手动添加环境变量,或者使用绝对路径来调用fromelf。
用户的引用3中提到修改工程中的路径为本地地址,这也是常见的解决方法。用户可能打开的工程是别人配置好的,里面的编译器路径指向了原作者的安装目录,而本地路径不同,导致找不到文件。这时候需要逐一检查工程设置中的路径,并替换为本地正确的路径。
总结一下,可能的解决步骤包括:安装ARM Compiler 5、调整工程中的编译器设置、检查用户命令中的路径是否正确、修改工程中的路径为本地路径,以及确保环境变量正确配置。需要引导用户一步步检查这些方面,确保每个配置项都指向正确的可执行文件和工程文件位置。
此外,用户可能在升级Keil后没有注意到编译器版本的变化,或者不知道如何正确配置ARMCLANG替代ARMCC。这时候可能需要指导用户如何迁移工程到新的编译器,或者安装旧版编译器以兼容现有工程。同时,提醒用户在打开他人工程时注意路径配置,避免直接使用他人的绝对路径导致的问题。</think>### 分步解决方案
#### **问题背景分析**
Keil v5在编译时出现`CreateProcess failed`错误,通常是由于编译器路径配置错误或缺失ARMCC编译器导致。根据引用内容[^1][^2][^3][^4],此问题常见于以下场景:
1. Keil版本≥5.28后未自带ARMCC Compiler 5
2. 工程中`fromelf.exe`路径与本地实际路径不匹配
3. 用户命令(User Command)参数配置错误
---
#### **解决方案步骤**
1. **检查ARMCC编译器安装状态**
- **安装ARM Compiler 5(若未安装)**
从ARM官网或Keil历史版本中获取`ARM Compiler 5`并安装到本地目录(如`C:\Keil_v5\ARM\ARM_Compiler_5.06u7`)。
- **验证安装路径**
确认安装目录下存在`fromelf.exe`(路径示例:`C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe`)[^1]。
2. **配置Keil工程编译器路径**
- 打开工程,进入`Options for Target > Target`选项卡
- 在`ARM Compiler`下拉菜单中选择`Use default compiler version 5`
(若未显示,需手动指定`ARMCC`路径)[^3]。
3. **修正用户命令(User Command)参数**
- 进入`Options for Target > User`选项卡
- 勾选`Run#1`,输入以下命令(根据实际路径调整):
```bash
C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ./Objects/Project.bin ./Objects/Project.axf
```
- `--output`后接生成的`.bin`文件路径
- 末尾需指向当前工程的`.axf`文件路径[^4]。
4. **手动修正工程路径(针对他人工程)**
- 若工程是从他人处获取,需将`fromelf.exe`路径中的原始路径(如`C:\Keil_v5`)替换为本机实际路径。
5. **验证环境变量**
- 确保系统环境变量`PATH`包含ARMCC的`bin`目录(如`C:\Keil_v5\ARM\ARMCC\bin`)[^2][^4]。
---
#### **补充说明**
- 如果使用ARMCLANG(新版编译器),需将工程迁移到ARMCLANG环境,避免依赖ARMCC。
- 若仍报错,尝试清理工程后重新编译,或检查`.axf`文件是否生成成功。
---
### 相关问题
1. 如何将Keil工程从ARMCC迁移到ARMCLANG?
2. 如何解决Keil编译时`.axf`文件缺失的问题?
3. ARMCC和ARMCLANG的主要区别是什么?
*** Using Compiler '', folder: 'E:\Keil_v5\ARM\ARMCLANG\Bin' Build target 'Target 1' compiling core_cm3.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\Bin\ArmCC" --via ".\objects\core_cm3.__i"' compiling system_stm32f10x.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\Bin\ArmCC" --via ".\objects\system_stm32f10x.__i"' compiling misc.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\Bin\ArmCC" --via ".\objects\misc.__i"' compiling stm32f10x_bkp.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\Bin\ArmCC" --via ".\objects\stm32f10x_bkp.__i"' compiling stm32f10x_adc.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\Bin\ArmCC" --via ".\objects\stm32f10x_adc.__i"' compiling stm32f10x_can.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\Bin\ArmCC" --via ".\objects\stm32f10x_can.__i"' compiling stm32f10x_cec.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\Bin\ArmCC" --via ".\objects\stm32f10x_cec.__i"' compiling stm32f10x_crc.c... *** Error: CreateProcess failed, Command: '"E:\Keil_v5\ARM\ARMCLANG\Bin\ArmCC" --via ".\objects\stm32f10x_crc.__i"' linking... .\Objects\test.axf: Error: L6967E: Entry point (0x08000000) points to a Thumb instruction but is not a valid Thumb code pointer. Finished: 0 information, 0 warning and 1 error messages. ".\Objects\test.axf" - 1 Error(s), 0 Warning(s). Target not created. Build Time Elapsed: 00:00:00
这个错误通常是因为编译器无法执行命令而导致的。这可能是由于编译器路径配置不正确或编译器文件损坏引起的。请尝试以下解决方法:
1. 确保编译器的路径配置正确。检查你使用的Keil软件中的编译器路径设置,确保指向正确的ARMCLANG文件夹。
2. 检查编译器文件是否完整且没有损坏。尝试重新安装或更新Keil软件,以确保编译器文件完整。
3. 重新启动计算机并尝试重新编译项目。有时候重新启动可以解决临时的问题。
如果以上方法都无法解决问题,请提供更多关于你的环境和项目设置的信息,以便我能够更好地帮助你解决问题。
阅读全文
相关推荐














