Other Parts Discussed in Thread: SYSCONFIG, ADC-PHI-PRU-EVM, ADS8598H
Working with v08.06.00.45, I'm running into the following problem building a default example:
user@ubuntu:~/ti/mcu_plus_sdk_am64x_08_06_00_45$ make -s -C examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang all
Generating SysConfig files ...
Running script...
Validating...
info: /kernel/dpl/debug_log uartLog.baudRate: Actual Baudrate Possible: 115385 (0 % error)
Generating Code (example.syscfg)...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_dpl_config.c...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_dpl_config.h...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_drivers_config.c...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_drivers_config.h...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_drivers_open_close.c...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_drivers_open_close.h...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_pinmux_config.c...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_power_clock_config.c...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_board_config.c...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_board_config.h...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_board_open_close.c...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_board_open_close.h...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_enet_config.c...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_enet_config.h...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_enet_open_close.c...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_enet_open_close.h...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_enet_soc.c...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_enet_lwipif.c...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_enet_lwipif.h...
Writing /home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/examples/pru_io/adc/ads85x8/am64x-evm/r5fss0-0_freertos/ti-arm-clang/generated/ti_pru_io_config.inc...
Compiling: am64x:r5fss0-0:freertos:ti-arm-clang adc.release.out: ../../../ads8598_example.c
Compiling: am64x:r5fss0-0:freertos:ti-arm-clang adc.release.out: ../../../adc_functions.c
Compiling: am64x:r5fss0-0:freertos:ti-arm-clang adc.release.out: ../main.c
Compiling: am64x:r5fss0-0:freertos:ti-arm-clang adc.release.out: generated/ti_drivers_config.c
generated/ti_drivers_config.c:260:26: error: incompatible integer to pointer conversion initializing 'Config_Mem_Struct *' with an expression of type 'unsigned long' [-Werror,-Wint-conversion]
.config = CSL_PRU_ICSSG0_DRAM0_SLV_RAM_BASE + 0,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/user/ti/mcu_plus_sdk_am64x_08_06_00_45/source/drivers/hw_include/am64x_am243x/cslr_soc_baseaddress.h:415:100: note: expanded from macro 'CSL_PRU_ICSSG0_DRAM0_SLV_RAM_BASE'
#define CSL_PRU_ICSSG0_DRAM0_SLV_RAM_BASE (0x30000000UL)
^
1 error generated.
makefile:162: recipe for target 'ti_drivers_config.obj' failed
make: *** [ti_drivers_config.obj] Error 1
Is this perhaps an issue with Sysconfig (v1.14.0)?
I can disable the generated files from being rebuilt in syscfg-gui, and then modify generated/ti_drivers_config.c:260 with a manual type cast to a void* to resolve the error and build the app image.
When I attempt to boot the default adc.release.appimage on a AM64x GPEVM + ADC-PHI-PRU-EVM Adapter + ADS8588SEVM, I only get the following output on the serial console:
DMSC Firmware Version 8.6.4--v08.06.04 (Chill Capybar
DMSC Firmware revision 0x8
DMSC ABI revision 3.1
[BOOTLOADER_PROFILE] Boot Media : SD Card
[BOOTLOADER_PROFILE] Boot Image Size : 51 KB
[BOOTLOADER_PROFILE] Cores present :
r5f0-0
[BOOTLOADER PROFILE] SYSFW init : 10929us
[BOOTLOADER PROFILE] System_init : 17143us
[BOOTLOADER PROFILE] Drivers_open : 62140us
[BOOTLOADER PROFILE] Board_driversOpen : 0us
[BOOTLOADER PROFILE] Sciclient Get Version : 10023us
[BOOTLOADER PROFILE] File read from SD card : 10264us
[BOOTLOADER PROFILE] CPU load : 1407us
[BOOTLOADER_PROFILE] SBL Total Time Taken : 111911us
Image loading done, switching to application ...
--------------------------------------------------
Initializing ADC
--------------------------------------------------
Powering up ADC
--------------------------------------------------
Resetting ADC
--------------------------------------------------
Starting ADC Conversion
Started
(I've actually reproduced this boot log by building the adc app in both windows and Ubuntu linux now too btw).
I never get anymore output with the channel measurements I'm expecting, per the documentation for this example. Looking for some help to get those measurements working.
Note:
- I'm using the default ADS8588SEVM hardware.
- I haven't been able to find any ADS8598H chips in stock to swap onto the ADS8588SEVM, per the Usage Guidelines here: https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/latest/exports/docs/api_guide_am64x/EXAMPLES_PRU_ADC_ADS85x8.html#EXAMPLES_PRU_ADC_ADS85X8_IMPORTANT_USAGE_GUIDELINES
- I was sure to adapt the example for this in syscfg-gui, ie (any more changes I'm missing?):

- I worked through the ADC-PHI-PRU-EVM and ADS8588SEVM user manuals to set the correct jumper settings but a compare against a working example of this would be great!
Thanks for all the help!



