OMAPL138多核MCSDK開發

1、首先安裝MCSDK相關軟件linux

1.1Ubuntu虛擬機中安裝CCSios

       此處安裝的是Linux下的CCS,版本號是:CCS5.5.0CCS5.5.0.00077_linux.tar.gz網絡

1.2安裝MCSDK工具

下載mcsdk_1_01_00_02_setuplinux.bin安裝文件,而後執行以下命令:ui

Host#    ./mcsdk_1_01_00_02_setuplinux.binthis

2、設置MCSDK開發環境參數spa

       進入mcsdk_1_01_00_02目錄下,啓動MCSDK設置腳本,根據不一樣主機設置,進行tftpnfsU-Boot等配置。在設置以前,務必保證虛擬機網絡暢通。操作系統

Host#    sudo ./setup.sh.net

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.comapl1xx_phy_shmem.comapl1xxpwr.c文件開頭,不然編譯會出錯。

 

#undef __ASM_ARCH_HARDWARE_H

#include <mach/hardware.h> 

       以上三個文件的路徑是:    

1syslink_2_21_01_05/packages/ti/syslink/ipc/hlos/knl/notifyDrivers/arch/omapl1xx/Omapl1xxIpcInt.c

2syslink_2_21_01_05/packages/ti/syslink/family/hlos/knl/omapl1xx/omapl1xxdsp/Linux/omapl1xx_phy_shmem.c

3syslink_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已經編譯完成。

3syslink示例程序演示

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=128Mmem=32M@0xc0000000mem=64M@0xc4000000

2)安裝syslink驅動

       進入開發板後,執行如下命令安裝syslink驅動:

 

Target#        insmod/lib/modules/3.3.0/kernel/drivers/dsp/syslink.ko TRACE=1 TRACEFAILURE=1

3syslink示例程序

Target#        cd /

Target#        ./runall.sh

 

5、示例程序解析    

       每一個示例目錄中有readme.txtrun.sh文件說明如何使用示例,而在開發板中運行/runall.sh是運行了全部的syslink示例程。

備註:如下內容摘錄於http://blog.csdn.net/crushonme/article/details/10287693

Slaveloader

       在OMAPL138ARM Linux操做系統中,syslink提供了slaveloader組件去加載、啓動、中止DSP處理器,實現了對DSP核的管理,同時也是使用「slaveloader」組件去運行syslink示例程序。

       運行「slaveloader」組件有四個參數:

參數1startup|shutdown|all|powerup|load|start|stop|unload|powerdown|list

參數2Core name         //遠程處理器名稱,通常是DSP

參數3File path            //可執行文件路徑,當參數2startup/load/all/時必填

參數4map-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

功能說明GPPARM)端註冊一個來自DSP端的簡單一次性通知事件。

 

運行命令:

Target#        cd /ex01_helloworld/debug

Target#        ./run.sh

 

詳細資料請查看創龍完整使用手冊http://pan.baidu.com/s/1jGuX6gI

相關文章
相關標籤/搜索