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.

TMDXSK437X: AM437x Starter Kit

Part Number: TMDXSK437X

Hi Team,

Can you please help us with the following inquiries of our customer?

I have 2 AM437x Starter Kits and I am trying to figure out the following:

1). Both boards are the same hardware, but one has an older version of Linux then the other. Where is the images or compilation software?

2). how do I back up the micro SD boot card.

3). in the quick start guide it shows plugging in the Micro SD adaptor to start development, but there is no development for windows? Where can I get the best Windows version?

4). I need to do I2C and I can see the commands, but I need some I2C development examples for this board.

5). Do I need to compile my own drivers for Embedded Linux for I2C? Since all the commands are there, it seems I can  use those commands.

6). If I need to, where is an example where I can compile my own I2C drivers if needed?

Regards,

Danilo

  • Hi Danilo,

    Your questions cover multiple areas. Let me first route your queries to our Linux I2C experts for comments.

  • Hello,

    I cant seem to find an example C code for doing a simple EEPROM read/write for the AM437x. If you have a link that would be great.

    Thanks in advance! 

  • Hello Danilo,

    The AM437x Linux SDK and images can be reached here:

    https://www.ti.com/tool/PROCESSOR-SDK-AM437X

    TI only provides Linux SDKs for installation on Linux PCs. Windows can be used to load prebuild images onto SD cards, but as far as I can tell the Windows OS does not really support Linux development.

    Is there a specific I2C driver you are trying to use?

    Regards,

    Nick

  • Thanks Nick. I am wanting a simple c code example to compile on the AM437x Evalt board for I2C to read/write the EEPROM. I found a complicated one that is under starterware-DEV.PROCESSOR-SDK_06.03.00.106\examples\i2c. However it requires many .h files that I cannot find. I would like one I can compile with gcc on the eval board itself. There must be a simple example for this board as I2C is well known.

    Thanks in advance!

  • One more thing I was able to compile a simpler one binToc.c under the starterware-DEV.PROCESSOR-SDK_06.03.00.106\tools\binToC.

  • For instance I have the following .c / .h files:

    board.h
    -rw-r--r-- 1 root root 14017 Apr 19 2020 cache.h
    -rw-r--r-- 1 root root 10001 Apr 19 2020 chipdb.h
    -rw-r--r-- 1 root root 10012 Apr 19 2020 chipdb_defs.h
    -rw-r--r-- 1 root root 6775 Apr 19 2020 console_utils.h
    -rw-r--r-- 1 root root 10773 Apr 19 2020 dcard.h
    -rw-r--r-- 1 root root 6559 Apr 19 2020 device.h
    drwxr-xr-x 2 root root 4096 Apr 19 2020 eeprom_read
    -rw-r--r-- 1 root root 12826 Apr 19 2020 eeprom_read_app_main.c
    -rw-r--r-- 1 root root 4242 Apr 19 2020 error.h
    -rw-r--r-- 1 root root 4380 Apr 19 2020 example_utils_mmu.h
    -rw-r--r-- 1 root root 25223 Apr 19 02:34 i2c_app.c
    -rw-r--r-- 1 root root 7668 Apr 19 02:33 i2c_app.h
    -rw-r--r-- 1 root root 5705 Apr 19 2020 misc.h
    -rw-r--r-- 1 root root 9707 Apr 19 2020 mmu.h
    -rw-r--r-- 1 root root 10915 Apr 19 2020 pinmux.h
    -rw-r--r-- 1 root root 4098 Apr 19 2020 platform.h
    -rw-r--r-- 1 root root 4501 Apr 19 2020 soc.h
    -rw-r--r-- 1 root root 2850 Apr 19 2020 types.h

    When I try to compile : gcc -Wall eeprom_read_app_main.c i2c_app.c -o eeprom_read

    I get :

    console_utils.h:53:10: fatal error: hw_types.h: No such file or directory
    #include "hw_types.h"
    ^~~~~~~~~~~~
    compilation terminated.
    i2c_app.c:51:10: fatal error: prcm.h: No such file or directory
    #include "prcm.h"
    ^~~~~~~~

    I could find most of the .h files but not these and there may be more.


    -rw-r--r-- 1 root root 2850 Apr 19 2020 types.h

  • OK I found all the .h files and now I am getting these errors:

    Do I need to build with the cross compiler? Also, like I said, a simpler one would be good.

    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: /tmp/ccIMkmEF.o: in function `main':
    eeprom_read_app_main.c:(.text+0x14): undefined reference to `MMUConfigAndEnable'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x20): undefined reference to `CACHEEnable'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x4c): undefined reference to `BOARDInit'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x54): undefined reference to `CONSOLEUtilsInit'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x5c): undefined reference to `CONSOLEUtilsSetType'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x68): undefined reference to `CONSOLEUtilsPrintf'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x78): undefined reference to `CONSOLEUtilsPrintf'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x7c): undefined reference to `SOCPrintInfo'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x80): undefined reference to `BOARDPrintInfo'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0xd4): undefined reference to `CONSOLEUtilsPrintf'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x100): undefined reference to `CONSOLEUtilsPrintf'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x12c): undefined reference to `CONSOLEUtilsPrintf'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x140): undefined reference to `CONSOLEUtilsPrintf'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x150): undefined reference to `CONSOLEUtilsPrintf'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: /tmp/ccIMkmEF.o:eeprom_read_app_main.c:(.text+0x160): more undefined references to `CONSOLEUtilsPrintf' follow
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: /tmp/ccIMkmEF.o: in function `I2cAppBoardInfoGet':
    eeprom_read_app_main.c:(.text+0x198): undefined reference to `BOARDGetDeviceCtrlModId'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x1b4): undefined reference to `CONSOLEUtilsPrintf'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x1d0): undefined reference to `BOARDGetDeviceCtrlModInstNum'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x1e0): undefined reference to `BOARDGetDeviceCtrlInfo'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x208): undefined reference to `CONSOLEUtilsPrintf'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x21c): undefined reference to `CONSOLEUtilsPrintf'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x22c): undefined reference to `CONSOLEUtilsPrintf'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x25c): undefined reference to `CONSOLEUtilsPrintf'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: /tmp/ccIMkmEF.o: in function `I2cAppSocInfoGet':
    eeprom_read_app_main.c:(.text+0x298): undefined reference to `CHIPDBIsResourcePresent'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x2b8): undefined reference to `CHIPDBBaseAddress'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x2c8): undefined reference to `SOCGetSocFamilyId'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: /tmp/ccIMkmEF.o: in function `I2cAppEepromRead':
    eeprom_read_app_main.c:(.text+0x398): undefined reference to `CONSOLEUtilsPrintf'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x3d0): undefined reference to `CONSOLEUtilsPrintf'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: eeprom_read_app_main.c:(.text+0x3fc): undefined reference to `CONSOLEUtilsPrintf'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: /tmp/ccIaGrHR.o: in function `I2CAppModuleInit':
    i2c_app.c:(.text+0x2c): undefined reference to `PRCMModuleEnable'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x54): undefined reference to `PINMUXModuleConfig'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: /tmp/ccIaGrHR.o: in function `I2CAppCtrlInit':
    i2c_app.c:(.text+0x9c): undefined reference to `I2CModuleEnable'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xac): undefined reference to `I2CSoftReset'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xc0): undefined reference to `I2CAutoIdleEnable'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xf4): undefined reference to `I2CClkConfig'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x134): undefined reference to `I2CFifoThresholdConfig'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x150): undefined reference to `I2CFifoThresholdConfig'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x164): undefined reference to `I2CIntrDisable'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x178): undefined reference to `I2CModuleEnable'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x198): undefined reference to `I2CSystemStatus'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: /tmp/ccIaGrHR.o: in function `I2CAppWrite':
    i2c_app.c:(.text+0x2f8): undefined reference to `I2CMasterSetSlaveAddr'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x30c): undefined reference to `I2CSetDataCount'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x320): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x334): undefined reference to `I2CSetMode'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x344): undefined reference to `I2CStart'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x354): undefined reference to `I2CStop'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x378): undefined reference to `I2CIntrEnable'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x404): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x44c): undefined reference to `I2CPutTxData'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x45c): undefined reference to `I2CIntrRawStatus'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x4d8): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x510): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x524): undefined reference to `I2CBufStatus'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x568): undefined reference to `I2CPutTxData'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x578): undefined reference to `I2CIntrRawStatus'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x5e8): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x650): undefined reference to `I2CFifoFlush'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x664): undefined reference to `I2CSetDataCount'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x678): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: /tmp/ccIaGrHR.o: in function `I2CAppRead':
    i2c_app.c:(.text+0x758): undefined reference to `I2CMasterSetSlaveAddr'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x76c): undefined reference to `I2CSetDataCount'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x780): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x794): undefined reference to `I2CSetMode'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x7a4): undefined reference to `I2CStart'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x7b4): undefined reference to `I2CStop'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x7d8): undefined reference to `I2CIntrEnable'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x864): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x880): undefined reference to `I2CGetRxData'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x8bc): undefined reference to `I2CIntrRawStatus'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x938): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x970): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x984): undefined reference to `I2CBufStatus'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x99c): undefined reference to `I2CGetRxData'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x9d8): undefined reference to `I2CIntrRawStatus'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xa48): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xab0): undefined reference to `I2CFifoFlush'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xac4): undefined reference to `I2CSetDataCount'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xad8): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: /tmp/ccIaGrHR.o: in function `I2cAppInterruptConfig':
    i2c_app.c:(.text+0xb50): undefined reference to `INTCInit'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xb5c): undefined reference to `INTCInit'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xbec): undefined reference to `INTCConfigIntr'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: /tmp/ccIaGrHR.o: in function `I2cAppIsr':
    i2c_app.c:(.text+0xc58): undefined reference to `I2CIntrStatus'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xc80): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xcac): undefined reference to `I2CGetRxData'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xd34): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xd58): undefined reference to `I2CBufStatus'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xd70): undefined reference to `I2CGetRxData'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xdec): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xe60): undefined reference to `I2CPutTxData'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xea0): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xec4): undefined reference to `I2CBufStatus'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xf10): undefined reference to `I2CPutTxData'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xf58): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xf7c): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xf8c): undefined reference to `I2CStop'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xfcc): undefined reference to `I2CFifoFlush'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xfe0): undefined reference to `I2CSetDataCount'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0xff4): undefined reference to `I2CIntrClear'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: /tmp/ccIaGrHR.o: in function `I2cAppStatusCheck':
    i2c_app.c:(.text+0x1044): undefined reference to `I2CIntrRawStatus'
    /usr/lib/gcc/arm-linux-gnueabi/8.3.0/../../../../arm-linux-gnueabi/bin/ld: i2c_app.c:(.text+0x1054): undefined reference to `I2CIntrRawStatus'

  • Hello Greg,

    Apologies for the delayed response. Keep in mind that starterware is old bare metal / RTOS code that is no longer supported. I assume you were looking for an example of I2C userspace code instead?

    What version of the AM437x SDK are you trying to use? We can offer support for Linux SDK 7.3 and Linux SDK 8.2, which you can download from here: https://www.ti.com/tool/PROCESSOR-SDK-AM437X any other software release is too old for us to support on the forums.

    TI does not provide specific examples for using I2C from userspace, but there should be some good resources for you available on the web. e.g., https://e2e.ti.com/support/processors-group/processors/f/processors-forum/642334/linux-am3354-i2c-eeprom-access-from-userspace

    Regards,

    Nick