搜索
bottom↓
回复: 0

OMAPL138多核MCSDK开发

[复制链接]

出0入0汤圆

发表于 2014-7-15 16:54:42 | 显示全部楼层 |阅读模式
1、首先安装MCSDK相关软件
1.1在Ubuntu虚拟机中安装CCS
       此处安装的是Linux下的CCS,版本号是:CCS5.5.0。CCS5.5.0.00077_linux.tar.gz
1.2安装MCSDK
下载mcsdk_1_01_00_02_setuplinux.bin安装文件,然后执行如下命令:
Host#    ./mcsdk_1_01_00_02_setuplinux.bin
2、设置MCSDK开发环境参数
       进入mcsdk_1_01_00_02目录下,启动MCSDK设置脚本,根据不同主机设置,进行tftp、nfs、U-Boot等配置。在设置之前,务必保证虚拟机网络畅通。
Host#    sudo ./setup.sh
2.1syslink配置、编译、安装
       安装MCSDK时,会将自动将syslink安装在相同的目录下,下文将介绍Syslink配置、编译和示例演示。在开始syslink编译之前,请确保以下几点:
(1)已安装arm-none-linux- gnueabi-gcc-4.3.3交叉编译工具链。
(2)内核源码正确编译。
(3)文件系统正确解压在Ubuntu虚拟机。
2.2配置syslink
       进入syslink_2_21_01_05目录,打开配置文件products.mak。
       修改如下地方:
备注:由于配置容易出错,建议新建一个文件做备份,然后再根据个人的实际情况小修改即可。
(1)       DEVICE =_your_device_     
改为      DEVICE = OMAPL1XX              //表示编译OMAPL138

(2)       SDK = _your_sdk_
改为      SDK = NONE                         //SDK类型为NONE

(3)       EXEC_DIR =_your_filesys_
改为      EXEC_DIR =/home/tl/omapl138/demo-rootfs         //syslink驱动和演示程序安装路劲,一般设置为nfs或者SD卡的文件系统

(4)       DEPOT =_your_depot_folder_
改为      DEPOT = /home/tl/ti         //MCSDK的安装路径

(5)        
######## For OMAPL1XX device ########
else ifeq("$(DEVICE)","OMAPL1XX")
LINUXKERNEL             =$(DEPOT)/_your_linux_kernel_install_
CGT_ARM_INSTALL_DIR     = $(DEPOT)/_your_arm_code_gen_install_
CGT_ARM_PREFIX          =$(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
IPC_INSTALL_DIR         = $(DEPOT)/_your_ipc_install_
BIOS_INSTALL_DIR        = $(DEPOT)/_your_bios_install_
XDC_INSTALL_DIR         = $(DEPOT)/_your_xdctools_install_

# If LOADER=ELF then below elf tools pathis required else set C674 path
ifeq("$(LOADER)","ELF")
CGT_C674_ELF_INSTALL_DIR=$(DEPOT)/_your_c674elf_code_gen_install_
else
CGT_C674_INSTALL_DIR=$(DEPOT)/_your_c674_code_gen_install_
endif

改为
######## For OMAPL1XX device ########
else ifeq("$(DEVICE)","OMAPL1XX")
LINUXKERNEL             = /home/tl/omapl138/linux-3.3  //内核源码路径
CGT_ARM_INSTALL_DIR     = /home/tl/arm-2009q1           //交叉编译工具链安装路径
CGT_ARM_PREFIX          =$(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
IPC_INSTALL_DIR              =$(DEPOT)/ipc_1_25_03_15               //ipc安装路径
BIOS_INSTALL_DIR            =$(DEPOT)/bios_6_35_04_50             //bios安装路径
XDC_INSTALL_DIR             =$(DEPOT)/xdctools_3_25_03_72      //xdc安装路径

# If LOADER=ELF then below elf tools pathis required else set C674 path
ifeq("$(LOADER)","ELF")
CGT_C674_ELF_INSTALL_DIR=$(DEPOT)/ccsv5/tools/compiler/c6000_7.4.4        //dsp编译器路径
else
CGT_C674_INSTALL_DIR=$(DEPOT)/_your_c674_code_gen_install_
endif
       配置完成后,保存退出。
2.3编译syslink源码
       编译syslink之前,先将以下两个宏定义添加到syslink中的Omapl1xxIpcInt.c、omapl1xx_phy_shmem.c、omapl1xxpwr.c文件开头,否则编译会出错。

#undef __ASM_ARCH_HARDWARE_H
#include <mach/hardware.h>
       以上三个文件的路径是:   
(1)syslink_2_21_01_05/packages/ti/syslink/ipc/hlos/knl/notifyDrivers/arch/omapl1xx/Omapl1xxIpcInt.c
(2)syslink_2_21_01_05/packages/ti/syslink/family/hlos/knl/omapl1xx/omapl1xxdsp/Linux/omapl1xx_phy_shmem.c
(3)syslink_2_21_01_05/packages/ti/syslink/family/hlos/knl/omapl1xx/omapl1xxdsp/omapl1xxpwr.c
修改Omapl1xxIpcInt.c
       执行以下命令修改:
Host#    gedit syslink_2_21_01_05/packages/ti/syslink/ipc/hlos/knl/notifyDrivers/arch/omapl1xx/Omapl1xxIpcInt.c
        添加内容后,保存退出。
修改omapl1xx_phy_shmem.c
       在当前路径下,执行以下命令:
Host#    gedit syslink_2_21_01_05/packages/ti/syslink/family/hlos/knl/omapl1xx/omapl1xxdsp/Linux/omapl1xx_phy_shmem.c
       添加内容后,保存退出。
修改omapl1xxpwr.c
       在当前路径下,执行以下命令:
Host#    gedit syslink_2_21_01_05/packages/ti/syslink/family/hlos/knl/omapl1xx/omapl1xxdsp/omapl1xxpwr.c
       添加内容后,保存退出。

       接下来开始编译syslink,执行以下命令:
Host#    make syslink
编译成功

2.4编译syslink示例程序
       在当前目录,执行以下命令:
Host#    make samples
       编译成功,至此,整个syslink已经编译完成。
3、syslink示例程序演示
3.1安装syslink驱动和示例程序到文件系统
       在当前目录,执行以下命令将syslink驱动和示例程序安装到文件系统:
Host#    sudo make install

       编译完后查看是否已经安装了syslink驱动和示例程序,在自定义文件系统目录下:
Host#    lslib/modules/3.3.0/kernel/drivers/dsp/

       可以看到在文件系统lib/modules/3.3.0/kernel/drivers/dsp/目录下有syslink驱动程序syslink.ko文件和文件系统根目录下有“ex**_##”的示例程序。

4、运行syslink示例程序
       可以通过sd卡或者nfs的方式启动此文件系统。下面以SD卡启动方式为例讲解syslink示例程序的运行方法。
1)设置U-Boot参数
       将以上文件系统拷贝到SD启动卡的EXT3格式root分区,然后将SD启动卡插到开发板上,拨码开关打到SD卡启动方式,上电启动后在U-Boot命令行执行以下命令:
Target#        setenv bootargsconsole=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3mem=32M@0xc0000000 mem=64M@0xc4000000
备注:通过nfs方式只需要修改参数mem=128M为mem=32M@0xc0000000mem=64M@0xc4000000。
2)安装syslink驱动
       进入开发板后,执行以下命令安装syslink驱动:

Target#        insmod/lib/modules/3.3.0/kernel/drivers/dsp/syslink.ko TRACE=1 TRACEFAILURE=1
3)syslink示例程序
Target#        cd /
Target#        ./runall.sh

5、示例程序解析   
       每个示例目录中有readme.txt和run.sh文件说明如何使用示例,而在开发板中运行/runall.sh是运行了所有的syslink示例程。
备注:以下内容摘录于http://blog.csdn.net/crushonme/article/details/10287693
Slaveloader
       在OMAPL138的ARM Linux操作系统中,syslink提供了“slaveloader”组件去加载、启动、停止DSP处理器,实现了对DSP核的管理,同时也是使用“slaveloader”组件去运行syslink示例程序。
       运行“slaveloader”组件有四个参数:
参数1:startup|shutdown|all|powerup|load|start|stop|unload|powerdown|list
参数2:Core name         //远程处理器名称,一般是DSP
参数3:File path            //可执行文件路径,当参数2为startup/load/all/时必填
参数4:map-file             //map文件,当远程处理器MMU功能开启时必填
      
       可以通过各个syslink示例目录下的run.sh脚本查看使用slaveloader运行示例程序.
备注:在单独运行各个示例程序前,务必先安装syslink驱动,安装命令:
Target# insmod/lib/modules/3.3.0/kernel/drivers/dsp/syslink.ko TRACE=1 TRACEFAILURE=1
       下面将针对每个示例进行解析。
示例名字:helloworld
功能说明:GPP(ARM)端注册一个来自DSP端的简单一次性通知事件。

运行命令:
Target#        cd /ex01_helloworld/debug
Target#        ./run.sh

详细资料请查看创龙完整使用手册:http://pan.baidu.com/s/1jGuX6gI
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 02:37

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表