Switch RTC to LSE clock if it is detected on start. It is not allowed to change source clock of RTC module on STM32. Source clock can be selected only once after reset of BKP module. If at first start LSE is failed FW will fallback to inaccurate LSI (internal RC). If Vbat is present RTC/BKP is not reset between restarts and RTC is never switched to more accurate LSE event if it is present. Implement fixup that will check for the LSE and switch RTC to LSE through BKP (RTC) module reset and new clock source selection. |
||
---|---|---|
.. | ||
ChibiOS@7cd95844ce | ||
ChibiOS-Contrib@63b50e410c | ||
bin | ||
bootloader | ||
config | ||
console | ||
controllers | ||
development | ||
docs | ||
ext | ||
ext_algo | ||
hw_layer | ||
init | ||
integration | ||
libfirmware@7eccf0fd40 | ||
live_data_generated | ||
pch | ||
scripts/linux | ||
tunerstudio | ||
util | ||
.cproject | ||
.gitattributes | ||
.gitignore | ||
.project | ||
CHANGELOG.md | ||
Doxyfile | ||
DoxygenLayout.xml | ||
Makefile | ||
build-notes.txt | ||
bundle.mk | ||
check_illegal_conversion.sh | ||
clean_build.bat | ||
common.mk | ||
common_libfirmware.mk | ||
compile_and_program.bat | ||
configuration_check.cpp | ||
cov_config.bat | ||
cov_run.bat | ||
coverity.yml | ||
docs_enums.mk | ||
dump.bat | ||
dump_release.bat | ||
exception.txt | ||
flash.bat | ||
flash_bin.bat | ||
flash_can.sh | ||
flash_dfu.bat | ||
flash_dfu.sh | ||
flash_dfu_bin.bat | ||
flash_dfu_erase.sh | ||
flash_dfu_openblt_only.sh | ||
flash_erase407.bat | ||
flash_erase407.sh | ||
flash_erase767.bat | ||
flash_erase_dfu.bat | ||
flash_openocd407.bat | ||
flash_openocd407.sh | ||
flash_openocd767.bat | ||
flash_openocd_h7.bat | ||
flash_reboot_dfu.bat | ||
flash_release.bat | ||
flash_uart.sh | ||
flash_usb.sh | ||
gcc_version_check.c | ||
gen_config.bat | ||
gen_config.sh | ||
gen_config_board.sh | ||
gen_config_common.sh | ||
gen_config_default.sh | ||
gen_default_everything.sh | ||
gen_enum_to_string.sh | ||
gen_live_documentation.sh | ||
gen_perf_trace_enum.sh | ||
gen_ptrace_enums.bat | ||
gen_signature.sh | ||
gen_trigger_images.bat | ||
generate_docs.bat | ||
generate_memory_usage_report.bat | ||
generate_memory_usage_report.sh | ||
get_performance_trace.bat | ||
global.h | ||
kill_for_coverity.c | ||
main.cpp | ||
provide_gcc.sh | ||
readme.md | ||
reboot_dfu.sh | ||
reboot_ecu.bat | ||
run_hw_test.bat | ||
rusefi.cpp | ||
rusefi.h | ||
rusefi.mk | ||
rusefi_config.mk | ||
rusefi_pch.mk | ||
rusefi_rules.mk | ||
send_command.bat | ||
setup_linux_environment.sh | ||
target_sentinel.mk |
readme.md
End users should be able to use pre-built firmware. They should not need to build or modify the source code. See https://github.com/rusefi/rusefi/wiki/Download
See also https://github.com/rusefi/rusefi/wiki/Dev-Quick-Start
Doxygen <<< landing page has best implementation introduction.
This directory contains the source code for the rusEFI embedded firmware.
TL;DR
make
Environment
Embedded firmware is build on top of https://www.chibios.org/ with plain Makefile gcc version 12 (See https://github.com/rusefi/rusefi/blob/master/.github/workflows/hardware-ci.yaml to confirm current GCC version)
Windows development is fully supported with Cygwin, WSL or Linux is recommended due to poor NTFS performance.
See also ../simulator
See also ../unit_tests