Persistent QSPI Flash Storage w/ MC-Audio Ref Firmware

Sub forums for various specialist XMOS applications. e.g. USB audio, motor control and robotics.
Post Reply
RitchRock
XCore Addict
Posts: 186
Joined: Tue Jan 17, 2017 9:25 pm

Persistent QSPI Flash Storage w/ MC-Audio Ref Firmware

Post by RitchRock »

I'm trying to store just a few "calibration" values for my XE/XU-216-512-TQ128 device in the data partition on the external QSPI flash. I followed the instructions in the app notes, along with a few old threads on here and it does work fine. The problem is that as soon as I call the function to connect to flash, audio stops, which of course is unacceptable. I've been digging and digging and wonder if it's because of a shared clock conflict. In uac_hwresources.h, I see :

Code: Select all

/* XUD_U_SERIES, XUD_X200_SERIES */
/* Note, U-series XUD uses clock blocks 4 and 5 - see XUD_Ports.xc */
#define CLKBLK_MIDI        XS1_CLKBLK_REF;
#define CLKBLK_SPDIF_TX    XS1_CLKBLK_1
#define CLKBLK_SPDIF_RX    XS1_CLKBLK_1
#define CLKBLK_MCLK        XS1_CLKBLK_2   /* Note, potentially used twice */
#define CLKBLK_FLASHLIB    XS1_CLKBLK_3   /* Clock block for use by flash lib */
#define CLKBLK_ADAT_RX     XS1_CLKBLK_REF /* Use REF for ADAT_RX on U/x200 series */
#define CLKBLK_I2S_BIT     XS1_CLKBLK_3
#endif

#endif /* _UAC_HWRESOURCES_H_ */
It seems like the flashlib and I2S bit clock are both using XS1_CLKBLK_3. Does this mean that concurrent data and audio streaming isn't allowed? Any work-arounds or other items I should be looking at?


RitchRock
XCore Addict
Posts: 186
Joined: Tue Jan 17, 2017 9:25 pm

Post by RitchRock »

If I'm not using MIDI or ADAT_RX (I am using Tx), can I just assign FLASHLIB to CLKCLK_REF?
RitchRock
XCore Addict
Posts: 186
Joined: Tue Jan 17, 2017 9:25 pm

Post by RitchRock »

How come only 6 clock blocks seem to be available, when the datasheet says you can get 6 per tile? Where / how are these defined? These 6 seemed to be used on both tiles, so it's a little confusing.
Post Reply