iabdalkader
5d659dccec
ports/alif: Fix and enable Alif HW CRC32.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-26 10:26:45 +02:00
Ibrahim Abdelkader
7f439f56de
Merge pull request #2860 from openmv/update_crc_code
...
🔎 Check Code Formatting / formatting-check (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_GIGA) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_33_BLE_SENSE) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_NANO_RP2040_CONNECT) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_NICLA_VISION) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, ARDUINO_PORTENTA_H7) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, DOCKER) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV2) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV3) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV4) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV4P) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMVPT) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV_AE3) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / build-firmware (0, OPENMV_RT1060) (push) Waiting to run
🔥 Firmware Build / build-firmware (1, OPENMV_N6) (push) Waiting to run
🔥 Firmware Build / code-size-report (push) Blocked by required conditions
🔥 Firmware Build / stable-release (push) Blocked by required conditions
🔥 Firmware Build / development-release (push) Blocked by required conditions
common: Update crc code.
2025-09-25 19:15:12 +03:00
iabdalkader
9704ed8c62
ports/alif: Add support for CRC32.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-25 18:05:57 +02:00
iabdalkader
90dde3289e
ports/alif: Poll events in spi_transfer.
...
Lengthy SPI transfers could block for a very long time.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-25 16:05:48 +02:00
iabdalkader
cec54bab3e
ports/stm32: Add support for CRC32.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-25 09:49:23 +02:00
iabdalkader
c9a80dee96
ports/mimxrt: Define Open-AMP build flags.
...
Fixes an issue with mp_state_vm_t size.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-22 13:53:39 +02:00
iabdalkader
053657ecbc
ports/alif: Define Open-AMP build flags.
...
Fixes an issue with mp_state_vm_t size.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-22 13:43:43 +02:00
iabdalkader
01113ebee9
stm32: Disable clock gating during sleep for STM32N6 peripherals
...
Remove individual peripheral sleep clock enable/disable calls and instead
enable all AHB/APB peripheral clocks during sleep mode. This is needed
because MicroPython doesn't manage peripheral sleep clocks individually.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-16 18:20:38 +02:00
iabdalkader
616ce71b96
ports/stm32: Implement hardware accelerated CRC.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-11 22:08:58 +02:00
iabdalkader
1dd9b33acc
ports/alif: Implement hardware accelerated CRC.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-11 22:08:58 +02:00
iabdalkader
66c8e7e8d5
ports/all: Update framebuffer API.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-02 16:05:55 +02:00
iabdalkader
4d69dd396c
boards/all: Rename JPEG buffer linker script variables.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-09-02 16:05:52 +02:00
iabdalkader
e5cdccc72e
common: Introduce profiling support.
...
This adds a simple code profiler that leverages both SysTick and
the Performance Monitoring Unit (PMU) available on Armv8.1-M cores.
SysTick provides a simple high-resolution timer source, while the PMU
offers a cycle counter and multiple configurable event counters that
can track low-level performance metrics such as cache misses, pipeline
stalls, etc... See the Armv8.1-M Performance Monitoring User Guide
for additional details.
Function-level instrumentation is enabled using -finstrument-functions
on select files to automatically record statistics on entry/exit.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-08-24 16:57:06 +02:00
iabdalkader
cf7b84d682
ports/all: Remove old profiling macros.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-08-24 14:40:02 +02:00
Kwabena W. Agyeman
c601c706fe
ports/stm32: Simplify CSI_DMA_MAX_SIZE logic.
2025-08-16 18:50:28 -07:00
Kwabena W. Agyeman
170a7eb107
ports/stm32: Move dma_queue to port bits.
2025-08-16 18:36:29 -07:00
Kwabena W. Agyeman
9778028f40
ports/stm32: Add N6 error message for unsupported modes.
2025-08-16 18:36:12 -07:00
Kwabena W. Agyeman
feaca6af12
ports/stm32: Fix DMA transfer of small buffer sizes.
...
HAL_DCMI_Start_DMA() only sets up one node in the circular linked-list
when the transfer size is < 64KB. This causes a user setting transfer
error which locks up the DMA hardware.
The fix is to dynamically make the link list linear on smaller sizes
and circular on larger sizes.
2025-08-16 18:36:12 -07:00
Kwabena W. Agyeman
2e525c504b
ports/stm32: Fix N6 csi camera config settings.
...
Fixes support for mono bpp == 2 and rgb/yuv swap.
2025-08-16 18:36:10 -07:00
Kwabena W. Agyeman
76fc074c0f
ports/stm32: Set oneshot on MDMA snapshot to invalidate.
2025-08-15 18:11:20 -07:00
Kwabena W. Agyeman
2c14af97e7
ports/stm32: Fix JPEG mode 3 support.
2025-08-15 18:11:17 -07:00
Kwabena W. Agyeman
080641c827
ports/stm32: Fix DMA line size error calculation.
...
The error calculation needs to be on the raw byte size.
2025-08-15 17:29:44 -07:00
Kwabena W. Agyeman
cc137456dc
ports/stm32: Only enable frame int manually in jpeg mode.
...
The frame interrupt was being enabled for non-JPEG transfers,
causing massive image corruption and out-of-sync issues on the M4
and M7. This interrupt only needs to be enabled for JPEG mode
where the size of the image is not known.
2025-08-15 17:29:08 -07:00
Kwabena W. Agyeman
908d612ace
ports/stm32: Fix SystemClock_config() hard faulting.
2025-08-15 15:05:16 -07:00
Ibrahim Abdelkader
8217c22fee
Merge pull request #2807 from openmv/update_micropython
...
lib: Update to MicroPython 1.26.0.
2025-08-15 20:56:08 +03:00
iabdalkader
d30b2e8b71
ports/stm32: Deinit I2C target if enabled.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-08-15 19:20:46 +02:00
iabdalkader
75f3ee3caf
ports/stm32: Remove HAL_InitTick call.
...
This is already called from HAL_Init.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-08-15 19:20:46 +02:00
iabdalkader
bbfe90aa74
ports/stm32: Configure system clock before HAL_Init.
...
This ensures SystemCoreClock is updated after the
system clock has been configured.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-08-15 19:20:46 +02:00
iabdalkader
49d830d6dc
ports/stm32: Fix build.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-08-15 19:20:46 +02:00
iabdalkader
18a53b7fee
ports/stm32: Use MicroPython GPDMA handles.
...
Now that MicroPython uses GPDMA for N6, the GPDMA handles
as well as IRQs are shared.
Note: care must be taken when choosing GPDMA channels
to avoid conflicts with MicroPython's channels.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-08-15 19:20:46 +02:00
iabdalkader
ad5d86d37d
ports/alif: Add OSPI1 MPU region.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-08-15 19:20:46 +02:00
iabdalkader
b15cb394ee
ports/rp2: Add missing init/deinit calls.
...
- Add soft-timer init/deinit.
- Add I2C target init/deinit.
- Add thread/uart deinit.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-08-15 19:20:09 +02:00
iabdalkader
b2b310b0d2
ports/nrf: Fix build.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-08-15 19:02:07 +02:00
Kwabena W. Agyeman
6d4c5cf19b
ports/mimxrt: Enable full DMA offload for RT1062.
2025-08-14 13:05:00 -07:00
Kwabena W. Agyeman
cf2126ecdb
ports/mimxrt: Cleanup csi driver for full offload.
2025-08-14 11:47:48 -07:00
iabdalkader
cb50ad479a
ports/all: Use private CSI resolution table.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-08-14 11:40:33 +02:00
iabdalkader
9112cf2aae
misc: Clean-up CSI flags.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-08-09 12:00:59 +02:00
Ibrahim Abdelkader
294eaf309f
Merge pull request #2795 from openmv/fix_dma_sec
...
🔥 Firmware Build / build-firmware (ARDUINO_GIGA) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NANO_33_BLE_SENSE) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NANO_RP2040_CONNECT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_NICLA_VISION) (push) Has been cancelled
🔥 Firmware Build / build-firmware (ARDUINO_PORTENTA_H7) (push) Has been cancelled
🔥 Firmware Build / build-firmware (DOCKER) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV2) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV4) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV4P) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMVPT) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_AE3) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_N6) (push) Has been cancelled
🔥 Firmware Build / build-firmware (OPENMV_RT1060) (push) Has been cancelled
🔥 Firmware Build / code-size-report (push) Has been cancelled
🔥 Firmware Build / stable-release (push) Has been cancelled
🔥 Firmware Build / development-release (push) Has been cancelled
ports/stm32: Fix N6 DMA security config.
2025-08-03 12:25:55 +03:00
iabdalkader
84b1814ae7
ports/stm32: Fix N6 DMA security config.
...
Fix DMA security config for non-circular channels.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-08-03 10:39:51 +02:00
Kwabena W. Agyeman
a15fb0b831
ports/stm32: Add max transfer sizes for the N6.
2025-08-03 09:45:47 +02:00
Kwabena W. Agyeman
c9dfbb7650
ports: Add GPU tranform support.
2025-07-31 13:26:14 -07:00
Kwabena W. Agyeman
47c5618231
lib/imlib: Add transform argument to draw_image.
2025-07-31 13:13:45 -07:00
Kwabena W. Agyeman
20839405a2
lib/imlib: Add transform support to GPU drivers.
2025-07-31 13:12:48 -07:00
iabdalkader
60d015c82d
ports/stm32: Use HAL_InitTick to init SysTick.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-27 15:35:51 +02:00
iabdalkader
7e0e004058
ports/nrf: Use the new framebuffer API.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-23 18:25:01 +02:00
iabdalkader
e91878bd7e
ports/rp2: Use the new framebuffer API.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-23 18:25:01 +02:00
iabdalkader
63ac8e7c64
ports/alif: Use the new framebuffer API.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-23 18:25:01 +02:00
iabdalkader
00aac23e04
ports/mimxrt: Use the new framebuffer API.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-23 18:24:58 +02:00
iabdalkader
7f20081d9c
ports/stm32: Use the new framebuffer API.
...
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-23 18:24:55 +02:00
iabdalkader
f3e530cfec
ports/stm: Re-enable frame interrupt in JPEG mode.
...
This macro was removed so FRAME_IT was not enabled.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-07-23 11:03:43 +02:00