One of the things that really got me was the port assignments as I was laying out my PCB, how come 32A is such a huge port with no other secondaries? Why only 1 8 bit port? It seems to me an 8-bit port would be quite a commodity to have at least 2 on a single tile, followed by the fact that hardware clocked ports only work on falling edge, when I came up upon these limits myself in some of the very first project concepts I came up with using the xcore chip I almost wanted to scrap designing my dev board as it made me realize the usefulness of these chips might be hindered enough to consider them not usable in a product.
With that said I do love what xcore can bring to the table, but there are some limitations that seriously make me doubt it's feasibility in a product, case in point the 8 bit ports, I want to drive 2 DACs but the speed I need to drive them at makes it near impossible to do with software port control, but I can do it with hardware port buffering, but oh wait, only a single 8 bit port, I CANT hardware drive the second DAC. Then I find out the DAC I am using is rising edge clocked, so no, I can't use either 8-bit PORT. What I would of gained by using xcore I lost in hardware functionality, and I minus well just use STM32F4 because it will be fast enough to handle the port needs and has multiple 8 bit ports, and can handle rising or falling edge.
That does in-fact bring me to the next problem which is the BGA, sure I can work with the 96FBGA with the current companies I use, but I don't know a company that can handle anything tighter then that for less then a few hundred dollars, making it near impossible to do small time products with it.
Will I use xcore in a product? Maybe if my hardware port needs will work on it as I need it too and the multithreading gives me an advantage over another chip, but unfortunately ALL of the projects I have in my mind I thought it would be good for are better suited to something like an STM32F4 simply because of port structure above all else.