flash on mic boards

Voice related projects and technical discussions
Junior Member
Posts: 6
Joined: Fri Jul 14, 2017 7:19 pm

flash on mic boards

Postby pisljar » Fri Sep 15, 2017 9:01 am


i am trying to find where in the source code is the flash on microphone board accessed ? (i would like to remove that part of code as i don't want that flash there)
could someone please point me to the right source file ?

User avatar
Active Member
Posts: 55
Joined: Fri Mar 04, 2011 3:38 pm

Postby xsamc » Tue Sep 19, 2017 10:57 am

Hi pisljar,

As far as I know all of the microphone array boards feature xCORE or VocalFusion chips with builtin flash.
Which code base are you running on your board? I would expect that the only times the flash was accessed would be during boot (unless the debug adaptor is used to boot the board via JTAG) and during a Device Firmware Upgrade (DFU) operation.

Junior Member
Posts: 6
Joined: Fri Jul 14, 2017 7:19 pm

Postby pisljar » Tue Sep 19, 2017 3:20 pm

Hi xsamc, thanks for your reply

i am using sw_vocalfusion (software which came with xvf3100 demo board with circular microphone array). We are developing our own board with xvf3100 and would like to remove unnecesarry components. I was told that flash on the microphone boards is not really needed, and that its just there to make swapping of microphone boards easy. So in our design we don't have this flash chip,

actually, there is nothing on I2C slave in our design ... on the demo board there are 3 devices connected to this i2c bus:
- clock source : not needed as our main cpu provides the clock
- dac: not needed as our main cpu is controlling the dac
- microphone board flash: i was told its not needed

so i need to remove/update the software to work with the modified board (it should not try to access/configure clock source, dac or mic board flash)

i found the code for clock source configuration and dac, and i think i can remove them without changing too much, however i can't figure out where microphone board flash is being accessed.

User avatar
XCore Expert
Posts: 765
Joined: Thu Dec 10, 2009 9:20 pm

Postby Ross » Wed Oct 25, 2017 11:00 am

Its used for booting and from the field upgrade code.
Junior Member
Posts: 6
Joined: Fri Jul 14, 2017 7:19 pm

Postby pisljar » Mon Jan 15, 2018 7:07 pm

i still have problem identifying which part of code actually uses the i2c flash (which is on the microphone board)

its connected to the I2C, so i expected some i2c code somewhere ... looking thru whole project the only i2c code i can find is in the `audiohw.xc` and is used to configure Si5351 clock generator and DAC
(looking for any write_reg or read_reg in .xc files) or looking for PORT_I2C i can see reference in DFU (which if i understand correctly has nothing to do with the flash on microphone board) and BECLEAR (which i don't really understand but also seems to be unrelated) and control.xc and vf_control.xc which if i understand correctly are used for the other I2C interface connected to my microcontroller over which i can configure XMOS

on our board the clocks output by Si5351 are correct (25.576M and 25M), the code in xvoice software that sets it up is commented out as well as the dac code ...
however i am still getting no output of the microphones over I2S.

at this point i am not sure if we messed up something in the board design (its pretty much copy paste from reference design except for the parts mentioned above) or something in xvoice software is going wrong.
if I2C flash is actually accessed from somewhere (that i can't find) that might be the reason for the problems.

if someone is aware where that code is i would really appreciate pointing me to the right module/file.
or if someone could confirm that flash on the microphone board is not used (and not referenced anywhere in the code)

Who is online

Users browsing this forum: No registered users and 3 guests