Browse Source

remove combinehex and erase target

update Readme
simmel
hathach 2 years ago
parent
commit
f097cae0cd
  1. 10
      Makefile
  2. 37
      README.md
  3. 2
      tools/build_all.py

10
Makefile

@ -305,7 +305,7 @@ $(info ASFLAGS $(ASFLAGS)) @@ -305,7 +305,7 @@ $(info ASFLAGS $(ASFLAGS))
$(info )
endif
.PHONY: all clean flash dfu-flash sd erase gdbflash gdb
.PHONY: all clean flash dfu-flash sd gdbflash gdb
# default target to build
all: $(BUILD)/$(OUT_FILE)-nosd.out $(BUILD)/$(MERGED_FILE).hex
@ -332,10 +332,6 @@ sd: @@ -332,10 +332,6 @@ sd:
@echo Flashing: $(SD_HEX)
$(NRFJPROG) --program $(SD_HEX) -f nrf52 --chiperase --reset
erase:
@echo Erasing chip
$(NRFJPROG) --eraseall -f nrf52
gdbflash: $(BUILD)/$(MERGED_FILE).hex
@echo Flashing: $<
@$(GDB_BMP) -nx --batch -ex 'load $<' -ex 'compare-sections' -ex 'kill'
@ -369,7 +365,7 @@ $(BUILD)/$(OUT_FILE)-nosd.out: $(BUILD) $(OBJECTS) @@ -369,7 +365,7 @@ $(BUILD)/$(OUT_FILE)-nosd.out: $(BUILD) $(OBJECTS)
@$(SIZE) $@
#------------------- Binary generator -------------------
.PHONY: genhex genpkg combinehex
.PHONY: genhex genpkg
## Create binary .hex file from the .out file
genhex: $(BUILD)/$(OUT_FILE)-nosd.hex
@ -379,8 +375,6 @@ $(BUILD)/$(OUT_FILE)-nosd.hex: $(BUILD)/$(OUT_FILE)-nosd.out @@ -379,8 +375,6 @@ $(BUILD)/$(OUT_FILE)-nosd.hex: $(BUILD)/$(OUT_FILE)-nosd.out
@$(OBJCOPY) -O ihex $< $@
# merge bootloader and sd hex together
combinehex: $(BUILD)/$(MERGED_FILE).hex
$(BUILD)/$(MERGED_FILE).hex: $(BUILD)/$(OUT_FILE)-nosd.hex
@echo CR $(MERGED_FILE).hex
@mergehex -q -m $< $(SD_HEX) -o $@

37
README.md

@ -105,9 +105,7 @@ both bootloader and the Nordic SoftDevice, you can freely upgrade/downgrade to a @@ -105,9 +105,7 @@ both bootloader and the Nordic SoftDevice, you can freely upgrade/downgrade to a
## How to compile and build
You should only continue if you are looking to develop bootloader for your own.
You must have have a J-Link available to "unbrick" your device.
### Option 1: Build with Makefile
You must have have a J-Link available to "unbrick" your device.
Prerequisites
@ -117,7 +115,7 @@ Prerequisites @@ -117,7 +115,7 @@ Prerequisites
To build:
```
make BOARD=feather_nrf52840_express all combinehex
make BOARD=feather_nrf52840_express all
```
To flash the bootloader with JLink:
@ -138,12 +136,6 @@ To flash SoftDevice (and chip erase): @@ -138,12 +136,6 @@ To flash SoftDevice (and chip erase):
make BOARD=feather_nrf52840_express sd
```
To erase all of flash:
```
make BOARD=feather_nrf52840_express erase
```
For the list of supported boards, run `make` without `BOARD=` :
```
@ -167,13 +159,11 @@ make: *** [_build/main.o] Error 127 @@ -167,13 +159,11 @@ make: *** [_build/main.o] Error 127
```
... you may need to pass the location of the GCC ARM toolchain binaries to `make` using
the variable `GNU_INSTALL_ROOT` as below:
the variable `CROSS_COMPILE` as below:
```
$ make GNU_INSTALL_ROOT=/opt/gcc-arm-none-eabi-9-2019-q4-major/bin/ BOARD=feather_nrf52832 all
$ make CROSS_COMPILE=/opt/gcc-arm-none-eabi-9-2019-q4-major/bin/arm-none-eabi- BOARD=feather_nrf52832 all
```
_Please note that the path needs a trailing path separator (a `/`)_
#### 2. `mergehex: No such file or directory`
Make sure that `mergehex` is available from the command-line. This binary is
@ -184,22 +174,3 @@ part of Nordic's nRF5x Command Line Tools. @@ -184,22 +174,3 @@ part of Nordic's nRF5x Command Line Tools.
Make sure that `nrfjprog` is available from the command-line. This binary is
part of Nordic's nRF5x Command Line Tools.
On POSIX-type systems you can temporarily add the path to `nrfjprog` via a
variation on the following command:
```
$ export PATH=$PATH:/location/of/nRF5x-Command-Line-Tools_9_7_2_OSX/nrfjprog
```
### Option 2: Build using Segger Embedded Studio
For easier debugging you can also use [SES](https://www.segger.com/products/development-tools/embedded-studio/).
The project file is located at `src/segger/Adafruit_nRF52_Bootloader.emProject`.
> **Note**: SES only flashes the bootloader when you click download, not the SoftDevice.
You need to flash the SoftDevice beforehand if you haven't already done so.
As mentioned above do something like:
```
make BOARD=feather_nrf52840_express sd
```

2
tools/build_all.py

@ -34,7 +34,7 @@ for board in all_boards: @@ -34,7 +34,7 @@ for board in all_boards:
os.makedirs(bin_directory, exist_ok=True)
start_time = time.monotonic()
make_result = subprocess.run("make -j 4 BOARD={} combinehex genpkg".format(board), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
make_result = subprocess.run("make -j 4 BOARD={} all genpkg".format(board), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
build_duration = time.monotonic() - start_time
flash_size = "-"

Loading…
Cancel
Save