基于NOR Flash的OMAPL138双核系统自举引导启动实现
- 格式:pdf
- 大小:430.54 KB
- 文档页数:5
OMAP-L138双核通信实例Example01使用的开发板:广州创龙公司的TL138_1808_6748-EVMrun.sh########################################################### #!/binset-x./slaveloader startup DSP server_dsp.xe674./app_host DSP./slaveloader shutdown DSP###########################################################运行结果:ARM端程序:1)main():在主函数中,首先检查参数的有效性,然后调用Main_main()函数//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////解析命令行:status=Main_parseArgs(argc,argv);============================================================= Int Main_parseArgs(Int argc,Char*argv[])(1) =============================================================终止SysLink:SysLink_destroy();//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 2)Main_main()初始化SysLink:SysLink_setup();调用SysLink的装载回调信号:remoteProcId=MultiProc_getId(Main_remoteProcName);//获取DSP端处理器的IDstatic String Main_remoteProcName=“DSP”;status=Ipc_control(remoteProcId,Ipc_CONTROLCMD_LOADCALLBACK,NULL);调用SysLink的开始回调函数status=Ipc_control(remoteProcId,Ipc_CONTROLCMD_STARTCALLBACK,NULL);应用程序执行阶段status=App_exec(remoteProcId);======================================================================= Int App_exec(UInt16remoteProcId)======================================================================= 3)App_exec()首先是创建一个信号量对象:Module_semH=OsalSemaphore_create(OsalSemaphore_Type_Counting);static OsalSemaphore_Handle Module_semH=NULL;//全局对象注册通知回调函数status=Notify_registerEventSingle(remoteProcId,SystemCfg_LineId,SystemCfg_EventId,App_notifyCB,(UArg)NULL);App_notifyCB:回调函数名(UArg)NULL:回调函数的参数,这里没有指定参数等待通知事件,使用的是信号量机制。
双核处理器接口的研究和启动引导的实现的开题报告一、选题背景随着计算机处理速度的不断提升和应用需求的不断增加,多核处理器已被广泛应用于计算机领域。
但是,在双核处理器中实现并行处理需要考虑许多方面,如线程调度、共享资源、任务划分等问题,这给双核处理器的设计和应用带来了新的挑战。
此外,在计算机系统启动阶段,启动引导程序对系统的稳定性和性能有着重要的影响。
因此,对于双核处理器的接口研究和启动引导程序的实现都具有重要意义。
二、研究目的与意义本研究旨在探究双核处理器接口的设计原理和实现方法,以及启动引导程序的条件与要求,并实现一个基于双核处理器的启动引导程序,旨在实现对双核处理器的管理与调度,提高计算机系统的性能和稳定性。
三、研究内容1. 双核处理器接口设计与实现原理(1) 双核处理器处理器架构及其特点(2) 双核处理器的调度与管理(3) 双核处理器热插拔设计(4) 双核处理器的缓存一致性2. 启动引导程序条件与要求(1) 启动引导程序的特点(2) 启动引导程序的条件与要求(3) 启动引导程序和系统的关系3. 双核处理器启动引导程序的实现(1) 启动引导程序设计原理(2) 启动引导程序自动检测与配置(3) 双核处理器启动引导程序的调试和优化四、预期研究成果1. 完成对于双核处理器接口的研究,撰写论文,获得相关发表。
2. 完成对于双核处理器启动引导程序的设计与实现,验证其可行性,提高计算机系统的性能和稳定性。
五、研究计划与进度安排1. 第一周:完成双核处理器处理器架构及其特点的调研分析,并输出阶段性报告2. 第二周:完成双核处理器的调度与管理、热插拔设计和缓存一致性的研究,并输出阶段性报告。
3. 第三周:完成启动引导程序的特点、条件与要求的研究,并输出阶段性报告。
4. 第四周:完成启动引导程序的设计原理的研究,并输出阶段性报告。
5. 第五周:完成启动引导程序自动检测与配置的设计与实现,并进行阶段性测试。
6. 第六周:完成双核处理器启动引导程序的调试和优化,并进行全面测试,输出论文。
DSP 通过外部F LAS H 实现自引导启动郭炜, 邵诗逸(上海交通大学电力电子与电力传动系, 上海交通大学微纳米研究院, 上海200240摘要:初学者在使用DSP 的时候, 或者开发人员进行软件开发的时候, 必须在连接仿真器的情况下进行开发, 然而最后的实现需要脱离仿真器运行。
首先对基于DSP 了探讨, 并介绍了两种脱离仿真器利用F LASH , 及通过F LASH 启动时F LASH 地址内容的变化。
关键词:数字信号处理; ; ; 中图分类号:T :B :1002-2279(2007 01-0024-03The R ti o f Boo tl o ad o f D S P s Th r o ugh o n -ch i p FLASHG UO W ei, SHAO Shi -yi(D ept . of Po w er Electronics and Electrical D rives, Shanghai J iaotong U niversity,m icro and nano research institution, Shanghai J iaotong U niversity, Shanghai 200240, ChinaAbstract:W hen abecedarian use DSP or devel oper devel op s oft w are, they must connect the e mula 2t or . But the ulti m ate realizati on needs t o be run without e mulat or . This paper discusses about the way of exteri or self -starting based on DSPs, then intr oduces t w o methods of running p r ogra m by using F LASH without e mulator . The p r ocess of self -starting and change of address content of F LASH when F LASH was started are analysed in detail in the end .Key words:DSP; bootl oad; me mory setup; F LASH1引言众所周知, DSP 平台在成为最后的成品之前必须实现脱离仿真器到自引导启动。
OMAPL138的双核通信设计林淦;刘建群;许东伟;李嘉健【期刊名称】《机床与液压》【年(卷),期】2014(42)22【摘要】以OMAPL138作为硬件平台,利用DSPLINK驱动模块设计了一种可在ARM和DSP之间进行双核通信的机制。
一方面,ARM端运行LINUX操作系统,进行人机交互方面的处理;另一方面,DSP端建立两级循环缓存区,存储从ARM 端传来的数据,以确保缓存区一直有数据可供DSP进行实时运算。
并且对于大数据量的传输,采用ARM直接读写DSP RAM的方式,从而提高了双核之间的通信速度。
测试结果表明:该双核通信设计传输数据速度快、运行稳定。
%Taking OMAPL138 as the hardware platform,using DSPLINK driver module,a mechanism that could be used to com-municate between ARM and DSP was designed. On one hand,in ARM side,LINUX operating system was runto deal with human-computer interaction. On the other hand,in DSP side,two levels cache was built to circularly store data coming from the ARM side and to ensure that the cache had data available for DSP to acquire and calculate. Moreover,for the large amount of transmission data, the mode that ARM directly read from and wrote to DSP RAM was selected,which would improve the communication speed between the two cores. The design has been proved to run stably and reliably.【总页数】5页(P146-149,193)【作者】林淦;刘建群;许东伟;李嘉健【作者单位】广东工业大学机电工程学院,广东广州510006;广东工业大学机电工程学院,广东广州510006;广东工业大学机电工程学院,广东广州510006;广东工业大学机电工程学院,广东广州510006【正文语种】中文【中图分类】TN92【相关文献】1.基于OMAPL138双核通信的测试与实现 [J], 俞静;袁三男2.基于NOR Flash的OMAPL138双核系统自举引导启动实现 [J], 邓国荣;刘厚钦3.基于共享内存的OMAPL138双核通信设计 [J], 杜江;张辛;胡昂4.一种基于OMAPL138的双核通信设计 [J], 王燕;张福洪5.基于OMAPL138的双核通信研究及应用 [J], 郭盟;尹志辉;钱世俊因版权原因,仅展示原文概要,查看原文内容请购买。
摘要本文介绍OMAP-L138_FlashAndBootUtils工具包基本框架和串口烧写工具sfh_OMAP-L138.exe工作原理,使用方法,以及针对客户的硬件如何修改代码,搭建编译环境并重新编译,并总结了使用该工具的常见问题。
关键字:OMAPL138, 串口烧写, UBL简介OMAP-L138支持多种启动模式,包括 SPI,NAND,NOR等。
TI为用户提供了两套 flash烧写工具:(1) 使用 TI 在 PSP 包或 OMAP-L138_FlashAndBootUtils 包中提供的 flash writer 的CCS工程,通过仿真器连接硬件板,按照提示步骤烧写 flash。
(2) 使用 OMAP-L138_FlashAndBootUtils工具包中的串口烧写工具(如sfh_OMAP-L138.exe),通过串口连接,进行命令行烧写。
本文接下来将针对第二种方式进行详细介绍。
用户可以从开源网站上下载最新的 OMAP-L138_FlashAndBootUtils版本[1]。
最新的版本为MAPL138_FlashAndBootUtils_2_40,本文以此版本展开讨论。
OMAP-L138_FlashAndBootUtils_2_40工具包支持 TI公司的多种芯片平台的 flash烧写,包括 OMAPL138,AM1808,C6748等。
工具包内的代码是对应 LogicPD的 OMAL138/AM1808 EVM 板的。
如果用于用户自己的硬件板,可能需要修改工具包中相应代码并重新编译。
该工具包中包括多种 flash工具及代码。
主要目录如表 1所示。
表 1 OMAP-L138_FlashAndBootUtils_2_40工具包目录结构1. 串口烧写工具 sfh_OMAP-L138.exe的工作原理sfh_OMAP-L138是 OMAP-L138_FlashAndBootUtils包中用于实现串口烧写 flash的应用程序。
基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门V1.0LastRittersuperyongzhe@2011年4月4日一、简介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实例编译 (2)2实例演示 (3)3实例解析 (6)3.1实例程序结构解析 (6)3.2实例SYS/BIOS应用程序解析 (7)3.3实例Linux应用程序解析 (13)1 实例编译光盘中demo/syslink/ex10_led实例实现了利用MCSDK的SYSLINK组件在ARM端控制DSP端来操作开发板外设LED执行跑马灯程序。
本实例是基于ex03_notify增加DSP控制LED功能。
先按照广州创龙OMAPL138开发板的用户手册《基于OMAPL138的多核软件开发组件--MCSDK开发教程.pdf》安装MCSDK,配置、编译和安装SYSLINK。
然后将ex10_led文件夹拷贝到虚拟机/home/tl/ti/syslink_2_21_01_05/examples目录下(该路径不可随意放置,否者无法包含到SYSLINK里面的头文件),然后进入ex10_led目录,如下图所示:图1执行“sudo make clean”清除编译生成文件,执行“sudo make”命令重新编译该例程,如下图所示:图2图3在该目录的dsp/bin/debug/目录下生成.xe674格式文件server_dsp.xe674,如下图所示:图4在该目录的host/bin/debug/目录下生成Linux端可执行程序app_host,如下图所示:图52 实例演示执行此实例双核通信需要4个文件,syslink.ko、slaveloader、server_dsp.xe674和app_host。
按照《基于OMAPL138的多核软件开发组件--MCSDK开发教程.pdf》教程完成SYSLINK编译和安装后,syslink.ko和slaveloader将位于开发板文件系统如下位置:syslink.ko:/lib/modules/3.3.0/kernel/drivers/dsp/syslink.koslaveloader:开发板任意example的debug目录中,如/ex03_notify/debug/slaveloader。
1双核启动介绍1.1OMAP-L138介绍德州仪器推出具有无与伦比连接选项与定点和浮点功能的全新处理器OMAP-L138,同时这款产品也是业界功耗最低的浮点数字信号处理器,可充分满足高能效、连通性设计对高集成度外设、更低热量耗散以及更长电池使用寿命的需求。
该器件结合了一系列独特的应用优化特性和外设,能显著降低工业、通信、医疗诊断和音频等多种产品的总体系统成本。
此芯片,可通过动态电压与频率缩放及多种省电模式管理片上电源。
若配合电源管理软件和配套模拟解决方案,开发人员无需成为节能技术专家即可优化系统,提高性能,降低功耗。
OMAPL138双CPU内核高性能处理器是由德州仪器公司生产的双CPU处理器,内部包含DSP和ARM两个CPU内核。
本文介绍了一种基于Flash实现双核启动,并分别加载ARM和DSP程序的方法,介绍了OMAPL138双CPU核的自启动和开发方法,对于OMAPL138的应用有非常强的参考价值。
1.2OMAP-L138程序映射介绍本文介绍ARM启动后,唤醒DSP自启动系统,这种自启动系统需编写bootloader程序、应用程序段,其中ARM包含bootloader、应用程序,DSP包含应用程序。
所有程序的代码放置在外部NOR Flash内,外部Flash与双核CPU通过EMIF总线连接。
程序放置位置的中的地址映射如图1所示,其中,bootloader.bin通过双核CPU出厂自带的搬运程序到共享shareRAM中,shareRAM起始地址为0x80000000,出厂自带的搬运程序不能搬运超过16KB的二基于OMAP-L138处理器的启动驱动开发———双核启动NorFlashDevelopment of Startup Drive Based on OMAP-L138Processor———Dual Boot NorFlash付雪飞,张滔,路婷婷(株洲南车时代电气股份有限公司,株洲412003)Fu Xue-fei,ZHANG Tao,LU Ting-ting(Zhuzhou CSRElectricCompanyLimitedbyShares,Zhuzhou412001,China)【摘要】论文介绍NorFlash启动双核系统的办法,详细介绍启动过程中需要的工作流程,包括程序的存放、烧写、载入、跳转、执行等。