ThisisbynomeansareplacementforreadingtheReferenceManual,butratheranintroductiontomakethelandingsofter.Thedivisionintopartgoesasfollows:
Theprocessofrunninganapplication-drivencustomscriptconsistsofthefollowingsteps:
Totryitoutquickly,justuntaritonsomeUNIXsystem(Linuxincluded,ofcourse),changedirectorytosdma_asm,andgo
Andthensdma_run_channel()(partofimx-sdma.c)iscalledtomakechannel0runnable.ThisfunctionmerelysetstheHEbitofchannel0,andwaits(sleeping)fortheinterrupttoarrive,orerrorsontimeoutafterasecond.
AtthispointwehavethescriptloadedintoSDMARAM(atdataaddress0xe00).
Afterzeroingtheentirestructure,threeregistersaresetintryrun():Theprogramcounter,r4andr5.Notethattheprogramcounterisgiventheaddresstowhichthecodewascopied,multipliedby2,sincetheprogramcounterisgiveninprogrammemoryspace.Thetwootherregistersaresetmerelyasaninitialstateforthescript.Thestructureisthencopiedintotheper-channeldesignatedslotwithsdma_write_datamem().
staticintsdma_print_mem(structsdma_engine*sdma,intstart,intlen){inti;u8*buf;unsignedcharline[128];intpos=0;len=(len+15)&0xfff0;buf=kzalloc(len,GFP_KERNEL);if(!buf)return-ENOMEM;sdma_fetch_datamem(sdma,buf,len,start);for(i=0;i GreatSDMAblog!IwaswonderingifyouhadexperiencewiththeOnCEcontrollerdebugginginterfacethatisofferedintheSDMAARMPlatform(non-JTAG)Ifso,anyadviseorexamplesThanksagainforthearticle. SDMAcodedisassemblerandromcodeforIMX6youcanfindhere: pastebin.com/M2s5cPEspastebin.com/6MgYYg3y Hiiamtryingtogeneratebinaryfileusingyourperlscript.ButIamgettingbelowerror.Canyoupleasehelp.