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.

problem about c6727b csl

I am using ccs4.1 to debug PADK board which has c6727B on board. I use latest c6727 csl tool but not dsp/bios. I find a problem that sometimes when i try to use csl function csl_mcasphwcontrol, the program will go to unexpected address. This phenomenon occurs when the .test section is allocated with small address than .far section.

.text      0    10001c00    0000cbc0

                  10001c00    000021e0     csl_C6727.lib : csl_mcaspHwControl.o (.text:csl_section:mcasp)

                  10003de0    000007c0     main.obj (.text)

                  100045a0    00000700     rts67plus.lib : divd.obj (.text:__divd)

                  10004ca0    000006a0                   : _printfi.obj (.text:__getarg_diouxp)

                  10005340    000005a0                   : _printfi.obj (.text:__setfield)

                  100058e0    00000540                   : _printfi.obj (.text:__printfi)

                  10005e20    00000520     csl_C6727.lib : csl_dmaxHwSetup.o (.text:csl_section:dmax)

                  10006340    000004a0                   : csl_dmaxHwControl.o (.text:csl_section:dmax)

                  100067e0    00000440                   : csl_mcaspHwSetup.o (.text:csl_section:mcasp)

                  10006c20    000003c0     csl_C672x_intc.lib : csl_intcHookIsr.o (.text:csl_section:intc)

                  10006fe0    000003c0     padkd.lib : PADK_CLKGEN.obj (.text)

                  100073a0    000003a0     rts67plus.lib : _printfi.obj (.text:__pproc_fge)

                  10007740    000003a0                   : _printfi.obj (.text:_fcvt)

                  10007ae0    00000380                   : _printfi.obj (.text:_ecvt)

                  10007e60    00000380                   : fputs.obj (.text:_fputs)

                  100081e0    00000360                   : _printfi.obj (.text:__pproc_fwp)

                  10008540    00000360                   : memory.obj (.text:_free)

                  100088a0    00000360     csl_C6727.lib : csl_mcaspRegReset.o (.text:csl_section:mcasp)

                  10008c00    00000300     rts67plus.lib : _printfi.obj (.text:__pconv_e)

                  10008f00    000002e0                   : imath64.obj (.text:__divull)

                  100091e0    000002e0                   : _printfi.obj (.text:__pproc_diouxp)

                  100094c0    000002e0     csl_C6727.lib : csl_mcaspResetCtrl.o (.text:csl_section:mcasp)

                  100097a0    000002c0                   : csl_dmaxOpen.o (.text:csl_section:dmax)

                  10009a60    000002a0     rts67plus.lib : frcmpyd_div.obj (.text:__frcmpyd_div)

                  10009d00    000002a0                   : _printfi.obj (.text:__pproc_str)

                  10009fa0    00000260                   : _printfi.obj (.text:__pconv_g)

                  1000a200    00000220                   : trgdrv.obj (.text:_HOSTrename)

                  1000a420    00000220                   : _printfi.obj (.text:__mcpy)

                  1000a640    00000200                   : memory.obj (.text:_malloc)

                  1000a840    00000200                   : memcpy62.obj (.text:_memcpy)

                  1000aa40    000001e0                   : setvbuf.obj (.text:_setvbuf)

                  1000ac20    000001c0                   : imath40.obj (.text:__divul)

                  1000ade0    000001c0                   : lowlev.obj (.text:_getdevice)

                  1000afa0    000001c0     padkd.lib : PADK_ADC.obj (.text)

                  1000b160    000001a0     csl_C6727.lib : csl_dmaxHwSetupGpParam.o (.text:csl_section:dmax)

                  1000b300    00000180     rts67plus.lib : _printfi.obj (.text:__ltostr)

                  1000b480    00000180                   : _printfi.obj (.text:__pproc_fflags)

                  1000b600    00000180                   : fputc.obj (.text:_fputc)

                  1000b780    00000160                   : fclose.obj (.text:_fclose)

                  1000b8e0    00000140                   : trgdrv.obj (.text:_HOSTlseek)

                  1000ba20    00000140                   : autoinit.obj (.text:__auto_init)

                  1000bb60    00000140                   : atoi.obj (.text:_atoi)

                  1000bca0    00000120                   : trgdrv.obj (.text:_HOSTopen)

                  1000bdc0    00000120                   : trgdrv.obj (.text:_HOSTread)

                  1000bee0    00000120                   : trgdrv.obj (.text:_HOSTwrite)

                  1000c000    00000120                   : _io_perm.obj (.text:__wrt_ok)

                  1000c120    00000120                   : lowlev.obj (.text:_close)

                  1000c240    00000120                   : exit.obj (.text:_exit)

                  1000c360    00000120                   : lowlev.obj (.text:_lseek)

                  1000c480    00000120                   : ltoa.obj (.text:_ltoa)

                  1000c5a0    00000120                   : memset.obj (.text:_memset)

                  1000c6c0    00000120                   : lowlev.obj (.text:_write)

                  1000c7e0    00000120     csl_C672x_intc.lib : csl_intcOpen.o (.text:csl_section:intc)

                  1000c900    00000100     rts67plus.lib : trgdrv.obj (.text:_HOSTunlink)

                  1000ca00    00000100                   : fopen.obj (.text:__cleanup)

                  1000cb00    00000100                   : _printfi.obj (.text:__div)

                  1000cc00    00000100                   : _printfi.obj (.text:__pconv_f)

                  1000cd00    00000100                   : fseek.obj (.text:_fseek)

                  1000ce00    000000e0                   : trgdrv.obj (.text:_HOSTclose)

                  1000cee0    000000e0                   : fflush.obj (.text:__doflush)

                  1000cfc0    000000c0                   : imath40.obj (.text:__divli)

                  1000d080    000000c0                   : divu.obj (.text:__divu)

                  1000d140    000000c0                   : _printfi.obj (.text:__ecpy)

                  1000d200    000000c0                   : _printfi.obj (.text:__fcpy)

                  1000d2c0    000000c0                   : cpy_tbl.obj (.text:_copy_in)

                  1000d380    000000c0                   : lowlev.obj (.text:_finddevice)

                  1000d440    000000c0                   : memory.obj (.text:_minsert)

                  1000d500    000000c0                   : memory.obj (.text:_mremove)

                  1000d5c0    000000c0     csl_C6727.lib : csl_mcaspGetChipCtxt.o (.text:csl_section:mcasp)

                  1000d680    000000c0                   : csl_mcaspOpen.o (.text:csl_section:mcasp)

                  1000d740    000000c0     main.obj (.text:retain)

                  1000d800    000000a0     rts67plus.lib : fixdli.obj (.text:__fixdli)

                  1000d8a0    000000a0                   : lowlev.obj (.text:_unlink)

                  1000d940    000000a0     csl_C6727.lib : CSL_dmaxGetNextFreeParamEntry.o (.text)

                  1000d9e0    000000a0                   : csl_dmaxClose.o (.text:csl_section:dmax)

                  1000da80    000000a0                   : csl_dmaxHwSetupFifoParam.o (.text:csl_section:dmax)

                  1000db20    000000a0     csl_C672x_intc.lib : csl_intcEventEnable.o (.text:csl_section:intc)

                  1000dbc0    00000080     rts67plus.lib : fltlid.obj (.text:__fltlid)

                  1000dc40    00000080                   : llshift.obj (.text:__llshl)

                  1000dcc0    00000080                   : mpyll.obj (.text:__mpyll)

                  1000dd40    00000080                   : boot.obj (.text:_c_int00)

                  1000ddc0    00000080                   : fprintf.obj (.text:_fprintf)

                  1000de40    00000080                   : memccpy.obj (.text:_memccpy)

                  1000dec0    00000080                   : trgmsg.obj (.text:_readmsg)

                  1000df40    00000080                   : trgmsg.obj (.text:_writemsg)

                  1000dfc0    00000080     csl_C6727.lib : csl_dmaxHwSetup1dParam.o (.text:csl_section:dmax)

                  1000e040    00000080                   : csl_dmaxHwSetupSpiParam.o (.text:csl_section:dmax)

                  1000e0c0    00000080     csl_C672x_intc.lib : csl_intcInit.o (.text:csl_section:intc)

                  1000e140    00000080                        : csl_intcSetVectorPtr.o (.text:csl_section:intc)

                  1000e1c0    00000060     rts67plus.lib : llshift.obj (.text:__llshru)

                  1000e220    00000060                   : imath40.obj (.text:__remli)

                  1000e280    00000060                   : imath64.obj (.text:__subcull)

                  1000e2e0    00000060     csl_C672x_intc.lib : _CSL_eventEnorDisable.o (.text)

                  1000e340    00000060                        : csl_intcGlobalDisable.o (.text:csl_section:intc)

                  1000e3a0    00000060                        : csl_intcGlobalEnable.o (.text:csl_section:intc)

                  1000e400    00000060                        : csl_intcGlobalRestore.o (.text:csl_section:intc)

                  1000e460    00000040     rts67plus.lib : isinf.obj (.text:___isinf)

                  1000e4a0    00000040                   : _printfi.obj (.text:___isnan)

                  1000e4e0    00000040                   : divd.obj (.text:___isnan)

                  1000e520    00000040                   : args_main.obj (.text:__args_main)

                  1000e560    00000040     csl_C6727.lib : csl_dmaxSetDetr.o (.text)

                  1000e5a0    00000040     csl_C672x_intc.lib : _CSL_intcGlobalEnorDisable.o (.text)

                  1000e5e0    00000040     csl_C6727.lib : csl_dmaxGetBaseAddress.o (.text:csl_section:dmax)

                  1000e620    00000040                   : csl_dmaxInit.o (.text:csl_section:dmax)

                  1000e660    00000020     rts67plus.lib : negll.obj (.text:__negll)

                  1000e680    00000020                   : _lock.obj (.text:__nop)

                  1000e6a0    00000020                   : fprintf.obj (.text:__outc)

                  1000e6c0    00000020                   : fprintf.obj (.text:__outs)

                  1000e6e0    00000020                   : exit.obj (.text:_abort)

                  1000e700    00000020                   : remove.obj (.text:_remove)

                  1000e720    00000020     csl_C672x_intc.lib : _CSL_intcFetchPacket.o (.text)

                  1000e740    00000020                        : _CSL_intcISTP.o (.text)

                  1000e760    00000020                        : _CSL_intcReadISTP.o (.text)

                  1000e780    00000020     csl_C6727.lib : csl_chipInit.o (.text:csl_section:chip)

                  1000e7a0    00000020                   : csl_mcaspInit.o (.text:csl_section:mcasp)

 

.data      0    10001c00    00000000     UNINITIALIZED

 

.far       0    1000e7c0    00002ca8     UNINITIALIZED

                  1000e7c0    00002936     main.obj (.far)

                  100110f6    00000002     --HOLE--

                  100110f8    00000194     rts67plus.lib : defs.obj (.far)

                  1001128c    000000d0                   : trgdrv.obj (.far)

                  1001135c    000000cc                   : lowlev.obj (.far)

                  10011428    00000020     csl_C6727.lib : csl_dmaxInit.o (.far)

                  10011448    0000000c     rts67plus.lib : exit.obj (.far)

                  10011454    00000008                   : _lock.obj (.far)

                  1001145c    00000008                   : memory.obj (.far)

                  10011464    00000004                   : fopen.obj (.far)

  • Greetings,

    I suggest you start by applying the following particles of TI's patch to your project

    -l$(Install_dir)\sprc203\SystemPatch\applySystemPatch.obj

    -l$(Install_dir)\sprc203\SystemPatch\c672xSystemPatchV2_00_00.lib

    since it does not appear in your memory map.

    I believe this patch is needed for all C672x devices.  It is under sprc203 on TI's web site.

    If you you do get anywhere, then I suggest you run the example project ...\PADK 2.0\DSP\examples\SimpleAudioEffect on your setup to clarify your hardware is good.

    Good Luck,