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.

CCS/AM3358: Starterware SD card software

Part Number: AM3358
Other Parts Discussed in Thread: AM3359, SYSBIOS, SEGGER

Tool/software: Code Composer Studio

I have developed a Code Composer Studio aplication for BeagleBone Black that gets data
from a Flir Boson camera and transmits the data via ethernet

I now want to add SD card write and read to the project.

I found an example project in starterware - C:\ti
\AM335X_StarterWare_02_00_01_01\examples\beaglebone\hs_mmcsd - and started to merge the
code.


When I compile, I get these errors....

unresolved symbol HSMMCSDModuleClkConfig, first referenced in ./Demo_Sources/main.obj
snmp_agent_demo C/C++ Problem
unresolved symbol HSMMCSDPinMuxSetup, first referenced in ./Demo_Sources/main.obj
snmp_agent_demo C/C++ Problem


..... even though they are referenced in #include "beaglebone_black.h"


Two other calls....

/* Configure the EDMA clocks. */
EDMAModuleClkConfig();

/* Configure EDMA to service the HSMMCSD events. */
HSMMCSDEdmaInit();

compile OK?

Can any one put me straight on this? What am I missing?

Thanks in advance

  • The software team have been notified. They will respond here.
  • Steve,

    Please use the example in the AM335x Processro SDK RTOS package located at C:\ti\pdk_am335x_1_0_9\packages\MyExampleProjects\MMCSD_bbbAM335x_DMA_armTestproject
    software-dl.ti.com/.../index_FDS.html
    Please follow the instructions here to build the examples. processors.wiki.ti.com/.../Processor_SDK_RTOS_Building_The_SDK

    Starterware support is no longer available, so please use this example as the starting point.

    Lali
  • Hi

    When I downloaded the  AM335x Processor SDK RTOS and followed the instructions issued, I did not get  the

    C:\ti\pdk_am335x_1_0_9\packages\MyExampleProjects\ 

    folder...

    I did get......C:\ti\pdk_am335x_1_0_9\packages\ti\starterware\examples\

    The nearest software I found was..........

    .C:\ti\pdk_am335x_1_0_9\packages\ti\starterware\examples\mmcsd\hsmmcsd_app_pol.c

    Have I missed a step?

    Thanks

  • Steve,

    Did you build the PDK as described here processors.wiki.ti.com/.../Rebuilding_The_PDK ?
    C:\ti\pdk_am335x_1_0_9\packages\MyExampleProjects\ isn't available by default, it needs to be built.

    Lali
  • I have found these instructions and have progressed some,.

    But getting these errors when running the pdkprojectscreate batch file...

    sorry...


    C:\ti\PDK_AM~1\packages>pdkprojectcreate
    =========================================================================
    Configuration:
    SOC : AM335x
    BOARD : all
    ENDIAN : little
    MODULE : all
    PROJECT_TYPE : all
    PROCESSOR : arm
    PDK_SHORT_NAME : C:\ti\PDK_AM~1\packages\
    =========================================================================
    Checking Configuration...
    Complete
    =========================================================================
    PDK_PARTNO : AM335
    PDK_ECLIPSE_ID : com.ti.pdk.am335x
    RTSC_PLATFORM_NAME : ti.platforms.evmAM3359
    RTSC_TARGET : gnu.targets.arm.A8F
    CCS_DEVICE : "Cortex A.AM3359.ICE_AM3359"
    *****************************************************************************
    Detecting all projects in PDK and importing them in the workspace C:\ti\PDK_AM~
    \packages\\MyExampleProjects
    Detected Test Project: EMAC_BasicExample_evmAM335x_armExampleproject

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

    Creating project 'EMAC_BasicExample_evmAM335x_armExampleproject'...

    !ERROR: No products of type 'com.ti.rtsc.SYSBIOS' are currently installed!

    Copying macro.ini
    The system cannot find the path specified.
    0 file(s) copied.
    Detected Test Project: EMAC_BasicExample_skAM335x_armExampleproject

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

    Creating project 'EMAC_BasicExample_skAM335x_armExampleproject'...

    !ERROR: No products of type 'com.ti.rtsc.SYSBIOS' are currently installed!

    Copying macro.ini
    The system cannot find the path specified.
    0 file(s) copied.
    Detected Test Project: GPIO_LedBlink_bbbAM335x_armTestProject

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

    Creating project 'GPIO_LedBlink_bbbAM335x_armTestProject'...

    !ERROR: No products of type 'com.ti.rtsc.SYSBIOS' are currently installed!

    Copying macro.ini
    The system cannot find the path specified.
    0 file(s) copied.
    Detected Test Project: GPIO_LedBlink_icev2AM335x_armTestProject
  • Steve,

    Did you Run pdksetupenv.bat first as in the instructions?
    I don't see where you entered the subsequent flags to pdkprojectcreate.bat in your command.
    i.e pdkProjectCreate.bat [soc] [board] [endian] [module] [project type] [processor]

    Did you register your installed components with CCS?

    "Ensure all dependent/prerequisite products are installed and registered with CCS before proceeding with the examples and/or unit test. Starting CCS after installing the Processor SDK products will cause CCS to find and register any new products. Errors will occur during PDK project creation if any dependent products have not been registered with CCS."

    Lali

  • I have now run pdksetupenv.bat

    I now get this below - why is this so hard?


    C:\ti\PDK_AM~1\packages>pdkprojectcreate AM335x all little all all arm
    =========================================================================
    Configuration:
    SOC : AM335x
    BOARD : all
    ENDIAN : little
    MODULE : all
    PROJECT_TYPE : all
    PROCESSOR : arm
    PDK_SHORT_NAME : C:\ti\PDK_AM~1\packages\
    =========================================================================
    Checking Configuration...
    Complete
    =========================================================================
    PDK_PARTNO : AM335
    PDK_ECLIPSE_ID : com.ti.pdk.am335x
    RTSC_PLATFORM_NAME : ti.platforms.evmAM3359
    RTSC_TARGET : gnu.targets.arm.A8F
    CCS_DEVICE : "Cortex A.AM3359.ICE_AM3359"
    *****************************************************************************
    Detecting all projects in PDK and importing them in the workspace C:\ti\PDK_AM~1
    \packages\\MyExampleProjects
    Detected Test Project: EMAC_BasicExample_evmAM335x_armExampleproject

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

    Creating project 'EMAC_BasicExample_evmAM335x_armExampleproject'...

    !ERROR: No products of type 'com.ti.rtsc.SYSBIOS' are currently installed!

    Copying macro.ini
    The system cannot find the path specified.
    0 file(s) copied.
    Detected Test Project: EMAC_BasicExample_skAM335x_armExampleproject
    Copying macro.ini
    0 file(s) copied.
    Terminate batch job (Y/N)?
  • Steve,

    The steps mentioned in the wiki need to be followed to get it to build.
    Here is a video of the procedure that would help training.ti.com/processor-sdk-device-drivers-setup-test

    Did you register your installed components with CCS?

    "Ensure all dependent/prerequisite products are installed and registered with CCS before proceeding with the examples and/or unit test. Starting CCS after installing the Processor SDK products will cause CCS to find and register any new products. Errors will occur during PDK project creation if any dependent products have not been registered with CCS."

    Lali
  • All I want is to be able to write to the sd card....


    Setting Up and Testing Processor SDK RTOS Device Drivers
    with Texas Instruments

    This is a modal window.
    This video is either unavailable or not supported in this browser
    Error Code: MEDIA_ERR_SRC_NOT_SUPPORTED
    Technical details :
    No compatible source was found for this media.
    If you are using an older browser please try upgrading or installing Flash.
    Session ID: 2018-01-03:ad59d4b44e10805169c617d Player ID: video-1
  • Hi

    I managed to run the video in a different browser - OK now.

    Thanks to this I discovered that I had missed an important step - CCS needs to process the new products before the 'myexample' projects can be generated.

    These projects are now generated and I can open them in CCS.

    However, I cannot open the c source files in CCS  -  I get a 

    "Must specify a URI scheme:PDK_INSTALL_PATH/ti/drv/uart/soc/am335x/UART_soc.c" message for each.

    I don't know what a URI scheme is, I'm afraid.

    I guess this is a CCS/Eclipse issue. I have been, and will continue to do so, googling for a solution.

    If you could put me right on this quickly, I would be most grateful.

  • Hi

    I have found that, if I IMPORT the example project "Project/Import CCS project" rather than "file/open projects from file system", the path variables get sorted out and I can view the source code.

    If have compiled and run my first example project:)

    I don't see any example project for ethernet?

    and

    I don't see any example project for writing to Nand flash - this is the most pressing for me - the sd card work was just a first step towards that.

    Many thanks for the help so far..
  • Steve,

    Great that you got things moving in the right direction!

    For Ethernet examples, see the examples that have a "NIMU" name.

    GPMC NAND/NOR example is C:\ti\pdk_am335x_1_0_9\packages\MyExampleProjects\GPMC_Test_icev2AM335x_armExampleProject

    Lali

  • The NAND flash I would like to write to is the MTFC4GLEA where the OS normally resides.

    Is this example project appropriate?

    C:\ti\pdk_am335x_1_0_9\packages\MyExampleProjects\MMCSD_bbbAM335x_EMMC_armTestproject

    thanks

    steve
  • Steve,

    MMCSD_bbbAM335x_EMMC_armTestproject is an EMMC based project. I don't think that will work.
    You want to look at the GPMC based example if using NAND.

    processors.wiki.ti.com/.../03_GPMC_Subsystem

    Lali
  • There is no GPMC device in my project  - using beaglebone black for development.

    I need to write to the MTFC4GLDEA 0M WT 4gb nand which is normally used to store Linux.

    Are you saying there is no example project or support in Processor SDK for this function?

  • Steve,

    The GPMC example that's provided in the SDK is for the ICEv2 board which is GPMC_Test_icev2AM335x_armExampleProject
    This writes to the NOR device M29W160EB on the ICEv2.

    So, you could reuse this example for NAND on the Beaglebone Black (BBB). There isn't a ready-to-go example for the BBB using the NAND on the board.

    Hope this clarifies.

    Lali
  • Lalindra

    It is a shame here isn't a ready-to-go example for the BBB using the NAND on the board. I am not sure I am technically capable of writing my own.

    But, more urgently, I need to be able to boot from my project (Processor SDK or Starterware).

    Do you have instructions on how to get a BBB (and/or Octavo Red) to boot from a Code Composer Studio binary? I don't have an SD card in my project, so I guess this would be based on u-boot?

    Thanks

  • Steve,

    I'm confused.
    Your first post said "I now want to add SD card write and read to the project." but now you mentioned" I don't have an SD card in my project,"

    Also, u-boot is the bootloader for Linux. Are you running Linux?

    "I have developed a Code Composer Studio aplication for BeagleBone Black that gets data
    from a Flir Boson camera and transmits the data via ethernet"

    Are you just wanting to load your CCS .out file onto the AM335x and run this project?
    Do you have a debugger attached to your BBB?

    Lali
  • Lalindra

    Sorry, didn't mean to confuse you.

    My idea was to add an sd card interface to my development rig (Beaglebone Black to start with) as a stepping stone towards the final project. I was aware that writing to the  MTFC4GLDEA nand flash would be more complicated and was going to do that later.

    The project does not involve Linux. It is a bare metal application that talks to the Flir Boson IR camera and either outputs the data via ethernet or writes it to flash. I use CCS7 and a Segger J-link debug adaptor.

    I can successfully compile my project in CCS and debug using the Segger J-link debug adaptor. But, this just puts it in RAM and does not persist when the target is re-booted.

    To talk to the Boson flash involves a very tight control loop, so an OS is an unnecessary overhead.

    This working Starterware project  talks to  the Flir Boson camera (320 * 256 infrared array) at 22.5Hz and transmits the data as UPD packets over the ethernet. This is for the Ferrari F1 team 2018 cars. This works well..... but...

    I have two problems.

    1 I don't know how to get the BBB to boot up this application rather than Linux  - i believe the solution is via U-boot. 

    2 I can't produce the second product for Ferrari which saves the data to MTFC4GLDEA flash instead of transmitting it to the ethernet because there is no code from TI for this

    and a third....

    we willl be using the Octavo OSD335x device which is subtly different - but that's not your problem:)

    I hope this makes it clearer.

    The history is that we were looking for a microprocessor that had the high  processor speed and large  RAM required to achieve the objectives of the project. The AM335x seemed the answer, but the emphasis on it being an applications processor using Linux has made it very difficult to use. We are used to microprocessors with zero boot-up time, And, being able to write a program that would just run....

    Please help....

  • Steve,

    Ah, ok that clarifies :)
    So, if we can get you instructions on booting your bare metal application off the SD card, that would get you moving in the right direction (address #1)? I can instruct you how to generate the .bin from the CCS .out that would go on the SD card.

    Then try to figure out #2?

    Lali
  • Lalindra

    I know how to create the binary file from CCS and understand the MOL and APP approach.

    But there will be no SD card in the final product - there is no room for it. These IR sensors are space limited. I need to be able to boot from the MTFC4GLDEA nand flash.

    Thanks

    steve
  • Steve,

    You may be able to take the Linux route to flash your application on to the eMMC MTFC4GLDEA on the BBB.
    Check this out and see if this would be feasible for your solution e2e.ti.com/.../532448

    Lali