PaulStoffregen / Audio

Teensy Audio Library
http://www.pjrc.com/teensy/td_libs_Audio.html
1.08k stars 401 forks source link

Audio objects need memory even if not used or mentioned in the sourcecode #409

Open FrankBoesing opened 2 years ago

FrankBoesing commented 2 years ago

It's enough to include the audio library. Not great for LC, but useless on the others, too.

20001ac4 00000008 B AsyncAudioInputSPDIF3::dma
20001acc 00000008 B AudioInputAnalog::dma
20001ad4 00000008 B AudioInputI2S::dma
20001adc 00000008 B AudioInputI2S2::dma
20001ae4 00000008 B AudioInputI2SHex::dma
20001aec 00000008 B AudioInputI2SOct::dma
20001af4 00000008 B AudioInputI2SQuad::dma
20001afc 00000008 B AudioInputPDM::dma
20001b04 00000008 B AudioInputPDM2::dma
20001b0c 00000008 B AudioInputSPDIF3::dma
20001b14 00000008 B AudioInputTDM::dma
20001b1c 00000008 B AudioInputTDM2::dma
20001b24 00000008 B AudioOutputI2S::dma
20001b2c 00000008 B AudioOutputI2S2::dma
20001b34 00000008 B AudioOutputI2SHex::dma
20001b3c 00000008 B AudioOutputI2SOct::dma
20001b44 00000008 B AudioOutputI2SQuad::dma
20001b4c 00000008 B AudioOutputMQS::dma
FrankBoesing commented 2 years ago

...and even more mory in ITCM (T4) :-(

Little Example (TDM2 not used in program) (But there is much more):

bool AudioOutputTDM2::update_responsibility = false;
DMAChannel AudioOutputTDM2::dma(false);
    db4: 4a02       ldr r2, [pc, #8] ; (dc0 <_GLOBAL__sub_I__ZN15AudioOutputTDM211block_inputE+0xc>)
    db6: 4903       ldr r1, [pc, #12] ; (dc4 <_GLOBAL__sub_I__ZN15AudioOutputTDM211block_inputE+0x10>)
    db8: 4803       ldr r0, [pc, #12] ; (dc8 <_GLOBAL__sub_I__ZN15AudioOutputTDM211block_inputE+0x14>)
    dba: f009 ba59  b.w a270 <__aeabi_atexit>
    dbe: bf00       nop
    dc0: 200010fc  .word 0x200010fc
    dc4: 00000315  .word 0x00000315
    dc8: 20001bf8  .word 0x20001bf8