c ходу меандр 24 мгц получил, это 48Мгц , но это кодом, через dma
уверен что быстрее (во всяком случае на f4 значительно быстрее
было, так и делал на всос и высос данных из mcu)
__attribute__((noinline,section(".d1_itcm_sram_func"))) void infinity_loop() { while(1) { gpio_t::set(debug_pulse_pin) ; gpio_t::reset(debug_pulse_pin) ; gpio_t::set(debug_pulse_pin) ; gpio_t::reset(debug_pulse_pin) ; gpio_t::set(debug_pulse_pin) ; gpio_t::reset(debug_pulse_pin) ; gpio_t::set(debug_pulse_pin) ; gpio_t::reset(debug_pulse_pin) ; gpio_t::set(debug_pulse_pin) ; gpio_t::reset(debug_pulse_pin) ; }
0000002a: nop 153 { _Z13infinity_loopv: 0000002c: ldr r2, [pc, #24] ; (0x48 <_Z13infinity_loopv+28>) 0000002e: mov.w r3, #1 157 void inline val( const T v) { NRO *(((volatile T*)this)) = v; } 00000032: strh r3, [r2, #24] 00000034: strh r3, [r2, #26] 00000036: strh r3, [r2, #24] 00000038: strh r3, [r2, #26] 0000003a: strh r3, [r2, #24] 0000003c: strh r3, [r2, #26] 0000003e: strh r3, [r2, #24] 157 void inline val( const T v) { NRO *(((volatile T*)this)) = v; } 00000040: strh r3, [r2, #26] 00000042: strh r3, [r2, #24] 00000044: strh r3, [r2, #26] 160 template