beagleboard / am335x_pru_package

331 stars 181 forks source link

"Instruction illegal with specified core version" #1

Closed modmaker closed 12 years ago

modmaker commented 12 years ago

Jason, you asked me to file an issue here regarding some assembler problems I found.

Since then, I've done some more research and came to a rather disappointing conclusion: The assembler does implement some of the new instructions (as described in the TRM rev C), but most generate an error like: "Instruction illegal with specified core version". Disassembling the generated code shows the new instructions that are not rejected to be aliases to old (V1) opcodes. E.g. the FILL instruction generates a sequence of LDI instructions instead of only one XFR instruction.

This might explain why it has taken so much time to release the assembler, code and documentation: It looks like all new functionality of the PRUSS (as documented in the TRM rev C) is being revoked.

The question that remains is whether this is because the silicon has problems, or that TI wants to keep this information confidential. And somehow, because of the way this subject has been handled, I don't think we'll get an honest answer on that question. Reminds me of the Intel Pentium floating point bug, way back!

Jason, thanks again for all the effort you've taken the get this information accessible for the open source community, only to find yourself stuck between a rock and a hard place...

-- Bas Laarhoven (aka ncbas, aka modmaker)

jadonk commented 12 years ago

I just posted the source code, which could help in debug, but, indeed, it lacks the latest opcodes. I'm told we won't be able to get support of those in the near term---which means it could be a year or it could be never. :-(

modmaker commented 12 years ago

Thanks Jason, sorry to hear about TI's position towards PRUSS v2 support. I already concluded that myself, given the enormous effort TI is making to remove all PRUSS v2 information from documentation and code. But not all is lost because some of the 'forbidden' information is still available :-)