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.

CCS/TMS320C6678: romparse promblem

Part Number: TMS320C6678

Tool/software: Code Composer Studio

i've read these 2 posts

romparse on large files

romparse

i configed my mingw and downloaded the makefile and built sucessfully,but did u tested?  because i found there's still a little bug,i comment the line"@sh -c 'if diff -q cdefdep.tmp cdefdep ; then echo same ; else cp cdefdep.tmp cdefdep ; fi '" in the makefile and del the upper part

if not comment ,here is the error

Checking command line dependencies
process_begin: CreateProcess(NULL, sh -c "if diff -q cdefdep.tmp cdefdep ; then
echo same ; else cp cdefdep.tmp cdefdep ; fi ", ...) failed.
make (e=2):
Makefile:119: recipe for target 'gen_cdefdep' failed
mingw32-make: *** [gen_cdefdep] Error 2

after this,i use the newly compiled app romparse to build my i2crom.ccs,its output like this

********************************************************************************
TMSflex/bison error is syntax error, unexpected VALUE, expecting SECTION or PCI_
PARMS or LAYOUT or PAD at line 2

but still output the file i2crom.ccs

i tried to track the err msg but the func yyparse() is a API.(there is a func body but unactived by macros)

compiler ver is TI v7.4.14

i need confirm if this output is right, and if the error msg matters,if matters,how to fix it?how to see the  source code of yyparse() ?

  • Hi,

    Which Processor SDK RTOS is this?

    Best Regards,
    Yordan
  • hi 

    the makefile i downloaded from this url:

    check it.

    the RTOS is 3.25.3.72,but it's doesn;t matter,it's me understand wrong,i thought the .map file wrote in the .rmd file is the input file of romparse ,it's not ,it's a new format file,i wrote one and now my spi boot is all right,thanks for reply though.

    but still some question need answer

    here is the source code of yyparse() in rparse.tab.c:

    #ifdef YYPARSE_PARAM
    #if (defined __STDC__ || defined __C99__FUNC__ \
    || defined __cplusplus || defined _MSC_VER)
    int
    yyparse (void *YYPARSE_PARAM)
    #else
    int
    yyparse (YYPARSE_PARAM)
    void *YYPARSE_PARAM;
    #endif
    #else /* ! YYPARSE_PARAM */
    #if (defined __STDC__ || defined __C99__FUNC__ \
    || defined __cplusplus || defined _MSC_VER)
    int
    yyparse (void)
    #else
    int
    yyparse ()

    #endif
    #endif
    {
    fprintf (stderr, "wtf?%s,%d\n",__func__,__LINE__);


    int yystate;
    /* Number of tokens to shift before error messages enabled. */
    int yyerrstatus;

    /* The stacks and their tools:
    `yyss': related to states.
    `yyvs': related to semantic values.

    Refer to the stacks thru separate pointers, to allow yyoverflow
    to reallocate them elsewhere. */

    /* The state stack. */
    yytype_int16 yyssa[YYINITDEPTH];
    yytype_int16 *yyss;
    yytype_int16 *yyssp;

    the red output doesn't display when i execute romparse.exe,so i'm sure the func yyparse() has no source code.

    and another question,the input .map file for romparse,what's the exact mean of all the options? i wrote it all by guess,here is my .map file:

    section {
    boot_mode = 50//how many modes?is there a list?
    param_index = 0//what if not 0?
    options = 1//what's this?
    core_freq_mhz = 800//where to confrim/check this value?
    exe_file = "D:\lDebug\flash.i2c.ccs"
    next_dev_addr_ext = 0x0//what's this use for?
    sw_pll_prediv = 1
    sw_pll_mult = 32
    sw_pll_postdiv = 4//my input clk is 100mHz,so it's (100/1)*32/4=800mHz,right?
    sw_pll_flags = 1//what's this mean?
    addr_width = 24
    n_pins = 4
    csel = 0
    mode = 0
    c2t_delay = 0//???
    bus_freq_mhz = 0//where to confrim/check this value?
    bus_freq_khz = 500//where to confrim/check this value?
    }