-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2884 from cesanta/examples
pilot move to new skeleton in examples
- Loading branch information
Showing
27 changed files
with
28 additions
and
918 deletions.
There are no files selected for viewing
48 changes: 13 additions & 35 deletions
48
examples/stm32/nucleo-f429zi-make-baremetal-builtin/Makefile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,51 +1,29 @@ | ||
CFLAGS = -W -Wall -Wextra -Werror -Wundef -Wshadow -Wdouble-promotion | ||
CFLAGS += -Wformat-truncation -fno-common -Wconversion -Wno-sign-conversion | ||
CFLAGS += -g3 -Os -ffunction-sections -fdata-sections | ||
CFLAGS += -I. -Icmsis_core/CMSIS/Core/Include -Icmsis_f4/Include | ||
CFLAGS += -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 $(CFLAGS_EXTRA) | ||
LDFLAGS ?= -Tlink.ld -nostdlib -nostartfiles --specs nano.specs -lc -lgcc -Wl,--gc-sections -Wl,-Map=$@.map | ||
|
||
SOURCES = main.c syscalls.c sysinit.c | ||
SOURCES += cmsis_f4/Source/Templates/gcc/startup_stm32f429xx.s # ST startup file. Compiler-dependent! | ||
|
||
# Mongoose options are defined in mongoose_config.h | ||
SOURCES += mongoose.c net.c packed_fs.c | ||
|
||
# Example specific build options. See README.md | ||
CFLAGS += -DHTTP_URL=\"http://0.0.0.0/\" | ||
|
||
ifeq ($(OS),Windows_NT) | ||
RM = cmd /C del /Q /F /S | ||
else | ||
RM = rm -rf | ||
endif | ||
BOARD = f429 | ||
IDE = GCC+make | ||
RTOS = baremetal | ||
WIZARD_URL ?= http://mongoose.ws/wizard | ||
|
||
all build example: firmware.bin | ||
|
||
firmware.bin: firmware.elf | ||
arm-none-eabi-objcopy -O binary $< $@ | ||
|
||
firmware.elf: cmsis_core cmsis_f4 $(SOURCES) hal.h link.ld | ||
arm-none-eabi-gcc $(SOURCES) $(CFLAGS) $(LDFLAGS) -o $@ | ||
firmware.bin: wizard | ||
make -C wizard CFLAGS_EXTRA=$(CFLAGS_EXTRA) && mv wizard/firmware.bin ./ | ||
|
||
flash: firmware.bin | ||
st-flash --reset write $< 0x8000000 | ||
wizard: | ||
hash=$$(curl -s -X POST -H "Content-Type: application/json" -d '{"build":{"board":"$(BOARD)","ide":"$(IDE)","rtos":"$(RTOS)"}}' $(WIZARD_URL)/api/hash | jq -r '.hash') \ | ||
&& curl -s $(WIZARD_URL)/api/zip/$(BOARD)/$(IDE)/$(RTOS)/$$hash -o wizard.zip | ||
unzip wizard.zip | ||
cd wizard ; rm mongoose.[ch] ; ln -s ../../../../mongoose.c ; ln -s ../../../../mongoose.h | ||
|
||
cmsis_core: # ARM CMSIS core headers | ||
git clone --depth 1 -b 5.9.0 https://github.com/ARM-software/CMSIS_5 $@ | ||
cmsis_f4: # ST CMSIS headers for STM32F4 series | ||
git clone --depth 1 -b v2.6.8 https://github.com/STMicroelectronics/cmsis_device_f4 $@ | ||
|
||
# Automated remote test. Requires env variable VCON_API_KEY set. See https://vcon.io/automated-firmware-tests/ | ||
DEVICE_URL ?= https://dash.vcon.io/api/v3/devices/2 | ||
update: firmware.bin | ||
curl --fail-with-body -su :$(VCON_API_KEY) $(DEVICE_URL)/ota --data-binary @$< | ||
|
||
test update: CFLAGS += -DUART_DEBUG=USART1 | ||
test update: CFLAGS_EXTRA ="-DUART_DEBUG=USART1" | ||
test: update | ||
curl --fail-with-body -su :$(VCON_API_KEY) $(DEVICE_URL)/tx?t=5 | tee /tmp/output.txt | ||
grep 'READY, IP:' /tmp/output.txt # Check for network init | ||
# grep 'MQTT connected' /tmp/output.txt # Check for MQTT connection success | ||
|
||
clean: | ||
$(RM) firmware.* *.su cmsis_core cmsis_f4 | ||
rm -rf firmware.* wizard* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1 @@ | ||
# Baremetal web device dashboard on NUCLEO-F429ZI | ||
|
||
See https://mongoose.ws/tutorials/stm32/all-make-baremetal-builtin/ | ||
See [Wizard](https://mongoose.ws/wizard/#/output?board=f429&ide=GCC+make&rtos=baremetal&file=README.md) |
164 changes: 0 additions & 164 deletions
164
examples/stm32/nucleo-f429zi-make-baremetal-builtin/hal.h
This file was deleted.
Oops, something went wrong.
29 changes: 0 additions & 29 deletions
29
examples/stm32/nucleo-f429zi-make-baremetal-builtin/link.ld
This file was deleted.
Oops, something went wrong.
72 changes: 0 additions & 72 deletions
72
examples/stm32/nucleo-f429zi-make-baremetal-builtin/main.c
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
11 changes: 0 additions & 11 deletions
11
examples/stm32/nucleo-f429zi-make-baremetal-builtin/mongoose_config.h
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
1 change: 0 additions & 1 deletion
1
examples/stm32/nucleo-f429zi-make-baremetal-builtin/packed_fs.c
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.