mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
Merge pull request #2577 from openmv/bootloader_recovery
Some checks failed
🔎 Check Code Formatting / formatting-check (push) Has been cancelled
🔥 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 (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_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
Some checks failed
🔎 Check Code Formatting / formatting-check (push) Has been cancelled
🔥 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 (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_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
bootloader: Add special flash recovery partition.
This commit is contained in:
commit
18a28ddc9f
@ -35,10 +35,11 @@
|
|||||||
int axi_flash_read(uint32_t addr, uint8_t *buf, size_t size);
|
int axi_flash_read(uint32_t addr, uint8_t *buf, size_t size);
|
||||||
int axi_flash_write(uint32_t addr, const uint8_t *buf, size_t size);
|
int axi_flash_write(uint32_t addr, const uint8_t *buf, size_t size);
|
||||||
|
|
||||||
int spi_flash_deinit();
|
int spi_flash_memory_map(bool dtr);
|
||||||
int spi_flash_read(uint32_t addr, uint8_t *buf, uint32_t size);
|
int spi_flash_read(uint32_t addr, uint8_t *buf, uint32_t size);
|
||||||
int spi_flash_write(uint32_t addr, const uint8_t *buf, uint32_t size);
|
int spi_flash_write(uint32_t addr, const uint8_t *buf, uint32_t size);
|
||||||
int spi_flash_memory_map(bool dtr);
|
int spi_flash_recovery(uint32_t addr, const uint8_t *buf, uint32_t size);
|
||||||
|
int spi_flash_deinit();
|
||||||
|
|
||||||
static inline int flash_read(uint32_t ptype, uint32_t addr, uint8_t *buf, uint32_t size) {
|
static inline int flash_read(uint32_t ptype, uint32_t addr, uint8_t *buf, uint32_t size) {
|
||||||
#if OMV_BOOT_AXI_FLASH_ENABLE
|
#if OMV_BOOT_AXI_FLASH_ENABLE
|
||||||
@ -65,6 +66,11 @@ static inline int flash_write(uint32_t ptype, uint32_t addr, const uint8_t *buf,
|
|||||||
return spi_flash_write(addr, buf, size);
|
return spi_flash_write(addr, buf, size);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#if OMV_BOOT_REC_FLASH_ENABLE
|
||||||
|
if (ptype == PTYPE_REC_FLASH) {
|
||||||
|
return spi_flash_recovery(addr, buf, size);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
#endif //__BOOT_FLASH_H__
|
#endif //__BOOT_FLASH_H__
|
||||||
|
|||||||
@ -74,6 +74,7 @@ typedef enum {
|
|||||||
PTYPE_AXI_FLASH,
|
PTYPE_AXI_FLASH,
|
||||||
PTYPE_SPI_FLASH,
|
PTYPE_SPI_FLASH,
|
||||||
PTYPE_XIP_FLASH,
|
PTYPE_XIP_FLASH,
|
||||||
|
PTYPE_REC_FLASH,
|
||||||
} partition_type_t;
|
} partition_type_t;
|
||||||
|
|
||||||
// Common MPU memory attributes.
|
// Common MPU memory attributes.
|
||||||
@ -95,8 +96,6 @@ void port_pin_mode(uint32_t pin, uint32_t mode);
|
|||||||
uint32_t port_pin_read(uint32_t pin);
|
uint32_t port_pin_read(uint32_t pin);
|
||||||
void port_pin_write(uint32_t pin, uint32_t state);
|
void port_pin_write(uint32_t pin, uint32_t state);
|
||||||
void port_led_blink(uint32_t interval_ms);
|
void port_led_blink(uint32_t interval_ms);
|
||||||
int port_flash_read(uint32_t ptype, uint32_t addr, uint8_t *buf, uint32_t size);
|
|
||||||
int port_flash_write(uint32_t ptype, uint32_t addr, const uint8_t *buf, uint32_t size);
|
|
||||||
void port_mpu_init(void);
|
void port_mpu_init(void);
|
||||||
void port_mpu_deinit(void);
|
void port_mpu_deinit(void);
|
||||||
void port_mpu_load_defaults();
|
void port_mpu_load_defaults();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user