1 TL_IPC 简介

TL_IPC 是广州创龙独立开发的一种双核通讯协议,这种开发方式适用于通信逻辑相对简单的双核程序的的开发。相较于 syslink,它更简单、直接,依赖更少。DSP 端程序运行时可以不再依赖于 SYS/BIOS 和 IPC,ARM 端程序运行时不再依赖于 syslink。但 DSP 端程序的烧写依然

 

借助于 syslink 提供的程序加载工具 slaveloader。

 

TL_IPC 当前版本适用于 OMAPL138 上 ARM 核与 DSP 核的双核通信。ARM 核上运行 Linux 程序,DSP 核上运行裸机或 SYS/BIOS 程序。基于 TL_IPC 的开发是指在两个处理间采用以直接触发中断进行异步事件通知,以直接读写共享内存进行数据交换,并结合创龙提供的 c674x_irq_events 内核模块(用于 ARM 端程序捕获由 DSP 触发的中断)实现双核通信的一种双核开发方式。

 

运行时软件环境约束

内核

必须使用 Linux 3.3 版本的内核。

 

文件系统:

必须使用创龙提供的 V2.1 及以上版本的 rootfs 文件系统。文件系统的版本的确认方式:

 

执行 fsinfo 命令后输出类似下面的信息:

 

Target#            fsinfo

 


2 C674x_irq 驱动安装
注意:该驱动安装需要用到 arm-arago—linux-gnueabi 的交叉编译链,请参照《OMAPL138 的多核软件开发组件 MCSDK 开发入门》建立,成功建立并使能交叉工具链后,输入如下命令可查看版本号:
 

Host#                arm-arago-linux-gnueabi-gcc –v



2.1 编译驱动
注意:请确定使用的内核代码是否编译过,如果没有编译,先编译内核,否则会出错。

 

将光盘资料下的"Demo\driver\"目录下的 c674x-irq-events 文件夹,拷贝到 Ubuntu 的任一位置,进入"c674x-irq-events\src\"目录,执

 

行命令 make clean。

 

Host#                make clean



执行命令 make help 可查看编译帮助。

 

Host#                make help

 


根据 make help 打印的信息提示,配置内核目录和交叉编译工具。
 

Host#                make KDIR=/home/tl/omapl138/linux-3.3 CROSS_COMPILE=arm-arago-linux-gnueabi-



在该目录下,可看到 c674x-irq-events.ko 文件的生成。