- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM基础知识和开发环境
* * * * * * * * * * 创建新工程 工程名newproj1.ewp,保存在d:\newproj下 保存Workspace,和工程名一样,存在同一目录 将鼠标移到工程处,右键选择add debug版本不能生成bin 注意:add Group时inc是不需添加的,只添加init、src、startup和uhal。2410addr.s是不能添加的,否者编译不能通过。当一个文件夹里有较多文件时,可按下shift键全选 添加文件后的工程如下图所示 此时编译,出现以下结果 有3个头文件做以下修改:#include “../inc/macro.h”,#include “../inc/drivers.h“,#include ”../uhal/isr.h“ General OptionLibrary configuration选Full,C/C++ CompilerCodeProcessor mode选ARM,至此编译通过 选CPU 选仿真器RDI 、 “Run to Main”打勾、选mac文件s3c2410_ram.mac 选链接器配置文件s3c2410_ram.icf 配置仿真器的动态链接库H-JTAG.dll IAR 生成的out文件供RDI等仿真器使用,通过输出转换可生成bin文件,供vivi烧写Flash使用 Vivi的烧写(映象文件下载) 将开发板重新启动同时按下键盘中任意键,这时在超级终端将会看到下面的提示,在 vivi后键入 load flash ucos x 然后回车。 , 这时将会进入下图的界面,然后打开超级终端上方的“传送”菜单并选择发送文件,点击浏览按键,查找并进入到编译生成的映象文件夹下,打开 system.bin.然后在发送文件对话框中的协议栏选择 Xmodem,最后选择发送。发送结束后,映象文件即下载到 flash 中,然后,按照第三个图键入 bootucos 命令再回车即可运行 ucos程序。 实验目的 掌握ARM的串行口工作原理 学习编程实现ARM的UART通讯 掌握S3C2410寄存器配置方法 预备知识 了解EWARM集成开发环境的基本功能 学习串口通讯的基本知识 熟悉S3C2410串口有关的寄存器 实验设备 2410s教学实验箱 ARM920T的JTAG仿真器 ARM EWARM5.3集成开发环境 串口连接线 五 基础知识 - RS-232C接口通信的两种基本连接方式 五 基础知识 -信号电平规定 EIA电平:双极性信号逻辑电平, 它是一套负逻辑定义 -3V到-25V之间的电平表示逻辑“1” +3V到+25V之间的电平表示逻辑“0” TTL电平:计算机内部(S3C2410)使用LVTTL电平 电平转换电路:常用专门的RS-232接口芯片,如SP3232、SP3220等,在LVTTL电平和EIA电平之间实现相互转换。 五 基础知识 - 异步串行口接口电路 五 基础知识 发送数据 void Uart_SendByten(int Uartnum, U8 data) //往串口发送数据 WrUTXH0(data); //往串口数据寄存器写数据 接收数据 char Uart_Getchn(char* Revdata, int Uartnum, int timeout)//接收数据 RdURXH0(); //读取串口数据寄存器数据 void Uart_SendByten(int Uartnum, U8 data { if(Uartnum==0) { while(!(rUTRSTAT0 0x4)); //Wait until THR is empty. hudelay(10); WrUTXH0(data); } else { while(!(rUTRSTAT1 0x4)); //Wait until THR is empty. hudelay(10); WrUTXH1(data); } } char Uart_Getchn(char* Revdata, int Uartnum, int timeout) { if(Uartnum==0) { if((rUTRSTAT0 0x1)==0x01) //Receive data read { *Revdata=RdURXH0(); return TRUE; }
文档评论(0)