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.

AM3359: DPRAM missing on ICEv1

Other Parts Discussed in Thread: AM3359, PROFIBUS, SYSBIOS

Hi,

Got the AM3359 ICE board today. Unfortunately the Dual Port RAM is not populated. Both schematic and assembly does not show that this part is optional.
Is this done on purpose? If we populate it, does it work? Is there any note for it?

The board is labeled as "1.0A". Does this match to schematic rev. a2? If not is there a schematic for "1.0A" and an errata for "1.0A"

Thanks for any support.

P. Ruf

  • Hi,

    yes, current badge of ICE ships without Dual Port RAM. The docs need to be corrected.

    Also revA2 is the latest and should match your board. Not sure why the stickers have changed...but we have the same here.

    Regards.

  • Augh, no Dual Port RAM? I just bought one too; it arrives tomorrow.

    Looking at the schematic I'm wondering if there is a layout mistake. I see that GPMC_A0 is hooked up, but the AM335x TRM says that for a 16 bit device, GPMC_A0 is not used. You connect GPMC_A1 to A0 of a non-multiplexed 16 bit wide device...

    I'm guessing we won't be able to populate the device and have it work properly, either?

  • Oh maybe not.. A0 comes from the address latch on that same page.. and AD[0] is A[1] when the address is latched..

  • Does the Dual Port RAM works if we populate it?
    What is the reason why TI does not populate it? Cost?

  • Anyone from TI who knows more about the Dual Port RAM and the questions from the 20th of March?

  • To add to the questions... How do we talk to it once it is populated? Any example code available?

  • Drew, Pruf

    We only did very limited testing with the DPRAM and it did pass a basic memory test. Beside this no extensive tests have been done nor will done as ICE ships without DPRAM. If it helps I can dig up the GPMC init code for the DPRAM and share it here (it is based on StarterWare). Note that I would provide the code snipped as is, and you can verify yourself that the timing parameter will match with the used DPRAM.

    Would this help you?

    Regards,

     Thomas

  • That would help, thanks!

    I'm thinking of just jumpering the address and data buses across the DPRAM so that I can use J12 to memory map another board into the ICE. I have an existing board that I want to replace the processor on and the AM3359 looks really sweet! Looks like some tricky soldering though... Maybe I should have gotten the beaglebone instead..

    The first thing I'll want to see is activity on gpmc_csn1.. So I'm wondering what will I need to setup / where will I need to read/write to make that pin go low?

    Any good starterware code that you suggest we read?

  • Thomas,

    That would help. I plan to do first steps with the "AM335x SYS/BIOS Industrial SDK". Do you think the GPMC init code will work? Anyway I would appreciate if you could share the code.

    As I'm new to the Sitare World (used the C2000 familiy) two beginners question:

    1. Is "StarterWare" compareable to the header packages for C2000?
    2. Is "AM335x SYS/BIOS Industrial SDK" a good choice to start with?

    Thanks for the support.

    Patrick

  • Patrick,

    no, Starterware is coming from the Stellarisware code we provide for Stellaris Cortex-M3 processors. So DSP headers should be different to my mind. But at least you are familiar to Code Composer Studio, correct? Otherwise we do share some peripherals with DSPs so they  might be familiar to you. Obviously the core and many control structures are totally different.

    The Industrial Automation SDKs main intent is to provide a package for customers interested in industrial communications protocols such as Profibus, EtherCAT, Powerlink, Profinet and so on. That is why it is Sys/Bios 6 based for full real-time capability and not using a high level OS. Also IA-SDK contains a special version that supports ICE and IDK while the standard release of Starterware does not (at least for now).

    So if you want to use ICE with real-time Ethernet this should be the right choice. If you are more into HLOS then BeagleBone would be a better choice as this has full Linux SDK and a larger community. See Beagleboard.org!

    Regards.

  • Drew, Patrick,

    Attached is the DPRAM access example using the IA-SDK. The example is based on the Hello example from the SysBios Wizard, but then modified to add GPMC/DPRAM example code. You will see that it is setting up the pinmux, performs GPMC initialization (CS1 is mapped at 0x09000000), and finally writing and reading to/from the memory at 0x09000000.

    I recommend to read the AM335x TRM section on GPMC, so you understand how to setup / adopt the timing parameters.

    Drew: BeagleBone also exposes the GPMC on the pin header, and it might be easier to access the GPMC bus. Note that if you have very long wires between the AM335x board and your board, you may need to adjust the GPMC speed.

    Regards,

     Thomas

    1641.GPMC_DRAM_example.zip

  • Thomas, Frank,

    Thanks for the effort.

    Best regards,

    Patrick

  • It would be very helpful!

    GPMC has tons of config registers, a little help with init code could speed up my work :-)

  • Hi eugenio

    I'm AM3359 ICE board user... I think you have useful information for me..

    Did you control your dpram with ICE board successfully?? and please let me know your initial code.. or anything...

    in my case above sample code doesn't work properly..  only a few times show me successful memory test result..... no more..

    Best Regards

    Moonsun

  • Hello Thomas

    these days im looking for some help on AM3359 communicating with DPRAM.Luckly, i have read your replay. would you mind share your code with me,or give me some advice?

    Regards,

    OMY

  • Hi OMY,

    The GPMC code was attached, see 4 entries above (Thu, Mar 29 2012) . I also recommend to read first the AM335x TRM on the chapter about GPMC. When you still have questions, please open a new forum thread and ask your question.

    Thanks,
    Thomas