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.

How to port SYSBIOS to an OEM board?

Other Parts Discussed in Thread: SYSBIOS

Equipment:
ICEv2.1 board,
CCSv6 vs 6.1.0.00104
TI XDS100v2 USB Emulator,
Windows 7, 64-bit, Service Pack 1
am335x_sysbios_ind_sdk_1.1.0.6
Compiler TI v5.2.4
PRU Compiler Tools 2.1.1
SYSBIOS(Target Content) 6.40.3.39
debug probe XDS100v2

Hi,
so far I have been using the ICEv2 board to build a project which uses PRUSS to have TCP/IP ethernet available.
Now the time has come to run that project on the final OEM board to see if it works. In our case this shall be phyCORE, manufactured by Phytec.

I have been warned by an expert that doing this would require a lot of time and effort, especially regarding memory adaptation and booting.

Does anybody know of a document/guide that explains how to proceed and where the pitfalls are? What has to be taken into consideration? Memory initialization (SDRAM, NAND and NOR flash) and so on?

Thank you.

Regards,
Martin H.

  • The latest SDK is AM335x_SYSBIOS_Industrial_SDK  01_01_00_08 which was released on June 5, 2015.

    This is available at

    http://software-dl.ti.com/sitara_indus/esd/AM335x_SYSBIOS_Industrial_SDK/latest/index_FDS.html

    Please check the release notes to see if there are any updates which may assist you.

     

    A porting guide is in development but is not expected to be available in the near term.

    In the mean time, we can offer some general guidance.

    The primary items which change in moving from one platform to another are the

    -          Pinmux settings

    -          Interrupt changes

    -          IO changes (MII, MDIO,GPIO)

    -          Clock and timer configuration changes.

    -          Different peripherals or components which require configuration.

     

    One of the key things to look out for are that that the MII and boot pins are shared.

    We need to first configure the pins to boot the device then later once the boot is complete

    configure the MII.

     

    There are several primary areas that will require updates to support the board change.

     

    The first step is to update the Gels

    The typical flow in updating the Gels is to update

    Emulation

    Clock

    Memory / DDR

    Boot

                    …

    The starterware section contains many of the board specific configuration items.

    These are primarily contained under

    <installation directory> \am335x_sysbios_ind_sdk_1.1.0.8\sdk\starterware\platform\evmAM335x

     

    There is board identification information in the board_identification.h and .c files under

    <installation directory> \am335x_sysbios_ind_sdk_1.1.0.8\sdk\starterware\tools\flash_writer\src

       \nand-flash-writer_AM335x\include and ..\src

     

    < installation directory>\am335x_sysbios_ind_sdk_1.1.0.8\sdk\starterware\tools\flash_writer\src

       \spi-flash-writer_AM335x\include and ..\src

     

    Outside of the starterware section there are platform specific definitions contained in files under

    <installation directory> am335x_sysbios_ind_sdk_1.1.0.8\sdk\platform\am335x

     

    Many of these settings can be quickly located by searching the source code for a comparison of the

    board type to a value like AM335X_BOARD_TYPE_ICE_V2

     

    David

  • Thank you for this valuable information.

    It would be interesting to read this porting guide once it is available.

    Will it be published in the wiki? Or is there a notification service regarding new articles?

    Martin H.

  • It is slated for publication later this year.

    Regretfully, there is not a notification service for new articles.

    David