Quantcast
Channel: Processors forum - Recent Threads
Viewing all 17527 articles
Browse latest View live

[FAQ] Where can I find development resources for AWS IoT?

$
0
0

I want to develop an AWS IoT application on a TI device. Where can I find some good resources to help me get started?


Linux/AM3354: CPSW ARP zero padding

$
0
0

Part Number:AM3354

Tool/software: Linux

Windows can send 42 bytes arp (not inlclude crc32 4 bytes ) packet to ethernet ,  and why does not the TI am335x send the package to ethernet?   I use 3 port CPSW mode, not dual MAC mode. I disable the padding function in linux kernel/driver/ethernet/ti/cpsw.c , i list the code below :

 

static netdev_tx_t cpsw_ndo_start_xmit(struct sk_buff *skb,
struct net_device *ndev)
{
struct cpsw_priv *priv = netdev_priv(ndev);
int ret;

ndev->trans_start = jiffies;
#if 0
if(htons(skb->protocol) == ETH_P_ARP ){
printk("rick arp packet len=%d\n",skb->len);
}
else {
if (skb_padto(skb, CPSW_MIN_PACKET_SIZE)) {
cpsw_err(priv, tx_err, "packet pad failed\n");
priv->stats.tx_dropped++;
return NETDEV_TX_OK;
}
}
#endif

if (skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP &&
priv->cpts->tx_enable)
skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS;

skb_tx_timestamp(skb);

ret = cpsw_tx_packet_submit(ndev, priv, skb);
if (unlikely(ret != 0)) {
cpsw_err(priv, tx_err, "desc submit failed\n");
goto fail;
}

/* If there is no more tx desc left free then we need to
* tell the kernel to stop sending us tx frames.
*/
if (unlikely(!cpdma_check_free_tx_desc(priv->txch)))
netif_stop_queue(ndev);

return NETDEV_TX_OK;

}

I know this is a limit from  IEEE 802.3 document , but not compatiable with all the embedded device . 

how can i disale it for am335x  ?  i found that for receive, there is an option to choose if receive less then 64 bytes or not .

thanks

rick

Linux/TMS320C6678: PC(ARM architecture)didn't access C6678 by PCIE successfully

$
0
0

Part Number:TMS320C6678

Tool/software: Linux

In our application ,we connect PC to C6678 by PCIE. The PC we use is Jeston TX2 developed by NVIDIA(ARM + GPU), which run the Ubuntu 16.04.

We try to access the memory on DSP from PC. We have made PC detect the C6678 successfully after power on. We make sure it by input the cmd “lspci -vvv”,like this:

But when we use function “pci_resource_start”to read the bar information, we didn’t get the right value. It’s like this:

The code :

static int hello_probe(struct pci_dev *pdev, const struct pci_device_id *id)

{

for(i=0;i<5;i++)

    {

        barStart [i] = pci_resource_start (pdev, i);

        barLen   [i] = pci_resource_len   (pdev, i);

        barFlags [i] = pci_resource_flags (pdev, i);

 

        printk("barStart [%d]: 0x%x; barLen [%d]: 0x%x; barFlags [%d]: 0x%x\n",i,barStart [i],i,barLen[i],i,barFlags[i]);

    }

     ……

}

The result:

Then we check the struct point “pdev” ,and find the value of its member seems like to be in the wrone position,like this:


We guess that when linux scan the pci bus to create the pci device information, it didn’t put the value in the right place. But why? Since we can’t trace the operation during pci scan, so I have to ask for help.Thank you very much.

 

AM3352: XDS Target connection guide

RTOS/TDA2EG-17: how to design the avm algorithm for 3D surrond view ?

$
0
0

Part Number:TDA2EG-17

Tool/software: TI-RTOS

hi .  our leader have an idea .  I'd like to confirm that it's feasible. 

Whether we should split avm algo.

1/ use vpe for the 3D bowl image generation

2/ gpu to make the vehicle model, the view and the overlay

As far as I know, VPE is used to make image scale & color space convert.  Can VPE be used to generate 3D bowl image ?

Linux/TDA2E: vision SDK 3.02 A15 set clock freqency

$
0
0

Part Number:TDA2E

Tool/software: Linux

Hi,

I would like to change a15 clock freqency.

Can I use SysCtlClockSet() function to change clock freqency and use SysCtlClockGet() to check?

If I can not use this function.Which function I can to use?

Thanks

yumei

SysCtlClockSet()

TMS320DM8168: HDMI_EXTSWING PIN hardware design recommendation of DM8168

$
0
0

Part Number:TMS320DM8168

Hi Champs,

            The HDMI_EXTSWING PIN is recommended to connected with external 5.9KΩ resistor with TRM SPRS614D version, while 698Ω resistor was recommended on older TRM version.

           Could customer continue use 698Ω resistor on their hardware design? What's the impact on different resistor value and any risk on 698Ω design?

             Thanks a lot for support!

                             Jane  

Linux/AM3358: How to bring up ethernet/ip in Beaglebone black

$
0
0

Part Number:AM3358

Tool/software: Linux

Hi Team,

As a part of project we need to bring up ethernet ip slave in beagelebone black.

We have flashed linux into eMMC. And it is booting from there.

Unfortunatly SD card booting is not working please refer to this thread.

Please walk me through the steps to build and execute ethernet/ip slave in beaglebone black.

Thanks and Regards,

Vishnu


Linux/AM5718: PHY not detected

$
0
0

Part Number:AM5718

Tool/software: Linux

Hi,

we have developed a custom board with AM5718 using ti-processor-sdk-linux-am57xx-evm-05.02.00.10. we have an issue with Ethernet, almost every thing is over in bringing up the som except this Ethernet issue, Please try to help us to resolve this issue.

In our board

1. One port realized with RMI and another port is relaized with PCIe using i210 and this is also RMI
2. ENET-REF-50MHz is connected between processor and PHY





3. We are using internal clock from the processor
4. The phy address is 9, which is depend on hardware.

Ethernet pin configurations and nodes in our dts file.

       davinci_mdio_pins: pinmux_davinci_mdio_pins {
            pinctrl-single,pins = <
                /* MDIO */
            DRA7XX_CORE_IOPAD(0x363c, PIN_OUTPUT_PULLUP | MUX_MODE1)                /* mdio_mclk */
            DRA7XX_CORE_IOPAD(0x3640, PIN_INPUT_PULLUP | MUX_MODE1)                  /* mdio_d */

        >;
        };

       davinci_mdio_pins_sleep: pinmux_davinci_mdio_pins_sleep {
        pinctrl-single,pins = <
                /* MDIO reset value */
            DRA7XX_CORE_IOPAD(0x363c, PIN_INPUT_PULLDOWN | MUX_MODE15)                /* mdio_mclk */
            DRA7XX_CORE_IOPAD(0x3640, PIN_INPUT_PULLDOWN | MUX_MODE15)                  /* mdio_d */

        >;
        };


    cpsw_pins_default: cpsw_pins_default {
         pinctrl-single,pins = <
             /* Slave 1 */
            DRA7XX_CORE_IOPAD(0x3650, PIN_OUTPUT | MUX_MODE1)    /* rgmii1_tclk */
            DRA7XX_CORE_IOPAD(0x3644, PIN_OUTPUT | MUX_MODE0)    /* rgmii1_tclk---RMII_MHZ_50_CLK */
            DRA7XX_CORE_IOPAD(0x3654, PIN_OUTPUT | MUX_MODE1)    /* rgmii1_tctl */
            DRA7XX_CORE_IOPAD(0x3658, PIN_OUTPUT | MUX_MODE1)    /* rgmii1_td3 */
            DRA7XX_CORE_IOPAD(0x365c, PIN_OUTPUT | MUX_MODE1)    /* rgmii1_td2 */
            DRA7XX_CORE_IOPAD(0x3660, PIN_OUTPUT | MUX_MODE1)    /* rgmii1_td1 */
            DRA7XX_CORE_IOPAD(0x3664, PIN_OUTPUT | MUX_MODE1)    /* rgmii1_td0 */
            DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE1)    /* rgmii1_rclk */
            DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT | MUX_MODE1)    /* rgmii1_rctl */
            DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE1)    /* rgmii1_rd3 */
            DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE1)    /* rgmii1_rd2 */
            DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE1)    /* rgmii1_rd1 */
            DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE1)    /* rgmii1_rd0 */

>;

};

&mac {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&cpsw_pins_default>;
    pinctrl-1 = <&cpsw_pins_sleep>;
    //dual_emac;
    slaves = <1>;
};

&cpsw_emac0 {

                phy_id = <&davinci_mdio>,<9>;
                phy-mode = "rmii";
   
        
};

&davinci_mdio {
       status = "okay";
       pinctrl-names = "default", "sleep";
       pinctrl-0 = <&davinci_mdio_pins>;
       pinctrl-1 = <&davinci_mdio_pins_sleep>;

};

In the boot log

[    1.727440] libphy: Fixed MDIO Bus: probed
[    1.790842] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
[    1.798535] davinci_mdio 48485000.mdio: no live phy, scanning all
[    1.900955] davinci_mdio 48485000.mdio: timed out waiting for user access
[    2.007850] davinci_mdio 48485000.mdio: timed out waiting for idle
[    2.014106] davinci_mdio: probe of 48485000.mdio failed with error -5
[    2.021186] CTRL_CORE_MAC_ID_SW_1  985dad
[    2.025213] CTRL_CORE_MAC_ID_SW_0  9a2e1a
[    2.029236] mac addr[i] 98
[    2.031970] mac addr[i] 5d
[    2.034687] mac addr[i] ad
[    2.037401] mac addr[i] 9a
[    2.040115] mac addr[i] 2e
[    2.042844] mac addr[i] 1a
[    2.045563] cpsw 48484000.ethernet: Detected MACID = 98:5d:ad:9a:2e:1a
[    2.052187] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
[    2.058568] cpsw 48484000.ethernet: ALE Table size 1024
[    2.063841] cpsw 48484000.ethernet: device node lookup for pps timer failed
[    2.070881] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)

root@am57xx-evm:~# dmesg | grep phy
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys).
[    1.727440] libphy: Fixed MDIO Bus: probed
[    1.798535] davinci_mdio 48485000.mdio: no live phy, scanning all
[    9.546973] libphy: PHY 48485000.mdio:09 not found
[    9.546979] net eth0: phy "48485000.mdio:09" not found on slave 0, err -19
root@am57xx-evm:~# dmesg | grep eth
[    2.045563] cpsw 48484000.ethernet: Detected MACID = 98:5d:ad:9a:2e:1a
[    2.052187] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
[    2.058568] cpsw 48484000.ethernet: ALE Table size 1024
[    2.063841] cpsw 48484000.ethernet: device node lookup for pps timer failed
[    2.070881] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
[    9.544979] net eth0: initializing cpsw version 1.15 (0)
[    9.546979] net eth0: phy "48485000.mdio:09" not found on slave 0, err -19
[    9.577599] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
root@am57xx-evm:~#

Linux/AM5726: EXT4-fs errors running from eMMC (known kernel bug)

$
0
0

Part Number:AM5726

Tool/software: Linux

Hi There,

I'm just finishing up a migration from an AM5726 board from TI-SDK 3.02.00.05 to TI-SDK 5.01.00.11.

After running swupdate to flash the eMMC from the SDCard, I am seeing a series of ext4-fs errors. Also after booting from the eMMC there appears to be considerable file system corruption.

This seems to be a known Linux Kernel issue. It appears a fix was made for Kernel versions 4.19x and 4.20.x. I was wondering if a back ported fix was available for Linux Kernel 4.14.x which is included in TI SDK 5.x? I did not find this particular issue listed in the Release Notes.


Incorrect disk IO caused by blk-mq direct issue can lead to file system corruption

EXT4-fs error (device sda7): ext4_iget:4831: inode

 

Partitioning Script

======================

prepare_emmc() {
    
    fw_setenv factorymode 0

    echo 0 > /sys/block/mmcblk1boot0/force_ro
    dd if=/dev/zero of=/dev/mmcblk1boot0 bs=512 count=4096
    dd if=/run/media/mmcblk0p1/MLO of=/dev/mmcblk1boot0 bs=512
    dd if=/run/media/mmcblk0p1/u-boot.img of=/dev/mmcblk1boot0 bs=512 seek=768

    unmount /dev/mmcblk1p1
    unmount /dev/mmcblk1p2
    unmount /dev/mmcblk1p3
    sleep 1
    echo yes | parted -s /dev/mmcblk1 rm 1
    echo yes | parted -s /dev/mmcblk1 rm 2
    echo yes | parted -s /dev/mmcblk1 rm 3

    parted -s /dev/mmcblk1 mkpart primary ext4 0% 40%
    parted -s /dev/mmcblk1 mkpart primary ext4 40% 80%
    parted -s /dev/mmcblk1 mkpart primary ext4 80% 100%
    sleep 1
    unmount /dev/mmcblk1p1
    unmount /dev/mmcblk1p2
    unmount /dev/mmcblk1p3
    sleep 1
    echo yes | mkfs.ext4 /dev/mmcblk1p1
    echo yes | mkfs.ext4 /dev/mmcblk1p2
    echo yes | mkfs.ext4 /dev/mmcblk1p3
    mount_if mmcblk1p1
    mount_if mmcblk1p2
    mount_if mmcblk1p3
    cd /run/media/mmcblk0p3

    swupdate -v -H board:3.50 -i board_3.5.swu -e board,eMMC-install >> recovery.$timestamp.log 2>&1
    fw_setenv mmcdev 1
    reboot
}

 

 

dmesg logs listed below
=======================

root@am57xx-evm:~# stat /
  File: /
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: b311h/45841d    Inode: 2           Links: 21
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-02-26 06:27:20.000000000
Modify: 2019-02-26 06:34:41.000000000
Change: 2019-02-26 06:34:41.000000000

root@am57xx-evm:~# dmesg | grep -i ext4 [ 0.000000] Kernel command line: console=ttyS2,115200n8 net.ifnames=0 biosdevname=0 root=PARTUUID=d093c9e2-01 rw rootfstype=ext4 rootwait [ 3.795105] EXT4-fs (mmcblk1p1): warning: mounting fs with errors, running e2fsck is recommended [ 3.805298] EXT4-fs (mmcblk1p1): mounted filesystem with ordered data mode. Opts: (null) [ 3.813458] VFS: Mounted root (ext4 filesystem) on device 179:17. [ 4.999205] EXT4-fs (mmcblk1p1): re-mounted. Opts: (null) [ 8.168201] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null) [ 8.213794] EXT4-fs (mmcblk1p3): mounted filesystem with ordered data mode. Opts: (null) [ 8.228680] EXT4-fs (mmcblk0p3): mounting ext3 file system using the ext4 subsystem [ 8.528818] EXT4-fs error (device mmcblk1p1): ext4_iget:4723: inode #4331: comm grep: checksum invalid [ 8.537106] EXT4-fs error (device mmcblk1p1): ext4_iget:4723: inode #4033: comm grep: checksum invalid [ 8.550659] EXT4-fs error (device mmcblk1p1): ext4_iget:4723: inode #4019: comm grep: checksum invalid [ 8.552701] EXT4-fs error (device mmcblk1p1): ext4_iget:4723: inode #4509: comm grep: checksum invalid [ 8.555045] EXT4-fs error (device mmcblk1p1): ext4_iget:4723: inode #4697: comm grep: checksum invalid [ 8.556233] EXT4-fs error (device mmcblk1p1): ext4_iget:4723: inode #3908: comm grep: checksum invalid [ 8.557062] EXT4-fs error (device mmcblk1p1): ext4_iget:4723: inode #3872: comm grep: checksum invalid [ 8.558947] EXT4-fs error (device mmcblk1p1): ext4_iget:4723: inode #4474: comm grep: checksum invalid [ 8.575134] EXT4-fs error (device mmcblk1p1): ext4_iget:4723: inode #4216: comm grep: checksum invalid [ 8.576337] EXT4-fs error (device mmcblk1p1): ext4_iget:4723: inode #4078: comm grep: checksum invalid [ 9.029010] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null) [ 9.042961] EXT4-fs (mmcblk0p2): mounting ext3 file system using the ext4 subsystem [ 9.139316] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) ... [ 8.852095] EXT4-fs error: 356 callbacks suppressed [ 8.852102] EXT4-fs error (device mmcblk1p1): ext4_iget:4703: inode #3742: comm modprobe: bad extra_isize 11640 (inode size 256) [ 8.871310] EXT4-fs error (device mmcblk1p1): ext4_iget:4703: inode #3742: comm mount.sh: bad extra_isize 11640 (inode size 256) [ 8.885920] EXT4-fs error (device mmcblk1p1): ext4_iget:4703: inode #3742: comm mkdir: bad extra_isize 11640 (inode size 256) [ 8.901446] EXT4-fs error (device mmcblk1p1): ext4_iget:4703: inode #3742: comm basename: bad extra_isize 11640 (inode size 256) [ 8.915776] EXT4-fs error (device mmcblk1p1): ext4_iget:4703: inode #3742: comm grep: bad extra_isize 11640 (inode size 256) [ 8.930319] EXT4-fs error (device mmcblk1p1): ext4_iget:4703: inode #3742: comm readlink: bad extra_isize 11640 (inode size 256) [ 8.945352] EXT4-fs error (device mmcblk1p1): ext4_iget:4703: inode #3742: comm mkdir: bad extra_isize 11640 (inode size 256) [ 8.959794] EXT4-fs error (device mmcblk1p1): ext4_iget:4703: inode #3742: comm expr: bad extra_isize 11640 (inode size 256) [ 8.974192] EXT4-fs error (device mmcblk1p1): ext4_iget:4703: inode #3742: comm mount: bad extra_isize 11640 (inode size 256) [ 8.988109] EXT4-fs error (device mmcblk1p1): ext4_iget:4703: inode #3742: comm readlink: bad extra_isize 11640 (inode size 256)

...

[ 320.470812] EXT4-fs (mmcblk1p1): error count since last fsck: 1354
[ 320.477043] EXT4-fs (mmcblk1p1): initial error at time 1551162840: ext4_iget:4703: inode 3729
[ 320.485638] EXT4-fs (mmcblk1p1): last error at time 1551162334: ext4_iget:4723: inode 4427

 

OMAP-L138: Compilation error during build of Syslink 2.21.03.11

$
0
0

Part Number:OMAP-L138

I try build syslink driver using the option -syslink-driver, there is this error which looks more towards coding error, any idea on resolution ?

syslink_2_21_03_11/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/GateMP.c: In function 'GateMP_start':
/syslink_2_21_03_11/packages/ti/syslink/inc/GatePeterson.h:309:6: error: inlining failed in call to always_inline 'GatePeterson_locksinit': function body not available
Void GatePeterson_locksinit(Void);

Thanks.

Linux/TDA2PXEVM: Is there any case can help us to design the A/B system in visonSDK_03_05 for OTA design

$
0
0

Part Number:TDA2PXEVM

Tool/software: Linux

Hello,

According to android system, we are ready to design the A/B system  in visonSDK_03_05 for OTA. Is there any case can help us? Or, is there the other solution for OTA design?

Thanks

Terence

TDA2EVM5777: Steps to compile and build arm-nn in Vision SDK for TDA2x

$
0
0

Part Number:TDA2EVM5777

Hi,

I want to use arm-nn api for tensorflow and caffe models on TDA2x EVM board. I have using  PROCESSOR_SDK_VISION_03_03_00_00.

And tisdk-rootfs-image-dra7xx-evm_vsdk_3_4.tar.xz which i have downloaded from this link http://software-dl.ti.com/processor-sdk-vision/esd/TDAx/vision-sdk/latest/index_FDS.html 

I have build default apps in "tda2xx_evm_linux_all" configuration and able to boot linux on TDA2x EVM. 

Now i want to use arm-nn apis for running deep learning tensorflow and caffe based models on it. I understood that i can run it on A15 (arm). But, I dont know how to comile and build arm-nn for A15.

I referred this link: http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_ArmNN.html

But, I am not ablet to locate sample executables at /usr/bin location in my targetfs.

Can you share the steps for this?

Regards,

Sagar 

Linux/AM5728: multiple OS on ARMs without hypervisor

$
0
0

Part Number:AM5728

Tool/software: Linux

Dear Champs,

Is it possible to run multiple OS on ARM cores without hypervisor?

My customer is looking for a example to load RTOS binary to core1 on core0 linux. e.g. Linux will be run on core0 and RTOS will be downloaded to core1 at the initial boot time of linux on core0.

When I introduced TIDEP-0095 Jailhouse Hypervisor reference design, my customer afraid about overheads and stability of jailhouse as their target application is very time critical application.

So, if there is a way to make simpler solution than jailhouse, could please let me know your idea?

Thanks and Best Regards,

SI.

Linux/AM5718: GPIO I/O configuration issue

$
0
0

Part Number:AM5718

Tool/software: Linux

Hi,

In the pinmux file given for TMDXIDK5718 idk ""AM571x Industrial Development Kit (IDK) Pinmux Files""

GPIO1_4 is defined as input 

In the IDK board it is supposed to drive an LED (D16). Does the linux uses the same idk pinmux or a different pinmux file?? 

How did it change GPIO direction from IN to OUT?? Does Linux reassign pinmux while booting ??

Issue1

We were able to drive the LED using this GPIO1_4 ie GPIO configured as OUT works fine.

When we configured same GPIO  as input from Linux we could not get the desired results. The GPIO pin always shows "0'" value for IN even after applying logic high to D15 (GPIO1_4) hardware pin. On debugging we realize that reg CTRL_CORE_PAD_MCASP2_AXR4 was not updated properly.

Our configuration calls where as follows

""

int_Result =  gpio_request(gpiopooldev.gpio[1], gpiopooldev.gpio_name[1]);/*GPIo 4 is input*/
        if ( int_Result < 0)//Request GPIO1_4
    {
        printk(KERN_INFO "GPOOL_DRV:: Error requesting input GPIO %d \n",gpiopooldev.gpio[0]);
        return -EAGAIN;
    }
    if (gpio_direction_input(gpiopooldev.gpio[1]) != 0) //Make GPIO1_4 as input
    {
        printk(KERN_INFO "Gpio pool:: Error making GPIO %d input\n", gpiopooldev.gpio[0]);
        return -1;
    }
    else
    {
        printk(KERN_INFO "Gpio pool:: GPIO %d made as input\n", gpiopooldev.gpio[0]);
       
    }
""
What other changes are supposed to be sdone at linux side so that pad config registers also update their status as per requirement??
 
Also while developing custom board what is the recommended practice??. Is it to specify the exact Direction of GPIOs or specify them as input and later change it to requisite direction.??
 
 

RTOS/PROCESSOR-SDK-AM57X: TCP socket performance issue

$
0
0

Part Number:PROCESSOR-SDK-AM57X

Tool/software: TI-RTOS

Hello

I'm using AM572x IDK board with TI-RTOS SDK 05.03.00.07 and detected TCP performance issue with simple stress-test.

I'm using the NIMU FTP example project for my board for TCP speed measure.

First of all, I patched my PDK with that patch: (Please visit the site to view this file)

Then I build & load that example project on IDK board & measure download speed (using wget command wget user:password@192.168.6.4/test --no-passive).

I see the attached output in my console & capture attached file with Wireshark tool:

(Please visit the site to view this file)
(Please visit the site to view this file)

As you can see in the log file, TCP speed was downgraded from ~22MB/s to ~100-200KB/s in second receiving.

FTP connection transactions were sequential, not concurrent.

If packages/ti/transport/ndk/nimu/example/ftpApp/ftpserver/ftpserver.h file diff applying was disabled, all works file after fifth connection too (log & Wireshark capture were attached too).

(Please visit the site to view this file)
(Please visit the site to view this file)

How can I send big file parts (more than ~2KB) with good speed without manual splitting it?

My working environment: CCS v8.1.0, TI-RTOS SDK 05.03.00.07, Ubuntu x64 16.04.6 LTS. I'm connected to IDK board J10 (Gb Ethernet 0) using the second NIC.

With regards,
Alex

P.S. It looks like TCP retransmit timeout detection timer bad configuration.

TMS320C6748: Setting ODT for DDR2

$
0
0

Part Number:TMS320C6748

Hello,

I'm hoping that you can help me set the ODT (On Die Termination ) resistors for my DDR2. I configure the DDR2 using the TI AISgen tool, but I cannot see how to set the ODT values in the config file.

I already set these:

DDR2 PHY=c4
DDR2 SDCR=8134632
DDR2 SDCR2=0
DDR2 SDTIMR=184929c8
DDR2 SDTIMR2=380fc700
DDR2 SDRCR=406

Any help would be appreciated.

Thanks,

Paul

CCS/DRA80XMEVM: Issue in GICV3 initialization while switching from EL3 to El2

$
0
0

Part Number:DRA80XMEVM

Tool/software: Code Composer Studio

Hi,

I am using DRA80xM IDK board and developing bare metal code on CA53 cluster. Board boots in EL3 and I am initializing GICV3 before going to EL2 and then to EL1.

I am facing a weird behavior about GICV3 initialization. After switching to EL2 from EL3, some times I am not able to write GICV3 registers. In the EL3, I am setting all interrupts to G1NS and I could write to registers through debugger window as well. But after switching to EL2, I cannot write GICV3 registers. 

Linux/AM3358: ADC sampling speed

$
0
0

Part Number:AM3358

Tool/software: Linux

Hi,

According to AM335X TRM, the ADC clock can be set at 24MHz maxmum, however in TI Linux sdk driver, the ADC clock is set at only 3MHz.

So if there any special consideration for this ADC clock frequency reduction?

I checked AM335X errata, didn't find anything related to the ADC clock.

static     int ti_tscadc_probe(struct platform_device *pdev)

{

………………………………

               /*

               * The TSC_ADC_Subsystem has 2 clock domains

               * OCP_CLK and ADC_CLK.

               * The ADC clock is expected to run at target of 3MHz,

               * and expected to capture 12-bit data at a rate of 200 KSPS.

               * The TSC_ADC_SS controller design assumes the OCP clock is

               * at least 6x faster than the ADC clock.

               */

               clk = devm_clk_get(&pdev->dev, "adc_tsc_fck");

               if (IS_ERR(clk)) {

                              dev_err(&pdev->dev, "failed to get TSC fck\n");

                              err = PTR_ERR(clk);

                              goto err_disable_clk;

               }

               clock_rate = clk_get_rate(clk);

               tscadc->clk_div = clock_rate / ADC_CLK;

 

               /* TSCADC_CLKDIV needs to be configured to the value minus 1 */

               tscadc->clk_div--;

               regmap_write(tscadc->regmap, REG_CLKDIV, tscadc->clk_div);

……………………………………

}

 

RTOS/AM6548: USB 2.0 compliance test

$
0
0

Part Number:AM6548

Tool/software: TI-RTOS

Dear Sir

AM6548 Set TSTCTL bit of USB_DCTL Register but no expect test pattern been send out

Question 1

IF TI had done USB 2.0 compliance test on AM6548

Question 2

If TI had application note and SW configuration tools to make SOCs send out test packets ?eg AM335X

Viewing all 17527 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>