2

I'm trying to use I2S (not I2C) with the Teensy LC and a SPH0645 digital microphone. The audio library that is included with the Teensyduino (v1.6.7 and ArduinoIDE 1.8.5) code is sufficient for my needs, but I get the following assembler error when I try to compile the Recorder example from the audio library:

/var/folders/4y/x458y3013g5d1xsgl7grxgwr0000gn/T//ccvznZoL.s: Assembler messages:
/var/folders/4y/x458y3013g5d1xsgl7grxgwr0000gn/T//ccvznZoL.s:231: Error: selected processor does not support `smull r0,ip,r3,r5' in Thumb mode
/var/folders/4y/x458y3013g5d1xsgl7grxgwr0000gn/T//ccvznZoL.s:232: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov ip,ip,asl r6'
/var/folders/4y/x458y3013g5d1xsgl7grxgwr0000gn/T//ccvznZoL.s:233: Error: unshifted register required -- `orr r0,ip,r0,lsr r7'

My problem apart from the error is that the message doesn't indicate which file is the culprit. So I was hoping someone maybe has some more experience with this kind of problem ;)

fdollack
  • 31
  • 4
  • After some more searching I found [this](https://forum.pjrc.com/threads/28144-Teensy-LC-amp-Audio-library-issue) and [this](https://forum.pjrc.com/threads/47926-Teensy-LC-and-Prop-Shield-with-APA102) post where people have similar problems. The processor on the Teensy LC is from ARM's M0 series while other Teensy 3.x have cores from the M4 series. The audio library uses some instructions special to the M4 processors. If you remove the following files from the library and the Audio.h file it compiles: input_adc, output_pt8211, synth_karplusstrong, synth_simple_drum – fdollack Dec 25 '17 at 16:01

0 Answers0