Commit 2709258c authored by funshine's avatar funshine
Browse files

using esptool.py in all platform, fix makefile on windows

parent bc33967c
...@@ -29,6 +29,7 @@ ifeq ($(OS),Windows_NT) ...@@ -29,6 +29,7 @@ ifeq ($(OS),Windows_NT)
CPP = xtensa-lx106-elf-cpp CPP = xtensa-lx106-elf-cpp
OBJCOPY = xtensa-lx106-elf-objcopy OBJCOPY = xtensa-lx106-elf-objcopy
endif endif
FIRMWAREDIR = ..\\bin\\
ifeq ($(PROCESSOR_ARCHITECTURE),AMD64) ifeq ($(PROCESSOR_ARCHITECTURE),AMD64)
# ->AMD64 # ->AMD64
endif endif
...@@ -44,7 +45,7 @@ else ...@@ -44,7 +45,7 @@ else
NM = xtensa-lx106-elf-nm NM = xtensa-lx106-elf-nm
CPP = xtensa-lx106-elf-cpp CPP = xtensa-lx106-elf-cpp
OBJCOPY = xtensa-lx106-elf-objcopy OBJCOPY = xtensa-lx106-elf-objcopy
FIRMWAREDIR = ../bin/
UNAME_S := $(shell uname -s) UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux) ifeq ($(UNAME_S),Linux)
# LINUX # LINUX
...@@ -136,7 +137,7 @@ endef ...@@ -136,7 +137,7 @@ endef
$(BINODIR)/%.bin: $(IMAGEODIR)/%.out $(BINODIR)/%.bin: $(IMAGEODIR)/%.out
@mkdir -p $(BINODIR) @mkdir -p $(BINODIR)
../tools/esptool.py elf2image $< -o $(BINODIR)/ ../tools/esptool.py elf2image $< -o $(FIRMWAREDIR)
############################################################# #############################################################
# Rules base # Rules base
......
...@@ -72,27 +72,26 @@ ...@@ -72,27 +72,26 @@
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"> <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
<buildTargets> <buildTargets>
<target name="all" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> <target name="all" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
<buildCommand>${PWD}/gen_misc.bat</buildCommand> <buildCommand>make</buildCommand>
<buildArguments/> <buildArguments/>
<buildTarget>all</buildTarget> <buildTarget>all</buildTarget>
<stopOnError>true</stopOnError> <stopOnError>true</stopOnError>
<useDefaultCommand>false</useDefaultCommand> <useDefaultCommand>true</useDefaultCommand>
<runAllBuilders>true</runAllBuilders> <runAllBuilders>true</runAllBuilders>
</target> </target>
<target name="clean" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> <target name="clean" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
<buildCommand>make</buildCommand> <buildCommand>make</buildCommand>
<buildArguments/>
<buildTarget>clean</buildTarget> <buildTarget>clean</buildTarget>
<stopOnError>true</stopOnError> <stopOnError>true</stopOnError>
<useDefaultCommand>true</useDefaultCommand> <useDefaultCommand>true</useDefaultCommand>
<runAllBuilders>true</runAllBuilders> <runAllBuilders>true</runAllBuilders>
</target> </target>
<target name="flash" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> <target name="flash" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
<buildCommand>${PWD}/flash.bat</buildCommand> <buildCommand>make</buildCommand>
<buildArguments/> <buildArguments/>
<buildTarget/> <buildTarget>flash</buildTarget>
<stopOnError>true</stopOnError> <stopOnError>true</stopOnError>
<useDefaultCommand>false</useDefaultCommand> <useDefaultCommand>true</useDefaultCommand>
<runAllBuilders>true</runAllBuilders> <runAllBuilders>true</runAllBuilders>
</target> </target>
</buildTargets> </buildTargets>
......
...@@ -157,12 +157,18 @@ sinclude $(PDIR)Makefile ...@@ -157,12 +157,18 @@ sinclude $(PDIR)Makefile
# generate bin file # generate bin file
# #
ifeq ($(OS),Windows_NT)
PORT = com1
else
PORT = /dev/ttyUSB0
endif
$(BINODIR)/%.bin: $(IMAGEODIR)/%.out $(BINODIR)/%.bin: $(IMAGEODIR)/%.out
@mkdir -p $(BINODIR) @mkdir -p $(BINODIR)
../tools/esptool.py elf2image $< -o $(BINODIR)/ ../tools/esptool.py elf2image $< -o $(FIRMWAREDIR)
flash: flash:
../tools/esptool.py write_flash 0x00000 $(BINODIR)/0x00000.bin 0x10000 $(BINODIR)/0x10000.bin ../tools/esptool.py -p $(PORT) write_flash 0x00000 ../bin/0x00000.bin 0x10000 ../bin/0x10000.bin
.PHONY: FORCE .PHONY: FORCE
FORCE: FORCE:
#!/usr/bin/env python2.7 #!/usr/bin/env python
# #
# ESP8266 ROM Bootloader Utility # ESP8266 ROM Bootloader Utility
# https://github.com/themadinventor/esptool # https://github.com/themadinventor/esptool
...@@ -270,9 +270,12 @@ class ELFFile: ...@@ -270,9 +270,12 @@ class ELFFile:
return return
self.symbols = {} self.symbols = {}
try: try:
proc = subprocess.Popen(["xtensa-lx106-elf-nm", self.name], stdout=subprocess.PIPE) tool_nm = "xtensa-lx106-elf-nm"
if os.getenv('XTENSA_CORE')=='lx106':
tool_nm = "xt-nm"
proc = subprocess.Popen([tool_nm, self.name], stdout=subprocess.PIPE)
except OSError: except OSError:
print "Error calling xtensa-lx106-elf-nm, do you have Xtensa toolchain in PATH?" print "Error calling "+tool_nm+", do you have Xtensa toolchain in PATH?"
sys.exit(1) sys.exit(1)
for l in proc.stdout: for l in proc.stdout:
fields = l.strip().split() fields = l.strip().split()
...@@ -283,7 +286,10 @@ class ELFFile: ...@@ -283,7 +286,10 @@ class ELFFile:
return self.symbols[sym] return self.symbols[sym]
def load_section(self, section): def load_section(self, section):
subprocess.check_call(["xtensa-lx106-elf-objcopy", "--only-section", section, "-Obinary", self.name, ".tmp.section"]) tool_objcopy = "xtensa-lx106-elf-objcopy"
if os.getenv('XTENSA_CORE')=='lx106':
tool_objcopy = "xt-objcopy"
subprocess.check_call([tool_objcopy, "--only-section", section, "-Obinary", self.name, ".tmp.section"])
f = open(".tmp.section", "rb") f = open(".tmp.section", "rb")
data = f.read() data = f.read()
f.close() f.close()
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment