• 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 » Embedded Software » WinCE » WinCE forum » Problem in using PROC_read and PROC_write APIs at configured memory location
Share
WinCE
  • Forum
Options
  • Subscribe via RSS

Forums

Problem in using PROC_read and PROC_write APIs at configured memory location

This question is answered
chandrashekhar mishra
Posted by chandrashekhar mishra
on Mar 18 2010 03:37 AM
Intellectual915 points

Hi,

 I am using OMAP3530 based custom board on Windows CE 6.0. Using DSPLink_1.64, I want to send data buffer of 65K from gpp to dsp for some processing.As a starting point I am using readwrite sample application. As I need to send 65K size data buffer I changed memory configuration according to given link

http://wiki.davincidsp.com/index.php/Writing_DSPLink_Application_using_PROC_read_and_write_APIs

But whenever I am trying to access Memory location 0x8FC00000, it gives first chance exception. The debug messages are as follows:

PB Debugger Loaded symbols for 'C:\WINCE600\OSDESIGNS\UBMONITOR_OS\UBMONITOR_OS\RELDIR\UBMONITOR_OS_ARMV4I_DEBUG\READWRITEGPP.EXE'

336210 PID:207000a TID:45f0006 ============= Sample Application : READWRITE ==========

336210 PID:207000a TID:45f0006 Entered RDWR_Create ()

336210 PID:400002 TID:45f0006 DSP Clk Rate 430000

336210 PID:400002 TID:45f0006 RELFSD: Opening file readwrite.out from desktop

337291 PID:207000a TID:45f0006 Leaving RDWR_Create ()

337291 PID:207000a TID:45f0006 Entered RDWR_Execute ()

337291 PID:400002 TID:45f0006 Exception 'Data Abort' (4): Thread-Id=045f0006(pth=9023b75c), Proc-Id=00400002(pprc=8c04caa0) 'NK.EXE', VM-active=0207000a(pprc=9034a648) 'readwritegpp.exe'

337291 PID:400002 TID:45f0006 PC=c016da3c(k.coredll.dll+0x000ada3c) RA=c1065628(dsplinkk.dll+0x00005628) SP=d190fcd8, BVA=ffffffff

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Can Anyone share his experience to resolve my problem? Whether I am configuring memory map correctly on windows CE or I need to modify some other place.

Thanks & Regards,

Chandra Shekhar Mishra

 

WINCE DSPLINK DSPLINK rebuild in WINDOWS OMAP 3530
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Deepali Uppal
    Posted by Deepali Uppal
    on Mar 20 2010 14:22 PM
    Expert4930 points

    Hello,

    The wiki page was 1.5x specific and outdated. I have updated it to make it 1.6x compatible.

    The possible reasons for the crash are:

    1) The sample structures for WRITEMEM and READMEM given in the wiki page were copied into the DSPLink memory map. These structures are out of date when used for 1.64. I have updated the wiki page. Please check the latest structure definition.

    2) The entry number used by you are 6 for WRITEMEM and 7 for READMEM. These entry numbers are already in use. If you are updating the default memory map, you need to use 10 and 11 respectively.

    3) Is the address 0x8FC00000 valid for OMAP3530? After looking at the OMAP memory map, this address seems valid. So this can be ruled out as an issue.

    Please let me know if this helps. I can verify the DSPLink memory map if you attach it to this post.

    Deepali

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Jatin Jain
    Posted by Jatin Jain
    on Mar 21 2010 19:55 PM
    Suggested Answer
    Expert7250 points

    Hi,

    To add to Deepali's response, even though 0x8FC00000 is valid for OMAP3530 ES3.x silicon this needs to be reserved in config.bib else the WinCE kernel is told that it is available memory. Take a look at TI_EVM_3530/FILES/config.bib that reserves memory and find the right flags.  I'm not sure if you are using the latest EVM (Rev G) which has the OMAP ES3.x silicon. But as an example look at CMEM_DSP section that is used in config.bib to reserve the space for DSP memory/CMEM.

    Also take a look at the platform.reg that is in the same directory which shows examples of CMEM pool definitions. 

    Jatin

     

    ---

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • chandrashekhar mishra
    Posted by chandrashekhar mishra
    on Mar 21 2010 22:19 PM
    Intellectual915 points
    config.txt

    Hi Deepali,

    1) From which link I can get the latest structure definition.

    2) I used entry number 10 and 11 respectively.


    Hi Jatin,

    I also reserved memory for WRITEMEM and READMEM in config .bib.

    Also find the attached configuration files.
    Is there any other thing I need to check?

    Thanks & Regards,
    Chandra Shekhar Mishra

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • chandrashekhar mishra
    Posted by chandrashekhar mishra
    on Mar 21 2010 22:23 PM
    Intellectual915 points
    CFG_OMAP3530_SHMEM.txt

    It seems I can only attach single file to a post I am attaching DSPlink Memry configuration and DSP Memory configuration seperatly.

     

    Thanks,

    Chandra Shekhar Mishra

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • chandrashekhar mishra
    Posted by chandrashekhar mishra
    on Mar 21 2010 22:25 PM
    Intellectual915 points
    dsplink-omap3530-base.txt

    Now this is my DSP Memory configuration.

     

    Thanks,

    Chandra Shekhar Mishra

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Deepali Uppal
    Posted by Deepali Uppal
    on Mar 22 2010 01:14 AM
    Expert4930 points

    Hello,

    For config.bib file, I will let Jatin review it.

    Regarding CFG_OMAP3530_SHMEM.c, the structure was outdated and corresponding to 1.5x and not 1.6x DSPLink release. I have updated the wiki page http://wiki.davincidsp.com/index.php/Writing_DSPLink_Application_using_PROC_read_and_write_APIs for the latest structure definition and also pasted the correct definition below. Please use this. The DSP side configuration seems correct.


        {
            10,                            /* ENTRY          : Entry number */
            "WRITEMEM",           /* NAME           : Name of the memory region */
            0x8FC00000,              /* ADDRPHYS       : Physical address */
            0x8FC00000,              /* ADDRDSPVIRT    : DSP virtual address */
           (Uint32) -1u,            /* ADDRGPPVIRT    : GPP virtual address (if known) */
            0x100000,              /* SIZE           : Size of the memory region */
           FALSE,                  /* SHARED         : Shared access memory */

           FALSE,                  /* SYNCD          : Synchornized */
        },
        {
            11,                           /* ENTRY          : Entry number */
            "READMEM",           /* NAME           : Name of the memory region */
            0x8FD00000,            /* ADDRPHYS       : Physical address */
            0x8FD00000,            /* ADDRDSPVIRT    : DSP virtual address */
           (Uint32) -1u,          /* ADDRGPPVIRT    : GPP virtual address (if known) */
            0x100000,            /* SIZE           : Size of the memory region */
            FALSE,               /* SHARED         : Shared access memory */

            FALSE,               /* SYNCD          : Synchornized */
        }

     

    Deepali

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Jatin Jain
    Posted by Jatin Jain
    on Mar 22 2010 18:17 PM
    Verified Answer
    Verified by Gary Tominovich
    Expert7250 points

    Hi,

    READMEM and WRITEMEM appear to be fine with the new config.bib (again I assume you are using Rev G EVM. If not then this address will not be valid). How are you accessing the memory on the ARM side. You should be using the virtual address (same as the one used in config.bib) i.e, (0x8FC00000 + 0x4000000).

    Jatin

     

    ---

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • chandrashekhar mishra
    Posted by chandrashekhar mishra
    on Mar 22 2010 22:25 PM
    Intellectual915 points

    Hi Jatin,

    I am not using EVM board. It is custom OMAP3530 based board. But after looking into the platform builder debug messages I can say that we are using silicaon Rev 3.1. As messages are like that.

    4294767296 PID:0 TID:2 Processor Revision : 3.1

    4294767296 PID:0 TID:2 Silicon ID Code Reg : 0x4b7ae02f

    4294767296 PID:0 TID:2 CPU Main ID Register : 0x411fc083

    4294767296 PID:0 TID:2 Architecture ID : 0x0000000f

    4294767296 PID:0 TID:2 ARM Ver : ARMv6 or greater

    4294767296 PID:0 TID:2 -----------------------------------------

    And I passed the virtual address from ARM code to readwrite application but it was giving first chance exception.

    For the time being I increased code/data section Memory map in both gpp and dsp side and able to transfer buffer of 1MB in that memory location. 

    Regards,

    Chandra Shekhar Mishra

     

     

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Deepali Uppal
    Posted by Deepali Uppal
    on Mar 24 2010 09:36 AM
    Expert4930 points

    Chandra,

    Did your issue get resolved?

    Deepali

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • chandrashekhar mishra
    Posted by chandrashekhar mishra
    on Mar 24 2010 10:49 AM
    Intellectual915 points

    Hi Deepali,

    Still I am not able to allocate separate WRITEMEM and READMEM memory section.But by increasing the code/data section  in default memory maps I can send and receive 1MB data between gpp and dsp.I dont know whether this is a correct method to do that.  I am developing some application and subsequently after testing I can confirm whether it is resolved or not.

    Regards,

    Chandra Shekhar Mishra

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Deepali Uppal
    Posted by Deepali Uppal
    on Mar 26 2010 00:57 AM
    Expert4930 points

    Chandra,

    Please send the specific error so we can debug it further.

     

    Deepali

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
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