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.

the problem of psp/uart sample

Now, i have a problem of example : DVDVSDK\dvsdk_1_01_00_15\psp_1_00_02_00\pspdrivers\drivers\uart.  when i run this example with emulator, it works fine. Then, i download it to flash ,  when i use hexAIS.exe to convert *.out to *.hex , the hex file will work fine when i boot from flash. However , when i use hexAIS.pl to convert *.out to *.bin file,  the program will work fine , uart can not work!! It can not send and receive. Did you faced this problem yet?

my prams: genAIS.pl -bootmode emifa -datawidth 8 -cfg evmdm6437.cfg -i *out -otype bin -o *.bin ,  i add led blink program at the front of uart sample, and  i am sure my program works fine , but the uart in the program has exception. can somone help?

envionment: : DM6437, psp_1_00_02_00

  • UART controller might not be powered up or clocked. This might be performed in your GEL because of which it works with emulator, whereas it might not be taken care. When your code accesses any of the UART registers, access will fail, if its not powered up. 

  • thanks for your reply. I have paid attention to "power up" before, i added "sysModuleRegs->VDD3P3VPWDN &=  (~(0x400u));" "EVMDM6437_PSC_enableAll( );" to enable my psc and power, but i still can not work.

    the point is the same code which i use hexAIS.exe convert it to*.hex, then flashburn to flash it. and it will work perfect !!!  When i use hexAIS.pl convert it to *.bin, my program works well , only the uart does not work!! oh god

  • Rong,

    Can you compare the .hex binary manually with bin file opened in hex editor? What is the size of both the files? 

  • probably you need to verify the PLL configuration part or evmdm64xx.cfg file. , you can check/modify these register values just before your UART program called.

    regards,

    Sri

  • its not PLL its PINMUX0 or PINMUX1 to configure UART. Sorry for that, Its quite a while since I worked on DM64xx. you check these values of your working code and compare the same with your evmdm64xx.cfg file.

  • As you reference in *.cfg file(hexAIS.pl which is writen by perl, can generate *.bin file), it has three args: pll, ddr, emif, and no pinmux , no psc.   Then i added the pimux and psc in the program to init my codes by myself. But it still does not work...

    But in the *.ini(hexAIS.exe which generates *.hex file), there have pll ,dll, emif, pinmux, psc parameters, and *.hex format file which is downloaded to flash can work well as i refered before.

    At last , i choose to write a small software, which is used to parse *.hex file(which generates by hexAIS.exe ) , and the software filters  the hex data to *.bin data(about bin formats, i refere to the flash data which is  writen by flashburn), eventually, i write bin data to flash and  it works!!! 

  • thank you very much, my english is not good. - -