我喜欢Qt Creator开发环境,现在需要使用Keil C51编译器/工具编译一些C代码。
是否可以将Qt Creator IDE与Keil C51工具配合使用?有人可以详细描述如何设置它吗?
OR - 是否可以与Qt Creator集成的另一个8052芯片编译器?
答案 0 :(得分:0)
我可以确认,我能够在Q51上使用QT。
我使用QT作为编辑。 和Keil C51一样编译。我用纯C(不是C ++)为STC微控制器编写程序。
我使用Windows Batch文件编译工作目录中的所有*.c
文件,然后将它们链接到一个hex文件中。然后我设置QT(项目 - >构建设置 - >构建步骤 - >自定义)以在构建阶段使用此批处理(不要忘记正确设置工作目录)。
Keil可以为特定项目生成批次(请参阅项目 - >目标选项 - >输出 - >创建批处理文件)。然后如上所述在QT中使用此文件。
这种方式的主要缺陷是 - 当您更改项目配置或向项目添加新文件时,您需要从Keil重新生成批处理。
使用Keil生成的批处理,我写了自己的Bath,它没有上述的缺陷。
我认为使用Makefile比Batch更好,因为它在编译过程中为QT提供了更多的控制和错误信息。但是我没有"在货架上#34;现在的例子。
简而言之,这批:
*.c
文件调用编译器
*.obj
列表并调用链接器以获取二进制格式的固件映像列表:
REM "Folders"
SET C51FLDR=d:\Keil\C51
SET OUTFLDR=.\Objects
SET LSTFLDR=.\Listings
SET HEXNAME=PREP_FIRMWARE
SET C51INC=%C51FLDR%\Inc;%C51FLDR%\Inc\STC
SET C51LIB=%C51FLDR%\Lib
REM "Variables"
SET C51EXE=%C51FLDR%\BIN\C51.EXE
SET C51LNK=%C51FLDR%\BIN\BL51.EXE
SET C51HEX=%C51FLDR%\BIN\OH51.EXE
set OBJLIST=
REM "Defines"
SET CPU_TYPE=STC15W408S
SET CPU_VENDOR=STC
SET UV2_TARGET=Target 1
SET CPU_XTAL=0x02160EC0
SET SETTINGS="COMPACT ROM(COMPACT) OPTIMIZE (9,SIZE) BROWSE DEBUG OBJECTEXTEND LISTINCLUDE SYMBOLS TABS (2)"
echo ===================== Compile =====================
for %%f in (*.c) do (
echo %errorlevel%
setlocal EnableDelayedExpansion
%C51EXE% %%f %SETTINGS% "PRINT(%LSTFLDR%\%%~nf.lst) OBJECT(%OUTFLDR%\%%~nf.obj)"
if !errorlevel! neq 0 exit /b !errorlevel!
)
echo ===================== Link =====================
call :obj_list
echo %OBJLIST%
%C51LNK% %OBJLIST% TO "%OUTFLDR%\%HEXNAME%" PRINT("%LSTFLDR%\%HEXNAME%.m51") RAMSIZE(256)
echo %errorlevel%
if %errorlevel% GTR 1 exit /b %errorlevel%
echo ===================== Hex =====================
%C51HEX% "%OUTFLDR%\%HEXNAME%"
if %errorlevel% neq 0 exit /b %errorlevel%
echo ==========================================
echo Build Success
echo ==========================================
goto :eof
:obj_list
for %%f in (.\Objects\*.obj) DO call :concat %%f
set OBJLIST=%OBJLIST:~0,-1%
goto :eof
:concat
set OBJLIST=%OBJLIST%"%1",
goto :eof
答案 1 :(得分:0)
现在,可以将 QtCreator 与 Qbs 一起使用(自 1.15 起)。此外,还可以将 VSCode 与 Qbs 扩展一起使用。