Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stable 20.3.x.rusefi clean history #33

Open
wants to merge 130 commits into
base: stable_20.3.x.rusefi
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
130 commits
Select commit Hold shift + click to select a range
313ea78
lis302dl: fix uninitialized
dron0gus Jan 9, 2021
9ab3752
Add UART Half-DMA transfer mode (#2)
andreika-git Jan 24, 2018
8d412f9
Fix Rusefi Simulato compilation
dron0gus Jan 10, 2021
c9bdab4
rusEfi lock/unlock hook
rusefillc Jan 28, 2019
0eb9633
MMC SPI: retry limit
rusefillc Sep 21, 2019
713cc56
Fix hooks
dron0gus Jan 10, 2021
969ecd0
small operation optimization
mck1117 Feb 15, 2021
ec8358c
comment
mck1117 Feb 16, 2021
c4ea154
backport fdcan driver
mck1117 Mar 9, 2021
46e63fb
All STM32F7xx have programmable CRC module
dron0gus Jul 5, 2021
c30e40f
h7 spi reset
mck1117 Sep 20, 2021
9575666
ifdef
mck1117 Sep 20, 2021
affbbfb
add lwip
mck1117 Oct 10, 2021
d6a3e45
backport h7 driver from master
mck1117 Oct 12, 2021
2441a0e
disable guard if interrupt handler disabled
mck1117 Nov 8, 2021
19898e8
Some MISRA-related fixes.
gdisirio Jan 9, 2022
8c47562
merge artifact - empty files
rusefillc Jan 16, 2022
105119a
https://github.com/rusefi/rusefi/issues/4115
rusefillc Aug 31, 2022
a9fbaff
Fixed bug #1212.
gdisirio Jan 22, 2022
b12a258
Fixed bug #1215.
gdisirio Jan 25, 2022
73a49ab
Reverted bug #1100.
gdisirio Jan 29, 2022
393b82f
Fixed bug #1220.
gdisirio Mar 13, 2022
aef9924
Fixed bug #1221.
gdisirio Mar 14, 2022
98d6b8a
Fixed bug #1100.
gdisirio Mar 14, 2022
540df06
Fixed bug #1223.
gdisirio Mar 14, 2022
e2cba94
Fixed bug #1224.
gdisirio Mar 14, 2022
febfeb5
Fixed bug #1225.
gdisirio Mar 16, 2022
3fa7ed7
Fixed bug #1226.
gdisirio Mar 16, 2022
f8846d1
Fixed bug #1227.
gdisirio Mar 18, 2022
bdfebbf
Fixed bug #1229.
gdisirio Mar 18, 2022
74ee453
Fixed bug #1230.
gdisirio Mar 18, 2022
1df854a
Fixed bug #1218.
gdisirio Mar 25, 2022
ff307bb
Fixed bug #1231.
gdisirio Apr 9, 2022
2a53ef2
Fixed minor problem with C++.
gdisirio Apr 24, 2022
2779d52
Fixed bug #1232.
gdisirio Apr 26, 2022
37683fe
Fixed a wrong preprocessor check.
gdisirio May 13, 2022
90de822
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_20.3.…
gdisirio May 22, 2022
f4339dc
Fixing an issue on IN ISOC errors handling.
gdisirio Jun 11, 2022
3fc4cbc
Typo.
gdisirio Jun 11, 2022
01f8cbc
check CAN isr
mck1117 Jul 2, 2022
6c65213
fix H7 CAN memory allocation
mck1117 Jul 25, 2022
eef3946
https://github.com/rusefi/rusefi/issues/4115
rusefillc Sep 2, 2022
1d29294
https://github.com/rusefi/rusefi/issues/4115
rusefillc Sep 2, 2022
5a0633f
why does it spinwait for subseconds?
mck1117 Sep 14, 2022
4f0ee12
CANv1: fix for GD32 devices
dron0gus Jul 19, 2022
600ebfe
LSE max wait patches for rusEFI
nmschulte Jan 7, 2023
deadc35
Artery AT32F4xx port
dron0gus May 29, 2023
066a657
Artery AT32F4xx port: update
dron0gus May 29, 2023
4fcf789
Artery AT32F4xx port: update clocks
dron0gus May 29, 2023
b15894f
AT-START-F435 demo project
dron0gus May 28, 2023
2601494
Scripts: helpers for OpenOCD and GDB
dron0gus May 29, 2023
ebe2fba
AT-START-F435 demo: fix pinmuxes
dron0gus May 29, 2023
519c42b
Fix SD1/USART1
dron0gus May 29, 2023
11b7cf2
AT-START-F435 demo: update, switch to 288Mhz
dron0gus May 30, 2023
f92d48f
Artery AT32F4xx port: update, cleanup
dron0gus May 30, 2023
06851f2
GHA CI for AT32
rusefillc May 31, 2023
2bbee81
port to 20
rusefillc May 31, 2023
86cacdf
port to 20 more
dron0gus May 31, 2023
d24b9f1
AT32F4xx: USB demo
dron0gus May 31, 2023
c39a274
Artery AT32F4xx port: USB clock settings
dron0gus May 31, 2023
c272d0c
AT-START-F435 board: fix OTG1 and OTG2 pinmuxes
dron0gus May 31, 2023
79c636d
USB demo update
dron0gus May 31, 2023
738d752
Artery AT32F4xx port: updates: gpio, otg, ldo
dron0gus May 31, 2023
d2d5bf9
AT-START-F435 board: update pinmuxes
dron0gus May 31, 2023
a33b2fc
GHA CI for testhal
rusefillc May 31, 2023
9a08015
port to 20
rusefillc May 31, 2023
d1e7007
fancy!
rusefillc May 31, 2023
2569430
upload-artifact
rusefillc Jun 1, 2023
3ceb780
progress
rusefillc Jun 1, 2023
9a1c8b6
i am lazy
Jun 2, 2023
7da110d
explicit message
Jun 4, 2023
8828372
Add ADC test
vishamaev Jun 6, 2023
b74e190
ADC GHA
Jun 7, 2023
9ac21cc
Add flashing script
dron0gus Jun 7, 2023
155eb66
AT32: USB_CDC: gdb scripts
dron0gus Oct 27, 2023
a2394a7
port: AT32: fix DMA support (DMAv1 from STM32 is reused)
dron0gus Oct 27, 2023
7f73c58
STM32: DMAv1: support for AT32 variant of DMA
dron0gus Oct 27, 2023
448b07c
STM32: ADCv2: integration with DMAv1 with MUX
dron0gus Oct 27, 2023
dbd86dc
port: AT32: ADC fix
dron0gus Oct 27, 2023
7927c78
AT32: USB_CDC_IAD: update mcuconf.h
dron0gus Oct 27, 2023
64a7efb
testhal: AT32: ADC: fixes for backport
dron0gus Oct 27, 2023
f1099e4
AT32: do not suppress IRQs
dron0gus Oct 29, 2023
6b87450
port: AT32: fix IRQ handler offsets and numbers
dron0gus Oct 29, 2023
95a93b9
port: at32: fix isr
dron0gus Oct 29, 2023
b1510d7
STM32: SPIv1: integration with DMAv1 with MUX
dron0gus Oct 29, 2023
c409658
Merge pull request #37 from dron0gus/artery-dev-backport
rusefillc Oct 29, 2023
3234650
at32: fix DBGMCU struct, FLASHSIZE and UID addresses
dron0gus Oct 30, 2023
53613dd
Merge pull request #38 from dron0gus/artery-dev-backport
dron0gus Oct 30, 2023
12889f8
avoid shadowing with build-in function
Nov 1, 2023
69aef36
AT_START_F435: update
dron0gus Oct 30, 2023
9b6fa57
port: AT32: implement EFL support
dron0gus Oct 30, 2023
b4debd2
testhal: EFL-MFS: move board-specific configuration to portab
dron0gus Nov 3, 2023
421ff88
testhal: EFL-MFS: add AT32 support
dron0gus Oct 30, 2023
e9d08d0
Merge pull request #39 from dron0gus/artery-dev-backport
rusefillc Nov 3, 2023
b3ae9ee
#ifdef STM32H7XX resetSpiDevice
Nov 4, 2023
df0e5e6
Artery: flash User System Data (USD) area
dron0gus Nov 11, 2023
89dac4b
Merge pull request #40 from dron0gus/artery-dev-backport
dron0gus Nov 11, 2023
6edf8e6
Readme: a bit about Artery AT32 port progress.
dron0gus Nov 18, 2023
f0e02f9
Separate Artery md
dron0gus Nov 18, 2023
8422976
Merge pull request #41 from dron0gus/artery-dev-backport
rusefillc Nov 18, 2023
ceb7481
Devices: ST: add LIS2DW12 accelerometer
dron0gus Dec 13, 2023
ad80e27
hal_mmc_spi: MMC_USE_MUTUAL_EXCLUSION config option backport
dron0gus Dec 13, 2023
1e252e5
hal_mmc_spi: optimization backport
dron0gus Dec 13, 2023
755857b
lsm303agr: check i2c bus status after i2cStart()
dron0gus Dec 13, 2023
13770b4
lsm303agr: do not release bus between two sequential accesses
dron0gus Dec 13, 2023
1cf5f0a
lsm303agr: prepare for SPI support
dron0gus Dec 13, 2023
240b3ca
lsm303agr: support SPI transport
dron0gus Dec 13, 2023
ce4ef6d
lsm303agr: check WHO_AM_I register on lsm303agrStart()
dron0gus Dec 13, 2023
f869830
Backport: Simplified FatFS bindings. Removed MMCSD experiment files.
dron0gus Dec 16, 2023
94130e8
Merge pull request #42 from dron0gus/accelerometers-mmc
rusefillc Dec 16, 2023
a7fe8b3
at32f4x.cfg: add proper flash banks
dron0gus Jan 13, 2024
80ed9d0
Merge pull request #43 from dron0gus/artery-dev-backport
dron0gus Jan 13, 2024
0a108b7
STM32: PWM: set 32bit mode bit in CR1 register for Artery devices
dron0gus Jan 14, 2024
a7a21a0
Merge pull request #44 from dron0gus/artery-dev-backport
dron0gus Jan 14, 2024
bc10e46
lis2dw12: fix buffer overflow
dron0gus Feb 11, 2024
f2e4bce
lis2dw12: check WHO_AM_I register first, release bus on error
dron0gus Feb 11, 2024
16394c1
lis302dl: check WHO_AM_I register
dron0gus Feb 11, 2024
66ca883
lsm303agr: check WHO_AM_I first, release bus if device is not detected
dron0gus Feb 11, 2024
354e29b
lis3dsh: check WHO_AM_I
dron0gus Feb 11, 2024
ee6f268
Merge pull request #45 from dron0gus/accel_fixes
dron0gus Feb 11, 2024
4209a8b
lis3dsh: fix 'msg' may be used uninitialized
dron0gus Feb 11, 2024
46c476f
Merge pull request #46 from dron0gus/accel_fixes
dron0gus Feb 11, 2024
a173d11
Fixed bug #1278.
dron0gus Jun 17, 2024
adeb3c3
STM32: USARTv1: improve baud rate calculation accuracity
dron0gus Jun 17, 2024
41625a9
Merge pull request #47 from dron0gus/uart-fixes
rusefillc Jun 17, 2024
4a2dcaa
https://github.com/rusefi/rusefi/issues/6781
Aug 8, 2024
b42ae7b
STM32: OTGv1: retry IRQ handling until all requests are handled
dron0gus Nov 3, 2024
1952236
os: serial_usb: allow asymmetrical buffer configuration
dron0gus Nov 3, 2024
02814b2
Artery: fix demo
dron0gus Nov 3, 2024
900fa76
Merge pull request #48 from dron0gus/stm32-otg-freeze
dron0gus Nov 3, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
58 changes: 58 additions & 0 deletions .github/workflows/build-AT32-eval.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Firmware at GHA

on: [ push, pull_request ]

jobs:
build-firmware:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

# Build machines don't have arm-none-eabi gcc, so let's download it and put it on the path
- name: Download & Install GCC
if: ${{ env.skip != 'true' }}
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
run: |
tools/provide_gcc.sh
echo "::add-path::`pwd`/gcc-arm-none-eabi/bin"

- name: 1. Compile AT32 USB testhal
run: |
cd testhal/AT32/AT32F4xx/USB_CDC_IAD
make -j

- name: Attach USB_CDC_IAD
if: always()
uses: actions/upload-artifact@v3
with:
name: USB_CDC_IAD binaries
path: testhal/AT32/AT32F4xx/USB_CDC_IAD/build/ch*.*

- name: 2. Compile AT32F435 demo
run: |
cd demos/STM32/RT-AT32F435-ARTERY144
make -j

- name: Attach RT-AT32F435-ARTERY144
if: always()
uses: actions/upload-artifact@v3
with:
name: RT-AT32F435-ARTERY144 binaries
path: demos/STM32/RT-AT32F435-ARTERY144/build/ch*.*

- name: 3. Compile AT32 ADC testhal
run: |
cd testhal/AT32/AT32F4xx/ADC
make -j

- name: Attach ADC
if: always()
uses: actions/upload-artifact@v3
with:
name: ADC binaries
path: testhal/AT32/AT32F4xx/ADC/build/ch*.*

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.dep
build
26 changes: 26 additions & 0 deletions artery.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
### Artery ###

This RusEFI fork of ChibiOS have some progress of porting ChibiOS to Artery
AT32 MCU. At least some testing wa done on AT32F435 base development board.

Current AT32 port mostly reuse STM32 hal drivers. Yes, AT32 is very similar
to SMT32 including register organization. But almost all registers and bits
inside registers have its own naming. While function of most of them are
same as on SMT32.

To keep STM32 drivers happy we decided to keep STM32 prefixes and register/
fields naming. Don't be confised.

Current AT32 status:
- os/hal/ports/AT32/AT32F4xx/ is added with basic support
- clock setup, IRQ mapping and startup is taken from similar STM32 chip,
adjusted and works. Few fixed (up to 288MHz CPU) recomended by DS PLL
settings defined and tested.
- UART is working, STM32 USARTv1 driver is reused.
- USB OTG is working (testhal/AT32/AT32F4xx/USB_CDC_IAD).
STM32 OTGv1 is reused.
- ADC + DMA is working. ADCv2 and DMAv1 from STM32 are reused.
DMAMUX sources are defined for AT32. DMA driver a bit adjusted for AT32
- EFL support is implemented for AT32 chips. See EFL-MFS demo in
testhal/STM32/multi/EFL-MFS
- more is comming
7 changes: 7 additions & 0 deletions demos/STM32/RT-AT32F435-ARTERY144/.gdbinit
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
target extended-remote localhost:3333
file build/ch.elf
#file build-openblt/openblt_microrusefi.elf
load
set breakpoint auto-hw on
set remote hardware-breakpoint-limit 8
set remote hardware-watchpoint-limit 4
189 changes: 189 additions & 0 deletions demos/STM32/RT-AT32F435-ARTERY144/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
##############################################################################
# Build global options
# NOTE: Can be overridden externally.
#

# Compiler options here.
ifeq ($(USE_OPT),)
USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
endif

# C specific options here (added to USE_OPT).
ifeq ($(USE_COPT),)
USE_COPT =
endif

# C++ specific options here (added to USE_OPT).
ifeq ($(USE_CPPOPT),)
USE_CPPOPT = -fno-rtti
endif

# Enable this if you want the linker to remove unused code and data.
ifeq ($(USE_LINK_GC),)
USE_LINK_GC = yes
endif

# Linker extra options here.
ifeq ($(USE_LDOPT),)
USE_LDOPT =
endif

# Enable this if you want link time optimizations (LTO).
ifeq ($(USE_LTO),)
USE_LTO = yes
endif

# Enable this if you want to see the full log while compiling.
ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
endif

# If enabled, this option makes the build process faster by not compiling
# modules not used in the current configuration.
ifeq ($(USE_SMART_BUILD),)
USE_SMART_BUILD = yes
endif

#
# Build global options
##############################################################################

##############################################################################
# Architecture or project specific options
#

# Stack size to be allocated to the Cortex-M process stack. This stack is
# the stack used by the main() thread.
ifeq ($(USE_PROCESS_STACKSIZE),)
USE_PROCESS_STACKSIZE = 0x400
endif

# Stack size to the allocated to the Cortex-M main/exceptions stack. This
# stack is used for processing interrupts and exceptions.
ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
USE_EXCEPTIONS_STACKSIZE = 0x400
endif

# Enables the use of FPU (no, softfp, hard).
ifeq ($(USE_FPU),)
USE_FPU = no
endif

# FPU-related options.
ifeq ($(USE_FPU_OPT),)
USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16
endif

#
# Architecture or project specific options
##############################################################################

##############################################################################
# Project, target, sources and paths
#

# Define project name here
PROJECT = ch

# Target settings.
MCU = cortex-m4

# Imported source files and paths.
CHIBIOS := ../../..
CONFDIR := ./cfg
BUILDDIR := ./build
DEPDIR := ./.dep

# Licensing files.
include $(CHIBIOS)/os/license/license.mk
# Startup files.
include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_at32f4xx.mk
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/ports/AT32/AT32F4xx/platform.mk
include $(CHIBIOS)/os/hal/boards/AT_START_F435/board.mk
include $(CHIBIOS)/os/hal/osal/rt-nil/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
# Auto-build files in ./source recursively.
include $(CHIBIOS)/tools/mk/autobuild.mk
# Other files (optional).
include $(CHIBIOS)/test/lib/test.mk
include $(CHIBIOS)/test/rt/rt_test.mk
include $(CHIBIOS)/test/oslib/oslib_test.mk

# Define linker script file here
LDSCRIPT= $(STARTUPLD)/AT32F435ZMxx.ld

# C sources that can be compiled in ARM or THUMB mode depending on the global
# setting.
CSRC = $(ALLCSRC) \
$(TESTSRC) \
main.c

# C++ sources that can be compiled in ARM or THUMB mode depending on the global
# setting.
CPPSRC = $(ALLCPPSRC)

# List ASM source files here.
ASMSRC = $(ALLASMSRC)

# List ASM with preprocessor source files here.
ASMXSRC = $(ALLXASMSRC)

# Inclusion directories.
INCDIR = $(CONFDIR) $(ALLINC) $(TESTINC)

# Define C warning options here.
CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes

# Define C++ warning options here.
CPPWARN = -Wall -Wextra -Wundef

#
# Project, target, sources and paths
##############################################################################

##############################################################################
# Start of user section
#

# List all user C define here, like -D_DEBUG=1
UDEFS =

# Define ASM defines here
UADEFS =

# List all user directories here
UINCDIR =

# List the user directory to look for the libraries here
ULIBDIR =

# List all user libraries here
ULIBS =

#
# End of user section
##############################################################################

##############################################################################
# Common rules
#

RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk
include $(RULESPATH)/arm-none-eabi.mk
include $(RULESPATH)/rules.mk

#
# Common rules
##############################################################################

##############################################################################
# Custom rules
#

#
# Custom rules
##############################################################################
Loading
Loading