【开发例程共享】Keystone1 软件开发包

附件是基于Keystone1 CSL 开发的例程,其中包括了SRIO,PCIe,AIF2,UART等外设,及Navigator,memory test等常用例程,可供大家开发参考。请大家在使用例程时,注意以下几点:

1. 导入工程后需要根据你电脑上安装的pdk路径修改include options中PDK的路径;

2. 更新工程src中link的文件,从common中相应的公共文件拉到工程中src下面;

3. 如果是移植到非EVM板上运行,则需要修改main函数中输入时钟源的配置。

该例程支持C6678,6670,6614,后面跟帖中有支持EVM6657的例程开发包。

TI 多内核处理器帮助您立即启动开发

 


K1_STK_v1.1.zip

62 个回复

  • 1. 导入工程后需要根据你电脑上安装的pdk路径修改include options中PDK的路径;具体的更改路径方法能举个例子不,比如我的PDK安装在C:\ti下面怎么改路径

  • 回复 coolloog:

    在导入工程后查看工程属性中的include options可以看到目前已经添加了相关的pdk安装路径,按其格式修改为你的pdk安装路径即可。

    TI 多内核处理器帮助您立即启动开发

     


  • 增加TCP3D例程,该例程可同时支持LTE,WCDMA mode的测试,已经在EVM6670上对LTE及WCDMA mode进行了测试验证,如果需要在其他芯片上测试,则只需要修改keystone_TCP3D.c中对gtTcp3dInstInfo的赋值。

    可以通过修改TCP3D_test_main.c中的如下宏来切换模式测试

    #define TEST_MODE                 3    /* 1-LTE mode, 3-WCDMA split mode */

    例程还支持WCDMA及LTE mode throughput测试

    #define THROUGHPUT_TEST

    TI 多内核处理器帮助您立即启动开发

     


    K1_TCP3D_STK.7z
  • 回复 Andy Yin1:


    Andy Yin1 你好。

        非常感谢提供这些例程,我是个新手,正在学习其中的SRIO例程,目前碰到一些问题:工程

    build成功后,无论是使用模拟器还是运行在EVM6678L开发板上,我都无法在C代码下F5单步跟踪程序;

        我copy例程中的SRIO和common两个文件夹到我的workspace文件夹中并导入SRIO工程到CCS5.4;

    修改了include路径与我的安装路径匹配,其中pdk我使用的是pdk_6678_1_1_2_5版本;
        
        build成功后用模拟器运行,会出现:
    Can't find a source file at "/tmp/TI_MKLIBy3wfGo/SRC/boot.c"
    Locate the file or edit the source lookup path to include its location.
        无法进入main();
        
        请教到底是哪里不对呢?

  • 回复 CONG WANG4:

    确认一下工程属性->built->c6000 complier->debug options->debugging model中选择full symbolic debug (.... -g) ,如果想进行单步调测,同时去掉-o3优化,选择-o0即可。

    TI 多内核处理器帮助您立即启动开发

     


  • Hi,Andy Yin1:

    我在DSPC-8681E(advantech 4块6678)板子上面跑SRIO例程。

    我注意到8681E板子上每个DSP的DDR的DDR_CLKP/N输入时钟是166.67MHZ。

    而原始SRIO程序里面DDR_CLKP/N输入时钟是66.67MHZ。代码里面倍频20倍得到1333DDR3。

    代码如下:

    //DDR init 66.66667*20/1= 1333

    KeyStone_DDR_init (66.66667, 20, 1, NULL);

    因此,我修改了代码(不修改程序会死在KeyStone_DDR_init)如下所示:

    KeyStone_DDR_init (166.67, 8, 1, NULL);  //我的想法是166.67 *8 = 1333.36MHZ

    但是,跑起来之后,进行Memory_Fill_Test内存测试。发现都失败了,如下所示:

    SRIO_DIGITAL_LOOPBACK test start............................................
    Initialize DSP main clock = 100.00MHz/1x10 = 1000MHz
    Initialize DDR speed = 166.67MHzx8/1 = 1333.360MTS
    DDR3 leveling has failed, STATUS = 0x40000064
    Memory pattern filling Test fails at 0x80000000, Write 0x 0, Readback 0x a0000f7000000
    Memory pattern filling Test fails at 0x80000008, Write 0x 0, Readback 0x f50000ef000000
    Memory pattern filling Test fails at 0x80000010, Write 0x 0, Readback 0x ff0000df000000

    上面说明,DDR初始化不成功,内存检测失败。请问哪里设置有问题?谢谢!

    If success,then thanks everyone;if failure,then reflect myself.

  • 回复 Armstrong:

    DDR3初始化需要做Leveling, Leveling的参数和PCB布线长度有关,所以移植到不同硬件板上需要修改DDR3初始化函数里的一些配置参数。

    上述内容如果回答了您的问题,请点击标签栏“是”按钮。您的轻轻一点,会帮助我们更好的管理论坛内容,谢谢!

  • 感谢分享

  • 你好,6678需要从外部nor flash通过emif16启动,这部分初始化该怎么做,有没有例子或者相关的文档,非常感谢。

  • 回复 qian cui:

    6678支持从EMIF16直接启动,初始化是通过ROM BOOTLOADER完成的,你可以阅读以下Keystone Bootloader这篇文档

    上述内容如果回答了您的问题,请点击标签栏“是”按钮。您的轻轻一点,会帮助我们更好的管理论坛内容,谢谢!