Commit Graph

161 Commits

Author SHA1 Message Date
Matthew Kennedy 0c0dca00b6 run openblt on its own thread 2025-03-17 02:23:00 -07:00
Matthew Kennedy 7d9bb7f42d always call sd bootloader 2025-03-17 02:16:52 -07:00
Matthew Kennedy bb555c95a3 bootloader calls pre hal init 2025-03-17 02:14:58 -07:00
Matthew Kennedy 561a206e23 experimental SD card bootloader 2025-03-17 01:44:45 -07:00
Matthew Kennedy e776b20584 add openblt AssertFailure 2025-03-17 01:17:10 -07:00
Matthew Kennedy ea1f9914de
enable F7/H7 double precision (#559) 2025-02-17 01:38:51 -08:00
Matthew Kennedy 02440ff303 disable/reset the MPU leaving openblt 2025-02-17 00:55:38 -08:00
Matthew Kennedy dcfc53159e
enable stack guard on F7 (#549)
* enable stack guard on F7

* enable stack check on bootloader
2025-02-13 00:02:34 -08:00
Matthew Kennedy 047c6a4445 print modules_inc for bootloader too 2025-01-10 18:45:10 -08:00
Matthew Kennedy 1a7ca80f9e GPIO_NULL, EFI_ERROR_CODE 2024-12-28 15:07:29 -08:00
Matthew Kennedy ff5e47c95d
Engine modules participate in the build system (#452)
* infrastructure for engine modules in the build

* fully move fuel pump

* fan

* gear detector

* gear detect

* fan control cleanup

* trip odometer

* shuffle makefiles around a little

* minor format
2024-07-23 18:05:43 -07:00
Matthew Kennedy 43d4f4f92b
don't let openblt erase itself (#401) 2024-04-14 11:31:39 -07:00
Matthew Kennedy a9d47da54e make clean deletes generated 2024-03-15 01:06:00 -07:00
Matthew Kennedy a08ca86d2e bootloader tolerates missing pins 2024-03-13 00:59:06 -07:00
Matthew Kennedy f9a4ca85a1 cherry picks from #385 2024-03-13 00:54:56 -07:00
Matthew Kennedy e5fb7f7f3f
gen config with make (#363) 2024-02-22 10:58:03 -08:00
Matthew Kennedy 1a0ef4fbff
put compilers in a submodule (#360)
* add compiler submodule

* use compiler from git if not found on path

* add todo

* select darwin vs. linux properly

* update submodule for darwin compiler

* match formatting

* hide stray ramdisk images

* lfs: true

* lfs in the right spot?

* console doesn't need lfs

* all builds that touch self hosted server can use lfs

* don't ever bother trying to use the installed compiler

* simplify and print a little more info

* remove old submodule

* add build tools submodule

* fix path

* we don't need lfs

* no need to test compiler

* set a branch

* allow passing compiler, auto-submodule if missing

* missing endif
2024-02-13 14:44:15 -08:00
Matthew Kennedy f3b335fe8d
all generated files in one dir (#348)
* delete existing generated source files

* ignore new generated dir

* move all the generated files

* cleanup

* jars

* makefile

* bootloader

* simulator+tests
2024-01-17 14:25:00 -08:00
Matthew Kennedy 996a0c0630 fix reboot-to-dfu 2023-12-25 11:48:38 -08:00
Matthew Kennedy 34061103ff dead bin2header 2023-11-25 00:32:52 -08:00
Matthew Kennedy 87c2a67645 use FLASH_BASE instead of completely magic numbers 2023-11-02 12:45:21 -07:00
Matthew Kennedy 0ec79437e6 cover H7 too 2023-11-02 12:42:50 -07:00
Matthew Kennedy f60594f6d2 more F7 cache misbehavior 2023-11-02 12:41:08 -07:00
Matthew Kennedy e5a751e3b1
remove ccache (#288) 2023-11-02 11:28:14 -07:00
Matthew Kennedy 19b6222d98
enable f7 openblt (#230)
* enable f7 openblt

* replace __core_init with one that doesn't set up cache

* MRE F7 too
2023-11-02 02:32:30 -07:00
Matthew Kennedy 0bedacc298
bootloader checksum (#279)
* blindly implement checksum

* extra erase of checksum page

* don't need to write the sum ourselves

* maybe implement bootloader crc correctly

* minus is not plus

* modify build script to properly embed checksum

* cleanup

* use lma instead of vma

* implement bootloader blinky

* stub firmwareError

* static blinky
2023-11-02 02:16:56 -07:00
Matthew Kennedy feb900b94a
move bootloader files (#277)
* move bootloader files

* minor cleanups

* makefile
2023-10-31 18:13:16 -07:00
Matthew Kennedy 17570a4819 probably fix hellen openblt 2023-10-03 19:01:58 -07:00
Matthew Kennedy cef93b1c48 s 2023-08-27 16:44:01 -07:00
Matthew Kennedy f98cc33ae5 oops that doesn't work 2023-08-27 16:25:20 -07:00
Matthew Kennedy ba78401609 dynamic bootloader size 2023-08-27 16:07:26 -07:00
Matthew Kennedy 5813c20a32
OpenBLT-based USB serial bootloader (#228)
* flash layout

* bootloader builds

* output name

* hard fp

* strip out dfu

* bootloader gets hardfault

* loader gets USB but not MSD

* kinda usb?

* USB enumerates!

* cleanup

* shared params

* nonfunctional openblt

* stub flash

* flash.h

* openblt responds over USB!

* implement flash driver

* blt conf, linker

* boards no longer need specific openblt files

* no ccache

* common_make.sh

* cleanup

* delete bootloader crust

* simplifying linker logic

* script tweaks

* flash layout is handled entirely by FOME flash driver

* simplify memcpy

* format

* comment

* dead

* makefiles cleanup

* cleanup

* h7 linker script for bootloader

* h7 bootloader build

* build script
2023-08-27 10:30:02 -07:00
Matthew Kennedy d6534157a0 rename obd_code_e -> ObdCode 2023-04-11 16:32:47 -07:00
Matthew Kennedy 556a04b8d4 use fixed number instead of nproc 2023-03-13 14:03:33 -07:00
Matthew Kennedy aa48077d58 dead stuff 2023-03-02 02:21:53 -08:00
Matthew Kennedy 07b2f1b783 include after main rules so that deps exist 2023-02-22 15:58:15 -08:00
Matthew Kennedy 72acb81682 fome-ify 2023-02-21 02:29:22 -08:00
Matthew Kennedy 61c17791b8 joystick, lcd 2023-02-20 21:54:10 -08:00
Matthew Kennedy cc6cadfdd6 deduplicate $(BOARD_DIR) in makefiles (#5024)
* calculate BOARD_DIR exactly once

* deduplicate board scripts

* unit tests

* make passes variables to openblt build properly

* was this an intentional omission?

* s

* prometheus

* prometheus
2023-02-01 14:41:27 -05:00
David Holdeman 79b146c5ed remove clean_env_variables script (#5012) 2023-01-28 19:55:40 -05:00
rusefillc 9067282c80 Default binary should have more relaxed pinout: serial fix #4998
ohh unexpected consequences
2023-01-23 08:38:10 -05:00
rusefillc 3aa9ffca60 Refactoring: less confusion macro names around serial/uart/etc in connectivity #4999 2023-01-23 05:09:32 -05:00
Matthew Kennedy de9ab76a31 gcc 10 (#4641)
* scripts

* change check version

* disable inlining

* all the spots

* it's funny that this works with the wrong file extension

* bootloader

* hardware ci runs gcc 10
2022-10-18 22:30:16 -04:00
rusefillc 10298e9365 not used by BL? 2022-09-05 18:48:02 -04:00
rusefillc 573ddbfab2 +x 2022-09-05 18:39:06 -04:00
Matthew Kennedy 5fc7000834 Pt2001 module (#4396)
* pt2001 uses module

* read flag0

* c

* libfirmware

* makefiles

* are unit tests happy?

* bootloader
2022-08-08 08:53:08 -04:00
Matthew Kennedy cd98ad35c2 use libfirmware for a few things (#4351)
* use libfirmware

* unit tests

* crc

* missed one

* bootloader
2022-07-16 02:22:51 -04:00
Matthew Kennedy a2e1a079b8 allow enum_class in rusefi_hw_enums.h (#4104)
* make things c++ friendly

* install various canaries in coal mines

* using is much clearer than typedef

* fixing builds

* lps25

* trigger includes were a mess

* c -> c++ cleanup

* os util

* why did so many include os_util.h?

* fwd declare

* cypress/kinetis

* s

* eg33 happy

* happy sim

* cypress usb

* pch

* cypress

* doesn't need to include all that

* h7
2022-04-25 20:38:16 -04:00
rusefillc 6823d15398 more copy-pasta :( 2022-02-06 22:00:49 -05:00
rusefillc 2dd4929def 407 eeprom (#3896)
* I2C EEPROM support #3860

enable

* I2C EEPROM support #3860

fresh contib

* I2C EEPROM support #3860

fresh contib

* I2C EEPROM support #3860

BL gives us extra pain

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-02-05 15:57:11 -05:00