• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Digital Signal Processors (DSP) » C6000 Multicore DSP » C64x Multicore DSP Forum » NDK Rx Filter on EVMC6472
Share
C6000 Multicore DSP
  • Forums
  • Announcements
Options
  • Subscribe via RSS
Training Available
TI provides self-paced online training that introduces the primary components of the KeyStone II family of SoC devices.

  • KeyStone II SoC Overview >
  • KeyStone II Software Overview >
  • KeyStone II ARM Cortex-A15 Corepac Overview >
  • More Information >
  • Check out
    Multicore Mix blog
    • $core_v2_blog.Current.Name

      Geeks UNITE for Geek Pride Day

      Posted 1 day ago
      by Lauren Reed1
      Happy Geek Pride Day from the Processors team! We wanted to celebrate...
    • $core_v2_blog.Current.Name

      OpenMP - All aboard!

      Posted 3 days ago
      by Debbie Greenstreet
      With so many end products today relying on multicore DSPs for...
    • $core_v2_blog.Current.Name

      A look back: Two years of Multicore Mix

      Posted 4 days ago
      by Lauren Reed1
      A big thank you to everyone who participated in our contest last...

    Forums

    NDK Rx Filter on EVMC6472

    This question is answered
    Nick Bedbury78040
    Posted by Nick Bedbury78040
    on Jul 13 2011 14:50 PM
    Expert1345 points

    Hi,

    I'm using CCSv4 with NDK 2.20.04.26, BIOS 6.30.02.42, IPC 1.21.02.23, XDCTOOLS 3.20.03.63, and XDAIS 7.10.00.06. 

    I'm using raw socket programming to send and receive UDP messages in a multithreaded application.  If I use a command line to send a UDP packet to my board at it's bound address/port, I receive the packet fine and can process the data.  However, when I send a message to the broadcast IP address (255.255.255.255), the board doesn't show any messages received.  I think it might have something to do with the EMAC RX Filter but I don't know how to determine what it's currently set as (like EMAC_RXFILTER_ALL or EMAC_RXFILTER_NOTHING).

    Another somewhat related question: if using socket programming, do calls to NETCNTL functions like NC_SystemOpen( ) affect the functionality of the MAC layer for non-NETCNTL tasks?  I have a Daemon function running separately from my UDP task and I'm not sure how much the NC_.... calls are related to general send( )/recv( ).  For instance, if I wanted to remove the Daemon, would a UDP recvnc( ) call still work if I no longer call NC_SystemOpen( ) and all the other NC_... setup functions?

    Thanks,

    Nick

    NDK C6472 CCS v4 EVM6472 NDK UDP 6472 helloworld c6472 EMAC multicore CCSv4
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Rong Zeng
      Posted by Rong Zeng
      on Jan 06 2012 02:51 AM
      Prodigy55 points

      Arun:

              Hi! I  have a similar problem  with Nick's,and look for your help~

              I use DM642 as a server to receive broadcast  message from PC.I tried to use PC to PC,it works,but PC to DSP,it failed.

              My  procedure run on DM642:

       1.  fdOpenSession(TaskSelf()); 
         
        2. bzero( &broadaddr, sizeof(struct sockaddr_in) );
                broadaddr.sin_addr.s_addr = inet_addr("192.168.1.77");
                broadaddr.sin_family = AF_INET;
                broadaddr.sin_port = htons(7000);                 
                broadaddr.sin_len  = sizeof(broadaddr);

       3. broadsock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
      4. setsockopt(broadsock,SOL_SOCKET,SO_RCVTIMEO,&timeout,sizeof(timeout));     
           setsockopt(broadsock,SOL_SOCKET,SO_BROADCAST,&so_broadcast,sizeof(int));
      
      
      
      
       setsockopt(broadsock,SOL_SOCKET,SO_IFDEVICE,(void *)&so_broadcast,sizeof(int));
      5. bind(broadsock,&broadaddr,len);
      6. recvfrom(broadsock,(void *)buf,100,MSG_WAITALL,(PSA)&broadClient,&len);
      7.fdCloseSession(TaskSelf());
      TaskBlock(TaskSelf());

      My client code runs on PC,and code above runs on DM642.   On  CCS,I use watch window to check buf,it has nothing.

      what 's the problem?is there anything wrong with Filter or NDK configuration?

      NDK UDP
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Steven Connell
      Posted by Steven Connell
      on Jan 06 2012 13:38 PM
      Mastermind20600 points

      Rong Zeng,

      Which version of the NDK are you using?

      There is a bug in the stack that causes (non-daemon) tasks to not receive broadcast packets:

      SDOCM00086184 NDK tasks are unable to receive broadcast packets (while daemon tasks can)

      The resolution is discussed in this forum thread, please refer to the thread post I made on 11-07-2011 9:54 PM

      If you are using an NDK that has shipped source code, you can apply the fix shown in that thread and rebuild your stack library.  Then rebuild your app against the newly rebuilt library and you should be able to receive broadcast packets from within your task.

      Steve

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    1234
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use