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.

Mailboxes vs. MessageQs

Other Parts Discussed in Thread: SYSBIOS

Can someone please describe a bit about the distinction between Mailboxes and MessageQs?  It seems that there's been a "migration" from Mailboxes to MessageQs... I'm using SYS/BIOS 6.45.1.29 (on an OMAPL137), which has Mailbox support, but it seems that newer TI-RTOS versions support MessageQs?


Thanks.
Steve

  • Hi Steve,

    Basically, Mailboxes allow for communication between tasks while MessageQs allow for communication between processors. You can read more about IPC here: http://processors.wiki.ti.com/index.php/IPC_3.x

    Gilbert

  • I'm using an OMAPL-137 and I need to communicate between the cores. It looks like I only have Mailboxes at my disposal...How do you suggest I communicate between cores???

  • You would need to use IPC. You can download the latest version of IPC found here:

    You would most likely be using MessageQ and Notify API's.

  • You would most likely be using MessageQ and Notify API's.

    When editing my app.cfg, MessageQ is not an option - just Mailboxes... Suggestion on how to proceed?

  • Have you installed IPC? Have you tried to run any of the examples? There should be a MessageQ example you can look that has a cfg file setup. The MessageQ module can be defined as var MessageQ = xdc.useModule('ti.sdo.ipc.MessageQ'); but you might need to setup more than that to get it working.
  • Just made another forum post... when I include IPC, I get build errors like this:


    **** Clean-only build of configuration Debug for project ffff ****

    "C:\\ti\\ccsv6\\utils\\bin\\gmake" -k clean
    DEL /F "ffff.out" "configPkg\linker.cmd" "configPkg\compiler.opt" "ffff.hex"
    The system cannot find the file specified.
    gmake: [clean] Error 1 (ignored)
    RMDIR /S/Q "configPkg\"
    The system cannot find the file specified.
    gmake: [clean] Error 2 (ignored)
    DEL /F "main.pp"
    Could Not Find C:\Users\stephen.sanders\workspace_v6_1\ffff\Debug\main.pp
    DEL /F "main.obj"
    Could Not Find C:\Users\stephen.sanders\workspace_v6_1\ffff\Debug\main.obj
    'Finished clean'
    ' '

    **** Build Finished ****

    **** Build of configuration Debug for project ffff ****

    "C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
    'Building file: ../app.cfg'
    'Invoking: XDCtools'
    "C:/ti/xdctools_3_31_01_33_core/xs" --xdcpath="C:/ti/bios_6_45_01_29/packages;C:/ti/ipc_3_40_01_08/packages;C:/ti/ccsv6/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66 -p ti.platforms.evm6670 -r release -c "C:/ti/ti-cgt-c6000_8.1.0" --compileOptions "-g --optimize_with_debug" "../app.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring app.xe66 from package/cfg/app_pe66.cfg ...
    generating custom ti.sysbios library makefile ...
    generating custom ti.sdo.utils library makefile ...
    js: "C:\ti\ipc_3_40_01_08\packages\ti\sdo\utils\makefile.xdt#67(eval)", line 1: Error: template generation of 'C:\Users\stephen.sanders\workspace_v6_1\ffff/src/utils/makefile' failed: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.bios' along the path: 'C:/ti/bios_6_45_01_29/packages;C:/ti/ipc_3_40_01_08/packages;C:/ti/ccsv6/ccs_base;C:/ti/xdctools_3_31_01_33_core/packages;..;'. Ensure that the package path is set correctly.
    "C:/ti/ipc_3_40_01_08/packages/ti/sdo/utils/makefile.xdt", line 67
    "C:/ti/ipc_3_40_01_08/packages/ti/sdo/utils/makefile.xdt", line 201
    "C:/ti/ipc_3_40_01_08/packages/ti/sdo/utils/Build.xdt", line 82
    "C:/ti/ipc_3_40_01_08/packages/ti/sdo/utils/Build.xdt", line 86
    gmake.exe: *** [package/cfg/app_pe66.xdl] Error 1
    js: "C:/ti/xdctools_3_31_01_33_core/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
    gmake: Target `all' not remade because of errors.

    **** Build Finished ****

    Any ideas?

    Thanks.

    Steve
  • IPC is consider to be deprecated and is pointing to paths that no longer exist in newer versions of SYSBIOS. You would need to use an older version of SYSBIOS such as 5_42_01_09.

    I can try to help you to the best of my abilities, but for future questions on IPC, it may be better to ask on the OMAP-L13x device forum as they would be more knowledgeable on the matter:
    e2e.ti.com/.../42
  • Taking a very close look:

    rs\workspace_v6_1\ffff/src/u

    What's up with the reversal of the slash directionis?  \  to /. Could that be the root cause?

  • What's the replacement for IPC that will allow me to be up-to-date with SYSBIOS???

    Thanks.

    Steve
  • I think the issue is more "failed: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.bios'".
    If you look at the directory structure of the current version of SYSBIOS, you will not find a directory called bios since it changed to sysbios. SYSBIOS v5 does have the expected directory structure. Though, I do agree that the slash reversal is unusual.
  • | What's the replacement for IPC that will allow me to be up-to-date with SYSBIOS???

    I'm not sure. IPC development would have been passed on to OMAP-L13x team, if they wanted to still integrate it. That question should been more directed to the forum I directed you earlier.
  • This is actually an IPC version issue, not a SYSBIOS one.  IPC 3.4 and higher have this build problem.  3.36 and lower don't.

  • That's good to know. Does this mean you managed to get MessagesQ's added to your config?
  • yes - dropped back to an earlier version of IPC (3.10.2.13), then I could add MessageQ to my app.cfg...
  • That's great to hear. If your problem has been resolved, please mark this thread as answered.

    Thanks,
    Gilbert