mirror of
https://github.com/openmv/openmv.git
synced 2025-09-26 23:09:13 +08:00
Merge pull request #2825 from openmv/update_profiler
Some checks are pending
🔥 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
Some checks are pending
🔥 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/profiler: Add get_size function.
This commit is contained in:
commit
0e124a215d
@ -149,8 +149,11 @@ mutex_t *omv_profiler_lock(void) {
|
|||||||
return &profiler.mutex;
|
return &profiler.mutex;
|
||||||
}
|
}
|
||||||
|
|
||||||
void *omv_profiler_get_data(size_t *count) {
|
size_t omv_profiler_get_size(void) {
|
||||||
*count = profiler.pool_index;
|
return profiler.pool_index * sizeof(omv_profiler_data_t);
|
||||||
|
}
|
||||||
|
|
||||||
|
const void *omv_profiler_get_data(void) {
|
||||||
return profiler.pool;
|
return profiler.pool;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,7 +72,8 @@ typedef struct __attribute__((packed)) _prof_data {
|
|||||||
|
|
||||||
OMV_ATTR_NO_INSTRUMENT void omv_profiler_init(void);
|
OMV_ATTR_NO_INSTRUMENT void omv_profiler_init(void);
|
||||||
OMV_ATTR_NO_INSTRUMENT void omv_profiler_reset(void);
|
OMV_ATTR_NO_INSTRUMENT void omv_profiler_reset(void);
|
||||||
OMV_ATTR_NO_INSTRUMENT void *omv_profiler_get_data(size_t *count);
|
OMV_ATTR_NO_INSTRUMENT size_t omv_profiler_get_size(void);
|
||||||
|
OMV_ATTR_NO_INSTRUMENT const void *omv_profiler_get_data(void);
|
||||||
OMV_ATTR_NO_INSTRUMENT void omv_profiler_set_mode(uint32_t mode);
|
OMV_ATTR_NO_INSTRUMENT void omv_profiler_set_mode(uint32_t mode);
|
||||||
OMV_ATTR_NO_INSTRUMENT void omv_profiler_set_event(uint32_t num, uint32_t type);
|
OMV_ATTR_NO_INSTRUMENT void omv_profiler_set_event(uint32_t num, uint32_t type);
|
||||||
#ifndef __cplusplus
|
#ifndef __cplusplus
|
||||||
|
@ -287,10 +287,8 @@ void usbdbg_data_in(uint32_t size, usbdbg_write_callback_t write_callback) {
|
|||||||
uint32_t buffer[3] = { 0 };
|
uint32_t buffer[3] = { 0 };
|
||||||
#if OMV_PROFILER_ENABLE
|
#if OMV_PROFILER_ENABLE
|
||||||
if (mutex_try_lock(omv_profiler_lock(), MUTEX_TID_IDE)) {
|
if (mutex_try_lock(omv_profiler_lock(), MUTEX_TID_IDE)) {
|
||||||
size_t count = 0;
|
size_t size = omv_profiler_get_size();
|
||||||
(void) omv_profiler_get_data(&count);
|
buffer[0] = size / sizeof(omv_profiler_data_t);
|
||||||
|
|
||||||
buffer[0] = count;
|
|
||||||
buffer[1] = sizeof(omv_profiler_data_t);
|
buffer[1] = sizeof(omv_profiler_data_t);
|
||||||
buffer[2] = __PMU_NUM_EVENTCNT;
|
buffer[2] = __PMU_NUM_EVENTCNT;
|
||||||
}
|
}
|
||||||
@ -303,9 +301,7 @@ void usbdbg_data_in(uint32_t size, usbdbg_write_callback_t write_callback) {
|
|||||||
#if OMV_PROFILER_ENABLE
|
#if OMV_PROFILER_ENABLE
|
||||||
case USBDBG_PROFILE_DUMP:
|
case USBDBG_PROFILE_DUMP:
|
||||||
if (xfer_offs < xfer_size) {
|
if (xfer_offs < xfer_size) {
|
||||||
size_t count = 0;
|
const char *data = omv_profiler_get_data();
|
||||||
char *data = omv_profiler_get_data(&count);
|
|
||||||
|
|
||||||
write_callback(data + xfer_offs, size);
|
write_callback(data + xfer_offs, size);
|
||||||
xfer_offs += size;
|
xfer_offs += size;
|
||||||
if (xfer_offs == xfer_size) {
|
if (xfer_offs == xfer_size) {
|
||||||
|
Loading…
Reference in New Issue
Block a user