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.

DM6437 EMAC testing....

Hi, guys:

I have been work on NDK develop at DM6437 for a while. Actually, I develop my first NDK program about a mouth ago.

But here is the problem. My program work fine that time, but not now!  as I posted in http://e2e.ti.com/support/embedded/bios/f/355/p/199861/715818.aspx#715818

Today, I realize that TI send a EMAC test in EVM DM6437, so, I rush to test it.

Here is the output of the EMAC test program:

   "01 Testing EMAC loopback... 
          FAIL... error code 12... quitting"

I can't tell what's the error code 12 mean. But since the basic emac testing won't work. No wander why My program or the client demo failed to testing.

Any one please give me some idea about what's the error code 12 ?????

  • After a few minues, I realize that the error codes just indicate how many error occur in this EMAC testing program.

    And then I debug the emac_test function, here is what I find out:

    In both send 2 copies of the same packet using different sizes and for two more packet sends, nearly all test failed, except  Check # of Good TX frames.

    ie:  failed to check pDescRx != pDescBase + 4. The watch window says that pDescRx are equal to pDescBase, which should mean no package receive so far. Strange in this loop back test.

  • After dive into the emac_init.c code, I realize that orginal emac test disable the loop back mode in emac_init.c.

    So, I enable the loop back mode, and as expected, my board pass the emac test now!

    All these make me wander may be that's the problem of my cable ? (the cross cable ...)..

    But how can My EVM 6437 don't even jump into the sepcific User Init Funciton _dm6437_init ? I double check that I do set this User Init Function call in my *.tcf file.

    Can any one tell me where will the BIOS initialize? by which function ???

    I want to dive into tie intialization process of BIOS set up, trying to  feagure out what's going wrong here.

  • Can you please tell me which versions of BIOS and NDK you are using?    Are you using the software that came with your 6437 EVM board?   Did your board come with a package called "SDK"?

    Thanks,
    -Karl-

  • Hi, tech support ?

    I got to say that I have solve this problem now! Seems the old EMAC testing program disable the loop back mode in emac_init.c, after I enable it, the testing passed.

    But I do have another much weird problem now.

    I burn the led testing problem into flash, after that, I use CCS3.3 to connect the board, and then run video_loopback testing in CCS3.3\boards\evmdm6437v2\examples, this simple DSP/BIOS program work fine. Then the weird part come, I do the same thing again, but instead of the simple video_loopback problem, I run the NDK client and helloWorld program, the board simply run the LED program, which I burn to the flash. I run some other DSP/BIOS program under dvsdk_1_00_00\exmaples files too, all end up with the behaviour of LED program.

    I can't figure out what's going wrong here. 

  • Yes, for the later two question. My bios version is 5_31_08; NDK verions is ndk_1_92_00_22_eval

  • Can you please describe the problem you are having with FLASH in more detail?   From my understanding, your NDK/EMAC questions are resolved, but you have a new problem related to FLASH.   Can you please describe it again?   We'll move this post to a different forum where it will get some followup.

    Thanks,
    -Karl-

  • Not exactly..

    I don't mean that's the FLASH problem. I download the DSP/BIOS program into EVM DM6437, it won't work! In the previous time, I describe the program running nowhere, but after I flash the led program into FLASH, it become clear. Nearly all the DSP/BIOS program that I download into the board's DDR memory simply never been called, instead the led program which I download into the FLASH been invoked!!! I did try set the *.tcf file, let the BIOS call user define init function. well, the init function indeed been called, after I set a break point in init function, I figure that out! But the main or the task which I create in the *.tcf file just never been called!!!! not matter where I set the break point in the main function or the task function! 

    It seems that some problem with board itself! Because I run the same project in another EVM DM6437 board with the same bios, all program work as expected! I don't know what's going wrong with My DM6437, suppose that some init register failed to work! And the problem kind of related to the size of DSP/BIOS problem. Because as I said in this thread before, I try the test demo in CCS3.3/boards/evmdm6437v2/exmaple/video_loopback, which is also a DSP/BIOS program, but small one, It work fine. But not the case when I try others in DVSDK example files.

    Is that explicitly enough ? Really stuck in the board now.

  • Did you try the "other" board with your exact same CCS setup?   That is, did you just swap boards and the new board works?   I ask this since CCS setup might have a different .gel file on one machine from another.  The .gel files often do device initialization (EMIF and PLL among other things) and your .gel files might differ on the 2 setups.    If everything else is constant, and you just swapped boards, then I would suspect a board failure and you'd need to send the board back to the manufacturer for a fix or get another board.

  • Dengos,

    This issue seems to have moved into the hardware (+GEL) domain, so I have moved this thread over to the DM64xx forum in hopes that it will get a a faster resolution there.

    Dave

  • Hi, Karl Wechsler.

    Thanks for your patients. 

    I am sure I keep all setting when I try different boards. Actually, it isn't the first time! Back to few weeks ago,  when I developed using this board, sometime the system won't work. You need reset the board several times, and hope it work again.

    But, in this time, the board seems dead to me, no matter how many times I try, it's still the same.

  • 请问下我用ccs3.3编程,主要用来以太网通讯,该要怎么弄?