soma 发表于 2024-5-8 12:49:20

c51生成obj文件,bl51对obj编译,最后oh51生成hex

durongze 发表于 2024-5-8 18:38:09

kksk 发表于 2024-5-8 12:23
Keil C51不清楚,但是SDCC和gcc类似,先sdcc生成ihx文件,再packihx转成hex文件

F:\stc\STC32G-DEMO\03-7Segment\C>F:\program\KeilC51\C251\BIN\C251.EXE @main.__i

F:\stc\STC32G-DEMO\03-7Segment\C>F:\program\KeilC51\C251\BIN\L251.EXE @sample.lnp

F:\stc\STC32G-DEMO\03-7Segment\C>F:\program\KeilC51\C251\BIN\OH251.EXE sample H386 RANGE (0 - 0xFFFFFF)

F:\stc\STC32G-DEMO\03-7Segment\C>dir /b
build_stc.bat
main.c
sample.build_log.htm
sample.uvgui.du
sample.uvopt
sample.uvproj
功能说明.txt
----------------------
我本来是想弄清楚具体应该怎么编译,原理这个我知道的。
----------------------
上面是我后来弄清楚的具体命令,这个已经确定了。
不过应该少了步骤,具体少了哪一步还没弄清楚。
不过上面的命令很奇怪,还得进一步分析。

durongze 发表于 2024-5-8 22:42:17

soma 发表于 2024-5-8 12:49
c51生成obj文件,bl51对obj编译,最后oh51生成hex

嗯,这个是原理。

21cnsound 发表于 2024-8-6 11:28:28

durongze 发表于 2024-5-8 18:38
F:\stc\STC32G-DEMO\03-7Segment\C>F:\program\KeilC51\C251\BIN\C251.EXE @main.__i

F:\stc\STC32G-DEM ...

C51和C251是一样的方法,命令行下运行:
SET C251INC=D:\C251\INC
SET C251LIB=D:\C251\LIB

D:\C251\C251.exe main.c
D:\C251\L251.exe main.obj
D:\C251\OH251 main hex

21cnsound 发表于 2024-8-6 11:30:31

更多细节可以看https://www.stcaimcu.com/forum.php?mod=viewthread&tid=8320&highlight=%E5%91%BD%E4%BB%A4%E8%A1%8C&page=1&extra=#pid78486

durongze 发表于 2024-8-13 18:25:17

21cnsound 发表于 2024-8-6 11:30
更多细节可以看https://www.stcaimcu.com/forum.php?mod=viewthread&tid=8320&highlight=%E5%91%BD%E4%BB%A ...

你的没写步骤啊,就设置个变量就完事了。{:funk:}

21cnsound 发表于 2024-8-13 19:04:33

durongze 发表于 2024-8-13 18:25
你的没写步骤啊,就设置个变量就完事了。

命令就三条,你试试就知道了。

21cnsound 发表于 2024-8-13 19:11:45

durongze 发表于 2024-8-13 18:25
你的没写步骤啊,就设置个变量就完事了。

F:\stc\STC32G-DEMO\03-7Segment\C>F:\program\KeilC51\C251\BIN\C251.EXE @main.__i       -----main.--i文件就是个文本文件,里面是c文件名及参数,可以直接写到C251.exe命令后面

F:\stc\STC32G-DEMO\03-7Segment\C>F:\program\KeilC51\C251\BIN\L251.EXE @sample.lnp-------------sample.lnp文件就是个文本文件,里面是obj文件名及参数,可以直接写到L251.exe命令后面

F:\stc\STC32G-DEMO\03-7Segment\C>F:\program\KeilC51\C251\BIN\OH251.EXE sample H386 RANGE (0 - 0xFFFFFF)

以下文件,命令行编译时不需要
sample.build_log.htm
sample.uvgui.du
sample.uvopt
sample.uvproj
功能说明.txt


这下清楚了没?

durongze 发表于 2024-8-14 07:22:43

21cnsound 发表于 2024-8-13 19:11
F:\stc\STC32G-DEMO\03-7Segment\C>F:\program\KeilC51\C251\BIN\C251.EXE @main.__i       -----main.-- ...

感谢大佬啊。。。。 {:loveliness:}。各位小伙伴,没跟上的赶紧学习。

durongze 发表于 2024-8-14 07:24:04

21cnsound 发表于 2024-8-6 11:28
C51和C251是一样的方法,命令行下运行:
SET C251INC=D:\C251\INC
SET C251LIB=D:\C251\LIB


{:titter:}   会啦,谢谢大佬。
页: 1 [2] 3
查看完整版本: 官方给的例子里面源文件只有一个sample.c的话, 命令行下如何生成hex呢?