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 ICEV2 NOR Flash GPMC settings

Other Parts Discussed in Thread: AM3359

I'm developing a NOR Flash Writer Utility for the AM3359 ICEV2. Can anyone give me what the GPMC Congifuration settings need to be?

Thanks,

Ted 

  • Ted,
    I'm checking on this for you.

    Lali
  • Ted,

    There is a GPMC NOR example for the ICEv2 in the works for an upcoming release. Not sure of the timeline, but if all goes well, it should be out in the next few weeks.

    In the meantime, here are some config values that I managed to find. Please note that these are for the ICEv2 board. This might not give you a complete picture, but once the release goes out with the example, you should be able to see how everything fits. Also, note that what is shared below is  test info and not release ready, so they have not been tested properly yet.

    /* GPMC configuration structure */
    GPMC_v1_HwAttrs GPMCInitCfg[CSL_GPMC_CNT + 1] =
    {
        {
            CSL_GPMC_REG,                 /* gpmcBaseAddr */
            GPMC_DEVICETYPE_NORLIKE,      /* devType */
            GPMC_DEVICESIZE_16BITS,       /* devSize */
            GPMC_MUXADDDATA_ADMUX,        /* addrDataMux */
            GPMC_TIMEPARAGRANULARITY_X1,  /* timeLatency */
            0,                            /* chipSel */
            0x8000000U,                   /* chipSelBaseAddr */
    		GPMC_CS_SIZE_16MB,            /* chipSelAddrSize */
            132 + 32,                     /* intrNum */
            0,                            /* eventId */
            INVALID_INTC_MUX_NUM,         /* intcMuxNum */
            -1,                           /* intcMuxInEvent */
            -1,                           /* intcMuxOutEvent */
            false,                        /* intrEnable */
            0,                            /* waitPinNum */
            GPMC_WAIT_PIN_POLARITY_LOW,   /* waitPinPol */
            {
                0U,                       /* csOnTime */
                30U,                      /* csRdOffTime */
                30U,                      /* csWrOffTime */
                1U,                       /* advOnTime */
                3U,                       /* advRdOffTime */
                3U,                       /* advWrOffTime */
                0U,                       /* advAadMuxOnTime */
                0U,                       /* advAadMuxRdOffTime */
                0U,                       /* advAadMuxWrOffTime */
                13U,                      /* weOnTime */
                28U,                      /* weOffTime */
                5U,                       /* oeOnTime */
                28U,                      /* oeOffTime */
                0U,                       /* oeAadMuxOnTime */
                0U,                       /* oeAadMuxOffTime */
                0U,                       /* pageBurstAccessTime */
                24U,                      /* rdAccessTime */
                13U,                      /* wrAccessTime */
                31U,                      /* rdCycleTime */
                31U,                      /* wrCycleTime */
                7U,                       /* wrDataOnMuxBusTime */
                5U,                       /* cycle2CycleDelay */
                GPMC_CYCLE2CYCLESAMECSEN_C2CDELAY, /* cycleDelaySameChipSel */
                GPMC_CYCLE2CYCLEDIFFCSEN_NOC2CDELAY, /* cycleDelayDiffChipSel */
                0U                        /* busTurnAroundTime */
            },
            CSL_ELM_REG,                  /* elmBaseAddr */
            GPMC_NAND_ECC_ALGO_BCH_8BIT   /* eccAlgo */
        },
    };

    Hope this helps.

    Lali

  • Thanks Lali. I'll continue working on the CAN stuff then I'll come back to the nor flash writer. Maybe it will be done by then.
  • Hi Lali,

    Has the GPMC NOR example for the ICEv2 been release yet? Very eager to start on a NOR Flashwriter for our board which is based on the AM3359 ICE V2 design. It has been over a month and 1/2 since I first enquired. We are using a larger capacity NOR Flash chip from the same family as the NOR flash part on the ICEV2 board.

    Also does the current NAND flash writer in the SDK take an elf file and convert it to a binary before flashing the image or is there some tool available to do the elf to binary conversion on the development host? 

    Ted

  • Ted,
    Yes, its available under C:\ti\pdk_am335x_1_0_3\packages\MyExampleProjects\GPMC_Test_icev2AM335x_armExampleProject in the latest PSDK software-dl.ti.com/.../index_FDS.html

    Will need to check on the conversion question.

    Lali
  • Lali,

    Downloaded the link don't see it there. Actually I already have pdk_am335x_1_0_3 and didn't see it there either. Could u zip it and send it to me please?

    Thanks,

    Ted

  • Ted,

    You will have to build the examples. Please see processors.wiki.ti.com/.../Processor_SDK_RTOS_Software_Developer_Guide and processors.wiki.ti.com/.../Rebuilding_The_PDK

    There might be problems that may arise if you deviate from the build steps, so please check them out. You will have to ensure that the proper CCS v6 installation path on your PC be specified in pdkProjectCreate.bat and also ensure that you have "registered" your release installation with CCS. This is described in the build steps.

    Also, if you do run into trouble, please do a search on e2e (Sitara forums) for that error. Others might have encountered the same error reviously, and a solution may be posted on another thread.

    Lali
  • Lali,
    The GPMC example is not in the PDK. Did look at the docs which directed me to wikis Can't build and/or run which is not there. Think you may have the wrong PDK. In the mean-time I will check the forum.
    Ted
  • Ted,

    I don't understand.
    You will have to run \pdk_am335x_1_0_3\packages\pdkProjectCreate.bat in order to build the projects, otherwise it does not exist by default in the release.

    Lali
  • Lali,

    So I've built the projects via the .bat files as you indicated and discovered in various docs. Now I'm trying to build  GPMC_Test_icev2AM335x_armExampleProject and I'm getting the following error message:

    js: "C:/ti/pdk_am335x_1_0_3/packages/ti/drv/gpmc/test/am335x/armv7/bios/am335x_app_icev2am335x.cfg", line 175: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: can't locate the package 'C: ipdk_am335x_1_0_3packages idrvgpmcpackage i.drv.gpmc' along the path: 'C:/ti/edma3_lld_02_12_01_22/packages;C:/ti/bios_6_45_00_19/packages;C:/ti/pdk_am335x_1_0_1/packages;C:/ti/ndk_2_24_03_35/packages;C:/ti/ccsv6/ccs_base;C:/ti/xdctools_3_31_02_38_core/packages;..;'. Ensure that the package path is set correctly.

    I do see the package C:\ti\pdk_am335x_1_0_3\packages\ti\drv\gpmc\package\package_ti.drv.gpmc.c. Where do I find the "package path" so I can view/edit it ?

    Ted

  • Hi Lali,

    I fixed the build problem. There was a path missing in the java based XDC build tools. I am now porting over the GPMC NOR flash driver to a driver that supports our

    bare metal application.

    Any word when a NOR Flash Writer and Bootloader will be available for the ICEV2 Eval board?

    Ted

  • Lali,

    Attempting to port the IC3V2 AM3359 GPMC NOR Flash capabilities from pdk_am335x_1_0_3.

    Getting the following error "C:/N303/Firmware/trunk/Source/ti/osal/src/nonos/HwiP_nonos.c:56: undefined reference to `gCpuIntrf'".

    Ted

  • Ted,
    I'm unsure on what you are doing in the porting process, but gCpuIntrf seems to be defined at \pdk_am335x_1_0_3\packages\ti\osal\src\nonos\Nonos_config.h

    Please check that you have these definitions visible in your project properties.

    Lali
  • Thanks. I'm by this now the port is complete.
    Ted