* Makefile: define BOOTLOADER=1 for linker in case of OpenBLT too This will reserve first 32K of flash for bootloader. * OpenBLT: include into build * board: subaru eg33: add OpenBLT board code * board: subaru eg33: use OpenBLT * Board: Subaru EG33: OpenBLT: reuse HAL and CMSIS from OpenBLT submodule * Board: Subaru EG33: OpenBLT: reuse linker file from OpenBLT too * OpenBLT for MRE * OpenBLT: MRE: adjust LD memory map for smallest variat of MCU on MRE * OpenBLT: enable for MRE * OpenBLT: disable CRC check of user application This allows us to use DFU tool to flash main application too. * hex2dfu: fresh binary for linux * OpenBLT: extract common part of OpenBLT makefiles to openblt.mk * OpenBLT: enable CRC check of user application for MRE and EG33 CRC (actually just a summ) of few first vectors is stored at 0x1c offset. This is reserved vector for Cortex-M3, M4 and M7 * common_make: append OpenBLT CRC to dfu files This should allow to use DFU to do main application update when when OpenBLT is used as bootloader. hex2dfu will store same styled CRC as OpenBLT expects to see in user app. * OpenBLT reorganization Move common stuff to hw_layer/ports/ * OpenBLT: proteus * Proteus: enable OpenBLT for F4 and F7 Compilation tested only |
||
---|---|---|
.. | ||
ChibiOS@8bae576fdd | ||
ChibiOS-Contrib@fe3cdf8314 | ||
bootloader | ||
config | ||
console | ||
controllers | ||
development | ||
docs | ||
ext | ||
ext_algo | ||
hw_layer | ||
init | ||
integration | ||
pch | ||
tunerstudio | ||
util | ||
.cproject | ||
.gitattributes | ||
.gitignore | ||
.project | ||
CHANGELOG.md | ||
Doxyfile | ||
DoxygenLayout.xml | ||
Makefile | ||
build-notes.txt | ||
clean.bat | ||
clean.sh | ||
clean_build.bat | ||
clean_compile_two_versions.bat | ||
clean_compile_two_versions.sh | ||
compile.bat | ||
compile_and_program.bat | ||
cov_config.bat | ||
cov_run.bat | ||
coverity.yml | ||
dump.bat | ||
dump_release.bat | ||
egt2can.cpp | ||
exception.txt | ||
flash.bat | ||
flash_dfu.bat | ||
flash_dfu.sh | ||
flash_erase407.bat | ||
flash_erase407.sh | ||
flash_erase767.bat | ||
flash_openocd407.bat | ||
flash_openocd407.sh | ||
flash_openocd767.bat | ||
flash_openocd_h7.bat | ||
flash_reboot_dfu.bat | ||
flash_release.bat | ||
gen_config.bat | ||
gen_config.sh | ||
gen_config_board.bat | ||
gen_config_board.sh | ||
gen_config_common.sh | ||
gen_config_default.sh | ||
gen_enum_to_string.bat | ||
gen_enum_to_string.sh | ||
gen_firing_order.bat | ||
gen_fsio_example.bat | ||
gen_fsio_example_reverse.bat | ||
gen_live_documentation.bat | ||
gen_live_documentation.sh | ||
gen_live_documentation_one_file.sh | ||
gen_ptrace_enums.bat | ||
gen_signature.sh | ||
gen_system_fsio.bat | ||
gen_trigger_images.bat | ||
generate_docs.bat | ||
generate_memory_usage_report.bat | ||
get_performance_trace.bat | ||
global.h | ||
globalaccess.h | ||
kill_for_coverity.c | ||
license.txt | ||
main.cpp | ||
main_hardfault.c | ||
make4.bat | ||
openblt.mk | ||
os_access.h | ||
readme.md | ||
reboot_ecu.bat | ||
run_hw_test.bat | ||
rusefi.cpp | ||
rusefi.h | ||
rusefi.mk | ||
rusefi_pch.mk | ||
rusefi_rules.mk | ||
setup_linux_environment.sh | ||
svnversion.h | ||
update_version.bat | ||
update_version.sh | ||
version_check.h |
readme.md
See also ../unit_tests
This directory contains the source code for the RusEFI firmware.
The ideal is that typical end users should be able to use pre-built firmware. They should not need to modify or even rebuild from the source code for basic use, but building from the source code provides the opportunity for optimization, supporting unexpected engine configurations, and specialized enhancements.
TL;DR
make PROJECT_BOARD=microrusefi PROJECT_CPU=ARCH_STM32F4
Environment
Rebuilding from source code requires this firmware, a modern C/C++ compiler for embedded ARM systems, and a platform that supports 'make' based builds.
See setup_linux_environment.sh
While many compilers have the potential to work, we suggest using the official ARM version of GCC available at launchpad.net.
Linux and MacOS systems should have the software development tools, primarily 'make', pre-installed or readily installed. MS-Windows requires selecting and installing a Unix-compatible system environment.
Note that the developers are volunteers, with varied motivations. These motivations often include using leading-edge language and build system concepts, requiring recent versions of tools. Should you encounter build problems, review the latest version of this document.