当前位置:首页 > 通信技术 > 通信技术
[导读]以合众达公司的SEED—DIM138开发板作为硬件开发平台,利用SYSLINK驱动设计了一种可用于DSP和ARM之间通信的握手机制。ARM端运行Linux操作系统,进行人机交互;DSP端运行SYSBIOS操作系统,进行数据存储和买时

摘要:以合众达公司的SEED—DIM138开发板作为硬件开发平台,利用SYSLINK驱动设计了一种可用于DSP和ARM之间通信的握手机制。ARM端运行Linux操作系统,进行人机交互;DSP端运行SYSBIOS操作系统,进行数据存储和买时运算。两者使用SYSLINK进行多核通信,通过调用SYSLINK的API完成ARM和DSP之间的通信。

关键词:OMAPL138;SYSLINK;SYSBIOS;双核通信

引言

本设计主要介绍一种基于OMAPL138双核通信的握手机制。在ARM端运行Linux系统,主要处理人机交互任务;而在DSP端运行SYSBIOS,进行实时处理。

1 OMAPL138双核处理器

OMAPL138是一款集成了ARM926EJ—S和TMS320C6748 DSP的双核处理器。ARM926EJ—S内核采用流水线结构,因此,处理器和存储器系统的所有部件都可以连续的工作,DSP核采用了一个2级基于高速缓存的架构。此外,OMAPL138还包括了一系列的外设,ARM和DSP可以独自操作这些外设。OMAPL138平台的双核通信基础是中断和内存共享。

OMAPL138双核处理器的内部系统框图如图1所示。


以OMAPL138为硬件平台设计双核通信,具有以下几个优势:

①开放性好。OMAPL138平台是一种开放式体系结构,具有标准化的接口,可使用第三方开发的新功能与新程序;并且,其标准接口允许软件很容易地在不同平台间移植,设计代码可重复使用。

②可编程性好。OMAPL138的两个微处理器核均可编程,只需改写程序就能完全改变OMAPL138平台的功能。

③功耗低。OMAPL138将ARM核和DSP核集成在一个芯片中,大大降低了额外功耗,且各部分的时钟管理相互独立,可有效控制功耗。

④系统启动后两核单独运行。

2 Linux开发环境建立

2.1 主机开发环境的建立

双核通信需要3个系统,即Windows系统、PC Linux系统和ARM Linux系统。

本设计PC机采用Windows7+VMware虚拟机+Linux的开发环境,其中VMware采用的是8.0版本,Linux采用的是ubuntu-10.04.4桌面版。

2.2 交叉编译环境的建立

在开发之前,还需要建立一个交叉开发环境,这是一套由编译器、链接器和libc库等组成的开发环境。其开发模型如图2所示。


图2中,TARGET是目标板,HOST是开发主机。在开发主机上,可以安装开发工具,编辑、编译目标板的Linux引导程序、内核和文件系统,然后在目标板上运行。这种在主机环境下开发,在目标板上运行的开发模式叫做交叉开发。

构建交叉开发环境,首先要安装交叉编译工具链,然后需要在环境变量PATH中添加路径,该路径必须是工具链的安装路径。

3 双核通信设计

系统需要预留内存用于双核通信,这是非常关键的一点。由于SEED—DIM138的DDR只有64 MB,因此在本设计中Linux内核只管理从0x C000 0000开始的32 MB的内存,剩下的从0x C200 0000~0x C3FF FFFF的32 MB的内存留给SYSLINK用于双核通信。

3.1 开发工具

本设计用到的DSP端开发工具包括:集成开发环境(CCS),多线程、多任务操作系统(SYSBIOS),第三方算法库标准(eXpress DSP Component,XDC)。ARM端开发工具包括:Li nux、交叉编译工具。除此之外,还要用到的软件开发工具是SYSLINK和IPC。

为了缩短开发时间,还安装了多核软件开发组件——MCSDK,有助于在统一平台上使用SYSBIOS或Linux。

3.2 开发板启动

Windows工作台通过串口和JTAG、网口与SEED—DIM138开发平台连接。配置PC机端的超级终端,设置串口参数:波特率为115 200,数据位为8,奇偶校验无,停止位为1,数据流控制无。打开Windows PC机串口控制台,连接串口。开发板拨码开关拨到100 011,上电后,将编译好的内核和文件系统下载到开发板,并设置内核启动参数如下:

U—Boot—DIM138>setenv bootargs,console=ttysl,115200n8root=/dev/mtdblock4 rw rootfs=jffs2 mem=32@0xc0000000

然后保存,复位开发板从NAND FLASH启动,并加载iffs2文件系统。

开发板启动完成后,使用tftp服务将在ubuntu下编译好的SYSLINK驱动下载到开发板上,使用如下命令手动加载驱动:

insmod SYSLINK.ko TRACE=1 TRACEFAILURE=1 TRACECLASS=3

本设计中用一个简单的LED例程设计双核通信。在例程中对外部内存的分配如表1所列,这部分内容在cfg和bld文件中进行配置。


3.3 软件设计

软件设计基本代码流程如图3所示。软件设计中,DSP核的处理器ID为0,ARM核的处理器ID为1,DSP端调用IPC模块的MultiProc.h中的MultiProc_getId()函数获取HOST端的ID,HOST端使用同样的函数获取DSP端的ID,以此作为通信的基础。通信交互流程可以看做是一种“乒乓”操作,最后还要释放资源。本设计要完成的操作是,在程序中通过对LED对应的GPIO相关寄存器配置使2个LED连续闪烁2次,再分别依次点亮2个LED,最后依次熄灭2个LED。设计中要用到的API如表2所列。



OMAPL138的ARM Linux操作系统中,SYSLINK提供了一个“slaveloader”组件来加载、启动、停止DSP处理器,设计了对DSP核的管理,同时也是使用“slaveloade”组件来运行SYSLINK示例程序。

将编译好的应用程序下载到开发板,运行后编写run.sh脚本,即实现了双核通信的过程。脚本的内容为:set—x

./slaveloader startup DSP server_dsp.xe674

./app_host DSP

./slaveloader shutdown DSP

基本流程是:ARM端启动DSP并加载.xe674格式的SYS/BIOS文件→启动ARM端应用程序→关闭DSP核。

结语

本设计完成了一个简单的双核通信过程,为复杂的双核通信,如A/D数据采集和FFT运算奠定了开发基础,在工程上具有一定的应用价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

南京2023年9月21日 /美通社/ -- 金九银十,又到了一年一度的销售旺季。在相关政策的大力推动下,国内房地产市场的回暖也带动了装修市场的旺盛需求,而今年主打的关键词之一便是"智能科技"。从最新一...

关键字: 华为 AI 智能家居 LINK

LSH Delta 2023年9月19-23日首秀于BizLink贸联展台6.1H, E187 中国常州2023年9月21日 /美通社/ -- 全球领先的互联解决方案供应商...

关键字: 电缆 管线 机器人 LINK

南京2023年9月20日 /美通社/ -- 在科技创新推动高质量发展的今天,中国家电产业不断以创新驱动,变革品类以满足广大消费者的迫切需求,为全球家电产业创新发展作出了表率。在日前于德国柏林举行的"第十九届中国...

关键字: 洗碗机 嵌入式 LINK 家用电器

南京2023年9月15日 /美通社/ -- 近日,商务部办公厅印发《关于组织开展"家居焕新消费季"活动的通知》,《通知》中明确说明将于今年9—12月在全国范围内组织开展"家居焕新消...

关键字: LINK AI BSP 洗碗机

南京2023年9月8日 /美通社/ -- 在商务部的决策与组织下,新一波"家居焕新消费季"活动已在全国范围内如火如荼地开展起来了。随即,苏宁易购零售云宣布启动"秋季家装节",携手超...

关键字: 苏宁 LINK AI 苏宁易购

(全球TMT2023年8月23日讯)8月20日—8月23日2023中国(南京)国际软件产品和信息服务交易博览会(软博会)在南京召开。软通动力分享了其在国家信创战略指导下的开源鸿蒙生态建设成果和经验,同时带来了行业领先的...

关键字: 开源 鸿蒙 软件 LINK

南京2023年8月14日 /美通社/ -- 在席卷全球的"AI狂潮"的影响下,许多行业都在自觉或不自觉地发生着潜移默化的改变。随着人工智能相关技术的普及,消费者对其应用场景的预期相当高,其中又尤以&q...

关键字: LINK 智能家居 AI 燃气

南京2023年8月8日 /美通社/ -- 近年来,大家对于"家庭饮水健康"越来越重视,大多数家庭都安装了净水机,细细的水流儿让"烧水泡茶"更是变成了一种"慢活儿...

关键字: LINK 智慧家居 AI 温度

南京2023年8月7日 /美通社/ -- 随着相关政策支持力度的不断加大,国内建筑市场呈现出需求旺盛的喜人景象,而“智能科技”在建筑的广泛应用已成为吸引消费者的核心要素。“全屋智能”是如今“智能化”复杂度、聚合度最高的场...

关键字: 智能家居 AI LINK 新风系统

在处理器主频相同的情况下,四核的处理速度是双核的两倍。但是影响处理速度的还有处理器的架构、RAM容量等。下面是我收集整理的手机cpu双核和四核有什么区别。

关键字: 处理器 四核 双核
关闭
关闭