使用ADS移植mC/OS-II的实例分析
电子元件,电子元器件深圳市创唯电子有限公司
您现在的位置: 首页 > 电子技术
使用ADS移植mC/OS-II的实例分析  2012/3/1
摘要:本文介绍了使用ARM公司提供的ADS开发工具,进行移植mC/OS-II的工作。结合基于StrongARM评估板的硬件结构,对移植工作中的若干要点做了详细分析。最后,给出了移植体会和程序技巧分析。关键词:ADS;mC/OS-II;StrongARM;移植选择开发工具在嵌入式系统设计中,开发工具的选取是一个重要的考虑因素,通常这是与开发项目的需求和应用背景相关。一般嵌入式开发工具包含用于目标系统的交叉编译器、连接器、调试器以及辅助处理用的二进制文
  摘    要: 本文介绍了使用 ARM 公司提供的 ADS 开发工具,进行移植mC/OS-II 的工作。结合基于 StrongARM 评估板的硬件结构,对移植工作中的若干要点做了详细分析。最后,给出了移植体会和程序技巧分析。
关键词: ADS;mC/OS-II;StrongARM;移植 

选择开发工具
在嵌入式系统设计中,开发工具的选取是一个重要的考虑因素,通常这是与开发项目的需求和应用背景相关。一般嵌入式开发工具包含用于目标系统的交叉编译器、连接器、调试器以及辅助处理用的二进制文件分析工具等。
目前可以用来编译链接产生 ARM 处理器执行代码的开发工具主要有如下几类:
1. ARM 公司提供的 ARM Developer Suite 集成开发环境
主要工具有 armasm、armcc、armlink、fromelf 等。
2. GNU 组织提供的 tool chain for arm
主要工具有 arm-elf-gcc、arm-elf-gdb、arm-elf-objcopy 等
3. Microsoft公司提供的 eMbedded Visual Tools
主要工具有 clarm、clthumb、c2_arm、link、lib
这里我们选用 ARM 公司提供的 ADS 下的工具集来编译我们的程序和链接目标代码并最终生成可执行的二进制映像。这里介绍一下主要会用到的一些工具:
armasm.exe : 汇编文件编译器
armcc.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、Undefined_Handler、SWI_Handler、Prefetch_Handler、Abort_Handler、IRQ_Handler、FIQ_Handler。
3. 程序从 Reset_Handler 进入后,需要首先进行相关硬件的初始化操作,例如 初始化SDRAM、CPUspeed、Interrupt Controller、UART、timer 等。
4. 建立每种异常状态下的系统堆栈,为了简单起见可以只在svc态 和 irq 态下建立堆栈:setup_svc_stack,setup_irq_stack。
5. 强制 ARM 处理器状态转换为 svc 管理态。
6. 跳转到mC/OS-II 代码的 main 入口,实际上是编译链接后产生的 __main 入口。
时钟与中断处理
时钟控制逻辑
在图1中,有4种和系统时钟相关寄存器,它们的含义如下:
●  OSCR:  一个自动递增计数的 32 位计数器
与《使用ADS移植mC/OS-II的实例分析》相关列表
电话:400-900-3095
QQ:800152669
库存查询
Copyright(C) 2011-2021 Szcwdz.com 创唯电子 版权所有 备案号:粤ICP备11103613号
专注电子元件代理销售  QQ:800152669  电子邮件:sales@szcwdz.com  电话:400-900-3095