This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Need more basic steps on getting TMS320C6678 to work through PCIe

Other Parts Discussed in Thread: TMS320C6678, TMDXEVMPCI

I've managed to get the two demos (hua and image processing) working, so that's a victory.  However, now I'm trying to get the card to be recognized in Ubuntu, via lspci.  Then, of course, actually talking to the card over PCIe would be awesome, but I'd be pretty happy just having it seen in the listings, and maybe getting an insmod done.

I'm getting buried under the perpetual exercise of "If you want to do this, first do this...." and when I go to do that, it also has the same kind of instructions.  My personal stack is overflowing.

I'm currently in the "PCIe boot example" .pdf.  I finished section 4 and ended up with compiled/converted files...and that was it.  I'm not sure what the point of that exercise was, as I could not find where else in that example those files were actually used.  Section 7 showed insmoding, which is a good thing to learn how to do, but assumed that the card was already viewable in PCI space.  So, fast-forward to section 8 where it actually talks about putting the the card in the slot  and such.  So good, it appears that step 1 in this process is actually in section 8.

However, the first step of section 8 was "please update the IBL", and points to instructions on how to do that.

I opened those "instructions" (they really don't deserve that name), and step a under 1) says "use the i2c eeprom writer for c6678 evm for the distribution".  Really?  To do what??

So I find the eeprom writer, and look at its instructions, and step 2 is "copy the ccs format data file"....what data file?  This is getting a bit to be like "The house that Jack built".

Here is what I'm trying to accomplish:

Access the TMS320C6678 via PCIexpress in a host Linux system.

 

Can someone give me the tutorials/how-to's/examples that I should be following in order to be able to do that?  If I'm on the right track above, please let me know, and then I'll just post questions as I get to a specific stumbling block.  I'm just getting the feeling that I'm getting derailed, when I wasn't on the right track in the first place.  That's a double fail.

I accept I'm a newbie at this, and probably dumber than most, but my Mom says I'm a smart boy, so that's good enough to keep my self-esteem up.  Any help that can be given is appreciated, and an extra dose of patience.

 

Windows XP sp3 and Ubuntu 10.04

TMS320C6678

TMDXEVMPCI

XDS560v2

CCS 5.1.1.00031

MCSDK 2.00.05.17

  • Ok, so I've decided that the "CCS format data file" that  the eeprom writer wants is the one that was listed in b) of step 1 of the IBL update instructions (i2crom_etc_etc).  After searching for and finding that file, I'll continue through the eeprom writer instructions with that in mind and see where it leads.

     

  • Well, so much for that theory.  I tried writing the i2crom file via the eeprom writer as described in the steps, but I get an "invalid header information" error when I try.  So clearly this is not the way. 

  • Ok, I navigated through that after all, and the .bin is now written to the eeprom.  But step #2 in the IBL updating saga talks about writing the application to NAND or NOR.  I just don't know what that application is.

  • Ok, I muddled through the pcie demo, and discovered why I had built that stuff in step 4.  So, I have the .ko module now, and even tried an insmod.  But, as I suspected, it declared "No PCIE device found!!".  So, I've got the driver module ready, but still cannot find this device in my pci listings yet.

    Is it the mysterious step #2 from the update IBL instructions that is doing me in?  I still don't know what app I'm supposed to write to NAND or NOR.

     

  • I'm officially stuck on step #2 of the evmc6678-instructions.txt file.  I even found a forum thread (http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/123060.aspx) of someone else who was stuck on that step (and resolving it allowed the board to be seen in PCI space), but his answer makes no more sense to me.  He talks of loading the "IBL Configuration" as the step he didn't take, but there's nothing in step #2 that mentions IBL or configuration.

     

  • Well, some more forum searching led me to the "IBL" section of the MCSDK user's guide, and in there it describes writing the IBL configuration after writing the IBL....steps clearly missing from the "instructions".

    So, I believe I've now written to the IBL and the configuration as well.  I don't think this still counts as step #2, since that involves writing some application to NAND or NOR.  Either way, I tried finding my device in PCI space again and no-go.  So I'm still lacking something.  My next step is to try a different PCIe slot.

     

  • The bad news is that it appears it was the CPU board I was using.  Replaced that and now it shows.

    The good news is that I earned close to 100 points during this exercise.  Win!