mirror of
https://github.com/apache/nuttx.git
synced 2025-01-13 06:18:40 +08:00
tools: Add Raspberry Pi Pico post build tool to create uf2 binary
This commit is contained in:
parent
b753eeabf1
commit
6b83f6a8fe
3 changed files with 73 additions and 0 deletions
1
tools/rp2040/.gitignore
vendored
Normal file
1
tools/rp2040/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/elf2uf2
|
37
tools/rp2040/Config.mk
Normal file
37
tools/rp2040/Config.mk
Normal file
|
@ -0,0 +1,37 @@
|
|||
############################################################################
|
||||
# tools/rp2040/Config.mk
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership. The
|
||||
# ASF licenses this file to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance with the
|
||||
# License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
# These are the macros that will be used in the NuttX make system to compile
|
||||
# and assembly source files and to insert the resulting object files into an
|
||||
# archive. These replace the default definitions at tools/Config.mk
|
||||
|
||||
# POSTBUILD -- Perform post build operations
|
||||
|
||||
ifeq ($(CONFIG_RP2040_UF2_BINARY),y)
|
||||
|
||||
define POSTBUILD
|
||||
$(Q)echo "Generating: nuttx.uf2"; \
|
||||
|
||||
+$(Q) $(MAKE) -C $(TOPDIR)$(DELIM)tools$(DELIM)rp2040 -f Makefile.host
|
||||
tools$(DELIM)rp2040$(DELIM)elf2uf2$(HOSTEXEEXT) nuttx nuttx.uf2;
|
||||
$(Q)([ $$? -eq 0 ] && echo nuttx.uf2 >> nuttx.manifest && echo "Done.")
|
||||
endef
|
||||
|
||||
endif
|
35
tools/rp2040/Makefile.host
Normal file
35
tools/rp2040/Makefile.host
Normal file
|
@ -0,0 +1,35 @@
|
|||
############################################################################
|
||||
# tools/rp2040/Makefile.host
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership. The
|
||||
# ASF licenses this file to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance with the
|
||||
# License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
all: elf2uf2
|
||||
default: elf2uf2
|
||||
.PHONY: clean
|
||||
|
||||
# Add CFLAGS=-g on the make command line to build debug versions
|
||||
|
||||
CFLAGS = -O2
|
||||
CFLAGS += -I$(PICO_SDK_PATH)/src/common/boot_uf2/include
|
||||
|
||||
elf2uf2: $(PICO_SDK_PATH)/tools/elf2uf2/main.cpp
|
||||
@g++ $(CFLAGS) -o $@ $<
|
||||
|
||||
clean:
|
||||
@rm -f *.o *.a *.dSYM *~ .*.swp
|
||||
@rm -f elf2uf2 elf2uf2.exe
|
Loading…
Reference in a new issue