fome-fw/firmware
Matthew Kennedy cef6856f15 rename test binary 2023-04-11 16:26:15 -07:00
..
ChibiOS@d46398838e chibios 2023-02-28 00:23:07 -08:00
ChibiOS-Contrib@63b50e410c
bootloader use fixed number instead of nproc 2023-03-13 14:03:33 -07:00
config Auto-generated configs and docs 2023-04-11 19:04:42 +00:00
console Auto-generated configs and docs 2023-04-02 20:58:05 +00:00
controllers rename test binary 2023-04-11 16:26:15 -07:00
development dead stuff 2023-03-02 02:21:53 -08:00
docs enable LSE (via: LSE max wait patches) (#4944) 2023-02-12 16:01:03 -05:00
ext cmsis-svd replacement files 2023-03-02 01:26:33 -08:00
ext_algo Doxygen titles (#2728) 2021-05-22 22:10:58 +03:00
hw_layer not on h7 though 2023-03-24 16:45:55 -07:00
init Fix afr dropdown, switch AFR to sensor model (#62) 2023-03-09 11:25:30 -08:00
integration rpm limit hysteresis 2023-04-10 11:37:20 -07:00
libfirmware@163cee4279 extract newton's method 2023-03-07 00:47:02 -08:00
pch os_access.h dead? 2022-09-07 15:56:45 -04:00
tunerstudio Auto-generated configs and docs 2023-04-11 19:04:42 +00:00
util more slots 2023-03-31 23:11:52 -07:00
.cproject
.gitattributes
.gitignore simulator is happy! 2023-02-22 16:22:08 -08:00
CHANGELOG.md sensor checker wasn't checking sensors 2023-04-11 13:47:30 -07:00
CHANGELOG.rusefi.md move changelog to "old" changelog 2023-04-11 12:10:00 -07:00
Doxyfile cleanup 2023-02-20 20:28:23 -08:00
DoxygenLayout.xml
Makefile makefile cleaning 2023-04-10 11:22:49 -07:00
check.c
common.mk moving sensors files a bit 2023-02-20 21:21:03 -05:00
cov_config.bat
cov_run.bat
coverity.yml
egt2can.cpp poke 2023-02-02 21:50:02 -05:00
exception.txt
gen_config.bat
gen_config.sh that one had a custom name? 2023-02-21 11:11:07 -08:00
gen_config_board.bat
gen_config_board.sh don't print the date in generated files, rely on git for that 2023-03-15 11:46:49 -07:00
gen_config_common.sh use shared txt instead of parsing full rusefi_config (#59) 2023-03-02 11:52:36 -08:00
gen_config_default.sh fome-ify 2023-02-21 02:29:22 -08:00
gen_default_everything.sh
gen_enum_to_string.bat
gen_enum_to_string.sh enum to string 2023-02-20 20:36:50 -08:00
gen_live_documentation.bat
gen_live_documentation.sh
gen_ptrace_enums.bat rebranding 2023-03-17 15:29:35 -07:00
gen_signature.sh cleanup 2023-02-20 20:28:16 -08:00
gen_trigger_images.bat rename test binary 2023-04-11 16:26:15 -07:00
generate_docs.bat
generate_memory_usage_report.bat
generate_memory_usage_report.sh
get_performance_trace.bat rebranding 2023-03-17 15:29:35 -07:00
gitversion.mk simulator is happy! 2023-02-22 16:22:08 -08:00
global.h various crust 2023-03-03 02:20:51 -08:00
kill_for_coverity.c
main.cpp Happy New Year 2022-12-31 14:12:17 -05:00
main_hardfault.c
main_hardfault_asm.S
provide_gcc.sh cherry pick https://github.com/rusefi/rusefi/issues/5190 2023-03-21 11:03:41 -07:00
readme.md docs 2021-07-09 13:29:03 -04:00
release.md (es) 2023-04-11 16:21:35 -07:00
rusefi.cpp dead stuff 2023-03-02 02:21:53 -08:00
rusefi.h more f429 business (#4679) 2022-10-20 00:59:39 -04:00
rusefi.mk include after main rules so that deps exist 2023-02-22 15:58:15 -08:00
rusefi_pch.mk Compile each project's PCH to a separate file to reduce developer friction. (#3505) 2021-11-08 15:52:58 -05:00
rusefi_rules.mk
setup_linux_environment.sh

readme.md

Doxygen

Q&A on source code

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.