xCORE Microphone Array .xn file and xflash

Voice related projects and technical discussions
User avatar
aclassifier
Respected Member
Posts: 507
Joined: Wed Apr 25, 2012 8:52 pm

xCORE Microphone Array .xn file and xflash

Post by aclassifier »

Here is my starting point for this story:

Code: Select all

bash-3.2$ xflash /Users/teig/workspace/_Beep_BRRR_01/bin/_Beep_BRRR_01.xe 
Warning: F03098 Factory image and boot loader cannot be write-protected on flash device on node 0
xflash: Warning: F03148 --quad-spi-clock not given, using default 15.62MHz
xflash: Warning: F03149 QE_REGISTER and/or QE_BIT locations not found in XN file for this flash device. Using default flash_qe_location_status_reg_0 and flash_qe_bit_6.
Warning: F03150 The use of libquadflash will be deprecated from XFLASH in xTIMEcomposer 15.0.0.
Please add the PageSize, SectorSize and NumPages attributes to your External Device definitions in your target XN file to enable the use of lib_flash.
Site 0 has finished successfully.

I found out that
TARGET = XUF212-512-TQ128-C20
did not get me where I wanted, so I found AN00220 "Microphone array phase-aligned capture example" that came with
TARGET = MIC-ARRAY-1V0
but then I found lib_mic_array_board_support with
TARGET = MIC-ARRAY-1V3
which took me to the xflash'ing, logged above.

Now when I xflash (in Terminal/macOS) I probably need to sort this out. First the xCORE-200 eXplorer board, then the mic-array:

Code: Select all

Explorer  with XE216-512-TQ128  and EXTERNAL 1 Mbyte QSPI flash type IS25LQ080B (16*64Kbyte blocks/sectors or 32*32 KByte blocks/sectors)
Mic-array with XUF216-512-TQ128 and INTERNAL 2 Mbyte QSPI flash type IS25LP016D (32*64Kbyte blocks/sectors or 64*32 KByte blocks/sectors)

Build and xflash with MIC-ARRAY-1V3.xn is works, but xflash complains. I therefore edited/added the one in red here and renamed to TARGET = MIC-ARRAY-1V3-MOD and the with then TARGET = MIC-ARRAY-1V3-MOD.xn. But the MIC-ARRAY-1V3.xc came with Type="IS25LQ016B"(?):

<ExternalDevices>
<Device NodeId="0" Tile="0" Class="SQIFlash" Name="bootFlash" Type="IS25LP016D" PageSize="256" SectorSize="4096" NumPages="16384">
<Attribute Name="QE_REGISTER" Value="flash_qe_location_status_reg_0"/>
<Attribute Name="QE_BIT" Value="flash_qe_bit_6"/>

<Attribute Name="PORT_SQI_CS" Value="PORT_SQI_CS"/>
<Attribute Name="PORT_SQI_SCLK" Value="PORT_SQI_SCLK"/>
<Attribute Name="PORT_SQI_SIO" Value="PORT_SQI_SIO"/>
</Device>
</ExternalDevices>


Since it's the IS25LP016D that is embedded via internal SPI ( XUF216-512-TQ128 Datasheet) I guess that's why it the XML tag is still <ExternalDevices>? But why did the original .xn file use the name IS25LQ016B and not IS25LP016D?

I am confused about the correct PageSize, SectorSize and NumPages, but I doubled the NumPages 8192 to 16384 from the Explorer to the mic-array, which looked reasonable since the others I think are the same.

I now get this, which is fine if all the above is correct as well?

Code: Select all

bash-3.2$ xflash /Users/teig/workspace/_Beep_BRRR_01/bin/_Beep_BRRR_01.xe 
xflash: Warning: F03148 --quad-spi-clock not given, using default 15.62MHz
Site 0 has finished successfully
Now, how do I get rid of the remaining warning?

Why isn't the correct mic-array board available in the xTIMEcomposer's TARGET list?
--
Øyvind Teig
Trondheim (Norway)
https://www.teigfam.net/oyvind/home/
User avatar
aclassifier
Respected Member
Posts: 507
Joined: Wed Apr 25, 2012 8:52 pm

Post by aclassifier »

I see from that the flash was changed in 2020, and the one up to that time was IS25LQ016B, see https://www.xmos.ai/download/XUF216-512 ... (1.16).pdf

My MIC-ARRAY boards are 1827-00193 and 1827-00254 (processor on both: U11692C20 GT183302 PKKY15.00). I see that the YYWW is year 18 week 33. So I have a IS25LQ016B internal flash. (Chapter 14.1 "Part Marking" in ref above)
--
Øyvind Teig
Trondheim (Norway)
https://www.teigfam.net/oyvind/home/