使用ads移植mc-os

使用ads移植mc-os

ID:21378193

大小:55.50 KB

页数:4页

时间:2018-10-21

使用ads移植mc-os_第1页
使用ads移植mc-os_第2页
使用ads移植mc-os_第3页
使用ads移植mc-os_第4页
资源描述:

《使用ads移植mc-os》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、使用ADS移植mC/OS内容加载中...摘要:本文介绍了使用ARM公司提供的ADS开发工具,进行移植mC/OS-II的工作。结合基于StrongARM评估板的硬件结构,对移植工作中的若干要点做了详细分析。最后,给出了移植体会和程序技巧分析。选择开发工具在嵌入式系统设计中,开发工具的选取是一个重要的考虑因素,通常这是与开发项目的需求和应用背景相关。一般嵌入式开发工具包含用于目标系统的交*编译器、连接器、调试器以及辅助处理用的二进制文件分析工具等。目前可以用来编译链接产生ARM处理器执行代码的开发工具主要有如下几类:1.ARM公司提供的ARMDevelo

2、perSuite集成开发环境主要工具有armasm、armcc、armlink、fromelf等。2.GNU组织提供的toolchainforarm主要工具有arm-elf-gcc、arm-elf-gdb、arm-elf-objcopy等3.Microsoft公司提供的eMbeddedVisualTools主要工具有clarm、clthumb、c2_arm、link、lib等这里我们选用ARM公司提供的ADS下的工具集来编译我们的程序和链接目标代码并最终生成可执行的二进制映像。这里介绍一下主要会用到的一些工具:armasm.exe:汇编文件编译器ar

3、mcc.exe:C文件编译器armlink.exe:目标文件连接器fromelf.exe:用于将axf或者elf格式转换成其他格式的文件,例如二进制映像。armprof.exe:对调试过程中生成的profiling记录文件做分析用的工具软件启动代码由于板子的0x0地址处是32M的FlashROM,因此在板子加电后,会从Flash中顺序执行启动代码。为了能使得mC/OS-II运行,启动代码需要完成如下工作:1.设置异常向量表,即在0x0-0x1c位置放置7条跳转指令(其中0x14为空)2.分别实现每种异常的处理程序,其中包括Reset_Handler、

4、Undefined_Handler、S、CPUspeed、InterruptController、UART、timer等。4.建立每种异常状态下的系统堆栈,为了简单起见可以只在svc态和irq态下建立堆栈:setup_svc_stack,setup_irq_stack。5.强制ARM处理器状态转换为svc管理态。6.跳转到mC/OS-II代码的main入口,实际上是编译链接后产生的__main入口。时钟与中断处理时钟控制逻辑在图1中,有4种和系统时钟相关寄存器,它们的含义如下:●OSCR:一个自动递增计数的32位计数器。●OSMR3-0:4个32位的

5、匹配寄存器,当OSCR的值匹配时产生中断。●OSSR:状态寄存器,当OSCR和OSMR匹配时,会对OSSR做标志。●OIER:使能寄存器,表示当匹配发生时,允许在OSSR设置一个标识位。OSCR在自动累加的过程中,与OSMR里面设定的那些匹配寄存器进行匹配,发现有匹配的事件时,就会对OSSR中的相应位置设一个标志位“1”,表示OSCR与对应的OSMR发生了匹配。当然这个匹配发生的前提是发生匹配的那个OSMR在OIER中的相应位被使能,否则OSMR中的设置将不起作用。系统时钟初始化流程mC/OS-II中创建的第一个任务将负责启动时钟节拍,时钟的初始化设

6、置流程如下:1)设置OSMR0=x,表示初始化OSMR0,即当计数器为x时发生匹配2)设置OSSR=0xf,表示清除所有已经发生的匹配,写“1”清除3)设置OIER=OIER_EO,表示使能OSMR0来产生匹配4)设置OSCR=0,表示初始化计数器的开始值为0系统时钟中断复位1)清除OSSR中的相应位,即向发生匹配的OSMR的那个对应位写“1”2)设置OSCR=0,表示继续初始化计数器的值为0中断控制器相关的寄存器●ICPR:中断标示寄存器,表示了当前系统正处于激活状态的中断源。●ICMR:中断屏蔽寄存器,用来屏蔽相应位的中断。●ICLR:中断级别设

7、置寄存器,设定报告中断的级别是IRQ或者是FIQ。●ICIP:IRQ级别的中断源寄存器,用来标识IRQ中断发生的源设备。●ICFP:FIQ级别的中断源寄存器,用来标识FIQ中断发生的源设备。中断控制器初始化流程1)设置ICMR屏蔽位为不屏蔽时钟中断OSMR0(相应位写“1”)2)设置ICLR为都报告为IRQ级别(所有位写“0”)移植工作总结难点分析移植mC/OS-II到StrongARM的芯片上,基本上和移植到ARM7的芯片例如S3C4510,AT91x等工作类似,因为所有的ARM处理器都共享ARM通用的基础体系结构,这使得移植工作变得相对简单,其中

8、绝大部分工作都集中在os_cpu_a.S文件的移植,这个文件的实现集中体现了所要移植到处理器的体系结构和mC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。