ucosii在arm移植详解.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计题目 1 uCOS-II?在ARM?微处理器上的移植及编译 2 设计目的与要求 1.了解uCOS-II 内核的主要结构。 2.掌握将uCOS-II 内核移植到ARM 处理器上的基本方法。 3. 在给定的设备(UP-TECH PXA270-S嵌入式开发平台、PC 机 、WinXP、ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。)上加以实验,学会自己分析、找出解决问题的方法; 4. 对设计中遇到的问题和困难,独立思考,查阅资料,分析、观察、判断、试验、再判断以寻找答案。 5. 分析结果,写出设计总结报告论述自己的观点,并应将参考资料列在报告后面以备查询。内容尽量翔实(如上机过程、环境搭建),其中必须有按自己所理解、用自己的语言所描述的内容,否则不予计分。 3 设计环境或器材、原理与说明 4 设计过程(步骤)或程序代码 Main.c: C main 函数,ucos-ii初始化等定义 #include ../inc/sys/lib.h #include string.h #include stdio.h #include ../inc/drv/register.h /* register.h 中时对philips arm 2xxx 寄存器的定义*/ #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif typedef unsigned char uint8; /* 无符号8位整型变量 */ typedef signed char int8; /* 有符号8位整型变量 */ typedef unsigned short uint16; /* 无符号16位整型变量*/ typedef signed short int16; /* 有符号16位整型变量*/ typedef unsigned int uint32; /* 无符号32位整型变量*/ typedef signed int int32; /* 有符号32位整型变量*/ typedef float fp32; /* 单精度浮点数(32位长度)*/ typedef double fp64; /* 双精度浮点数(64位长度)*/ /* 系统设置, Fosc、Fcclk、Fcco、Fpclk必须定义*/ #define Fosc //晶振频率,10MHz~25MHz,应当与实际一至 #define Fcclk (Fosc * 5) //系统频率,必须为Fosc的 整数倍(1~32),且=60MHZ #define Fcco (Fcclk * 4) //CCO频率,必须为Fcclk的2、4、 8、16倍,范围为156MHz~320MHz #define Fpclk (Fcclk / 4) * 4 //VPB时钟频率,只能为 (Fcclk / 4)的1、2、4倍 (上面这些系统频率的设置是要与我们要连接的硬件(即目标机)相一致的,只有这些频率与目标机相一致才可以观察到实验现象,否则会出错。) void DelayNS(uint32 dly) { uint32 i; for(; dly0; dly--) for(i=0; i5000; i++); } /*长软件延时*/ #define UART_BPS 115200 /* 定义通讯波特率 */ void UART0_Ini(void) { uint16 Fdiv; U0LCR = 0x83; // DLAB = 1,可设置波特率 Fdiv = (Fpclk / 16) / UART_BPS; // 设置波特率 U0DLM = Fdiv / 256; U0DLL = Fdiv % 256; U0LCR = 0x03; } /*初始化串口0。设置为8位数据位,1位停止位,无奇偶校验,波特率为115200*/ void UART0_SendByte(uint8 data) { U0THR = data; // 发送数据(data为要发送的数据) while( (U0LSR0x40)==0 ); // 等待数据发送完毕 }

文档评论(0)

四月 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档