Firmware for a final year project.
Developed for an STM32F407VET6 board
with a 320x240 LCD(ILI9341) connected to its FSMC interface.
The GUI is developed using LVGL library.
The firmware is developed on Mbed platform.
A linux system(even WSL) with python and ARM toolchain and mbed-tools
installed.
Using mbedcli2
tool, run the following commands to deploy and build the project.
mbed-tools deploy . # to deploy
mbed-tools configure -m STM32F407VE_BLACK -t GCC_ARM # to configure
mbed-tools compile -m STM32F407VE_BLACK -t GCC_ARM # to build
This application supports ethernet communication between the PC and the Black_f407ve board. It is achieved through EmbeddedProto. This is added to the main application as a submodule, and a header file representing a proto file is generated using the following procedure
- Install the latest version of protobuf by downloading a prebuilt binary from protobuf official repo.
- Extract it in your path of choice e.g
~/protobuf/protoc-21.6/
- Run the EmbeddedProto setup script in its parent directory.
cd EmbeddedProto && python setup.py --include ~/protobuf/protoc-21.6/include
- Generated the source of your proto file using the following
source venv/bin/activate &&
protoc --plugin=protoc-gen-eams -I../proto --eams_out=../generated_src ../proto/eth_messages.proto
- The generated header file will be stored in the
generated_src
directory.
The generated binary image is located in build directory. Flash the image using the following command
st-flash <binary name>.bin 0x8000000 # requires stlink installed