Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
16 years ago

Syntax error in alt_sys_init.c ???

Hi,

I am using the cycloneIII and I am desperately trying to run a simple "hello world" on a two-cores system.

I picked up the NEEK and I added a second proccessor(called E1), some on-chip RAM and two mailboxes. The second processor is only linked with the mailboxes, the memories (sdram,ssram,onchip-ram and flash), see attached file. The second processor does just a while(1) and the main processor a printf("hello from niosII")...

I have already used the original NEEK successfully, but with the new two-cores system, I get an error during compiling the project of the second processor:

--- Quote Start ---

system_description/alt_sys_init.c error: syntax error before '&' token mailbox_test_CPUE1 line 93 1254317195848 760

system_description/alt_sys_init.c error: syntax error before '&' token mailbox_test_CPUE1 line 94 1254317195848 763

system_description/alt_sys_init.c error: syntax error before '&' token mailbox_test_CPUE1_syslib line 93 1254317180279 749

system_description/alt_sys_init.c error: syntax error before '&' token mailbox_test_CPUE1_syslib line 94 1254317180279 752

system_description/alt_sys_init.c error: syntax error before '==' token mailbox_test_CPUE1 line 92 1254317195848 758

system_description/alt_sys_init.c error: syntax error before '==' token mailbox_test_CPUE1_syslib line 92 1254317180279 747

system_description/alt_sys_init.c error: syntax error before "else" mailbox_test_CPUE1 line 92 1254317195848 759

system_description/alt_sys_init.c error: syntax error before "else" mailbox_test_CPUE1_syslib line 92 1254317180279 748

--- Quote End ---

I took a look at the concerned paragraph, and the errors come from:

--- Quote Start ---

ALTERA_AVALON_SGDMA_INIT( LCD_SGDMA, lcd_sgdma );

ALTERA_AVALON_MAILBOX_INIT( MAILBOX_E1, mailbox_e1 );

ALTERA_AVALON_MAILBOX_INIT( MAILBOX_O, mailbox_o );

--- Quote End ---

which I guess are macros.

I tried to program and run the main processor (from the neek) alone and - besides that I had to use an external terminal from the command shell to display the printf("hello from niosII") - it was successful only when I put the .stack in the ssram (it failed in the sdram)...

So, I think these points are consequences of a more global problem, and some help or clues would be very appreciated.

Thank you

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Check the include files to make sure there are no extra lines in the macro. i.e. stuff like this:

    # define IMAMACRO

    some code

    some more code

    etc....

    I forget how this happened to me last time but it has to do with the conversion of windows to linux ... or the other way around line feeds. For me I think it was the include files in the /app folder that caused it. By the way which version of the design are you using? Is it the one that came on the CD?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi,

    I am using the 9.0 version.

    I am not quite sure about what you are talking, but I saw some lines in the macro in alt_avalon_sgdma.h :

    --- Quote Start ---

    /*

    * The macro ALTERA_AVALON_SGDMA_INIT is called by the auto-generated function

    * alt_sys_init() to initialize a given device instance.

    */

    # define ALTERA_AVALON_SGDMA_INIT(name, dev)

    if (name##_IRQ == ALT_IRQ_NOT_CONNECTED)

    {

    ALT_LINK_ERROR ("Error: Interrupt not connected for "# dev ". "

    "The Altera Avalon Scatter-Gather DMA driver requires "

    "that an interrupt is connected. Please select an IRQ "

    "for this device in SOPC builder.");

    }

    else

    {

    alt_avalon_sgdma_init(&dev, name##_IRQ);

    }

    --- Quote End ---

    The problem is that these header files are automatically generated during the syslib building...so I should not modify these files.

    I am wondering if the problem comes from bad hardware in SOPC builder or from bad parameter/option in nios IDE...

    thank you for helping me!
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Actually when I saw this issue I think it was the 'driver code' that lives in the application folder. I can't remember which one it was but it was most likely either the I2C or video pipeline drivers that caused the issue for me. As a result I would see all kinds of errors during compilation that wouldn't even suggest that they were the problem mainly because it was the code after these macros that would error out. These drivers I'm referring to have their own directories in the application directory.