Part Number: PROCESSOR-SDK-AM335X
Other Parts Discussed in Thread: SYSBIOS
Tool/software: TI-RTOS
Hello,
Actually I am using SYS Bios with NDK and SPI. I implemented a TCP Server Socket and SPI communication, but the MCSPI driver lacks in performance because it is closed and reopened after each transaction. My performance requirement is that I need to receive SPI data continuously and fast. To fullfill the performance requirement I used Starterware examples to implement the DMA SPI without closing the connection after each transfer. Now I have the needed performance programmed baremetal, but I am not able to integrate it into the SYS Bios system. I even tried the other option to setup the TCP server socket without SYSBIOS with the starteware lwip httpserve examples. There the problem was, that I couldn't find out how to configure LWIP to work as Server Socket with the ti cpsw interface. According to other forum entries the CPSW Starteware examples are not implemented as intented by the LWIP community to work with LWIP. Do you have any hints on how to integrate bare metal programmed SPI DMA driver into the SYSBIOS RTOS system without using the overhead of the EDMA3 resource manager etc? One example where the Execution fails when integrating my starteware based driver is when trying to access the registers for EDMA configuration.
Code extract:
/* DMA in non-idle mode */
HWREG(0x49800010) = 0x00000028;
HWREG(0x49900010) = 0x00000028;
HWREG(0x49a00010) = 0x00000028;
System Setup:
GCC: gcc-arm-none-eabi-6-2017-q1-update
BIOS: bios_6_52_00_12
NDK: ndk_2_26_00_08
PDK: pdk_am335x_1_0_9
PSDK: processor_sdk_rtos_am335x_4_02_00_09
XDC: xdctools_3_50_03_33_core
Sitara: Sitara_1_02_00_00
EDMA: edma3_lld_2_12_05_30B