- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HYPERLINK javascript:; 基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门 (2011-11-14
一、简介?TI的达芬奇架构嵌入式应用处理器使用DSP与ARM结合的非对称多核结构,当然现在也有管脚全兼容的单核。本文要介绍的就是其中的一款低功耗处理器OMAP?L138。?OMAP?L138包括一个主频300M的ARM9处理器内核和一个300M的C6748DSP内核(均是32位处理器)。此外还有大量外设在此不做说明,与通用的ARM与DSP内核相比有如下一些不同点:?1.内存映射,该处理器的外设与内存统一编址,DSP与ARM共享4G内存空间。但其中有一部分DSP仅可见(如DSP的数据指令缓存),一部分ARM仅可见(如ARM的内部RAM),其余的两者都可以访问,具体的请参考其芯片资料。?2.中断,与通用的DSP与ARM相比,达芬奇架构并没有在这两个核中增加用于双核通信及相互控制的指令(也许是本人没发现吧!如果你发现相关的说明,请发个email告诉我,谢谢!),然而却增加两个核之间的中断,共计7个。当双核需要进行通信时,首先把数据放在双方可以访问的内存上,然后给对方一个中断,对方在中断中接收传递过来的数据,以此实现双方的通信,个人认为这就是DSP?Link实现的基本原理吧:)?3.能源与休眠配置模块(PSC),这个模块主要负责整个系统的能源管理,可以使能或者休眠ARM核,DSP核以及大部分外设ARM核与DSP核的相互控制主要就依赖这个模块。?对于OMAPL138,上电时默认的是ARM核被禁止,DSP核被使能。说以开机时是DSP核先启动,然后是DSP的ROM?Bootloader做一些初始化后使能ARM核后,ARM核才开始运行。不同的达芬奇处理器是不同的,比如OMAPL137就是反过来的,网上资料鱼龙混杂,弄不清楚的话就去看PSC模块中的ARM和DSP核的默认值就可以了。??二、启动过程?1.开机上电,用户在BOOT?管脚上配置的启动方式被锁定采样到SYSCFG模块的BOOTCFG寄存器,从而确定可处理器的启动方式。?2.PSC模块中的启动默认值是:ARM核休眠,DSP核使能。所以这时候DSP启动,DSP从片内DSP?L2?ROM处读取指令执行。这里有TI已经固化的仅DSP核可以访问的ROM?Bloader,简称DSP?RBL。3.DSP的RBL做一些简单的初始化后,就通过PSC模块使能ARM核,休眠自己。然后ARM就开从片内的RAM?Local?ROM处读取指令并执行,这里面有TI已经固化好的ARM?ROM?Bootloader,简称ARM?RBL。?4.ARM的RBL做一些初始化后,根据BOOTCFG寄存器的设定,从指定的地方读取用于启动U-Boot的Bootloader,即U-Boot?BootLoader,简称UBL。UBL可以放在Nandflash,或者通过串口下载等方式取得。值得说明的是,这里的UBL是(AIS?Application?Image?Script?)格式,而不是通常的BIN格式。?5.当ARM?RBL读取到UBL后就根据AIS格式中的命令初始化、加载并运行UBL。然后就是UBL加载运行U-Boot,U-Boot根据启动参数启动Linux,Linux根据启动参数加载根文件系统。?6.这时ARM核上的Linux就运行起来了,但DSP还处于休眠状态。在Linux经过一系列初始化后会执行跟文件系统中/etc/profile的指令。我们在这里添加插入DSP?Link内核模块的命令,就会在/dev目录下产生一个叫dsplink的设备文件。这个DSP?Link内核模块就是通过前面所说的中断和PSC设定就可以完成与DSP的通信与控制。?7.?然后再执行我们自己的ARM端程序,在ARM端程序中使用DSP?Link的库函数来访问dsplink设备,从而在用户空间实现对DSP核的控制与通信。在我们写的ARM端程序中使用DSP?Link库函数加载DSP端的应用程序到内存,使用DSP?Link的PROC函数启动DSP核。然后ARM核和DSP核就都各自独立运行起来了,通过DSP?Link来进行通信。??三、OMAPL138?相关软件包及开发工具?开发环境说明:除了CCS3.3是在WindowsXP上外,其他的都是在Fedora14上。?1.?OMAP_L138_1_00_00_11.bin?-?TI的OMAPL138?SDK,对于其他的达芬奇架构处理器有都有对应的DVSDK可供下载,内容大同小异。???这里面包含的有如下内容:?????pspdrivers?-?DSP?BIOS?平台驱动,包括csl等,编写
您可能关注的文档
最近下载
- 工地禁酒免责协议书范本.docx VIP
- 海洋经济发展与海洋环境保护.pptx VIP
- 工业园区管理制度(示范版).docx VIP
- 附件行业标准目录-行业标准目录详解.PDF VIP
- 2024年甘肃张掖山丹马场招聘15人笔试模拟试题及答案解析.docx VIP
- GB51210-2016 建筑施工脚手架安全技术统一标准.docx VIP
- 旅游策划学教案.doc VIP
- 2025年吉林外国语大学辅导员招聘考试笔试备考题库及答案解析.docx VIP
- 2024年甘肃张掖山丹马场招聘15人笔试备考试题及答案解析.docx VIP
- 2025年河南省高校毕业生“三支一扶”计划招募(3000名)模拟试卷及参考答案详解一套.docx
文档评论(0)