基于AT91RM9200与LINUX2.6.26内核的嵌入式平台开发全过程.docVIP

基于AT91RM9200与LINUX2.6.26内核的嵌入式平台开发全过程.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于AT91RM9200与LINUX2.6.26内核的嵌入式平台开发全过程

基于AT91RM9200与LINUX2.6.26内核的嵌入式平台开发全过程 收藏 一、ARM9+LINUX开发历程 使用了51系列和MOTOROLA单片机若干年,觉得自己已经跟不上嵌入式发展的时代了。决定开发一种新的硬件平台,综合比较了一下,觉得ARM9+LINUX模式不错。先从头捋一遍32位嵌入式开发平台的流程: 芯片选型——使用DXP画原理图(如果有可能买块开发板可以极快加快进度)——使用DXP画PCB图——芯片购买/PCB投板生产——芯片焊接——使用ADS编写简单硬件测试程序,调试硬件——搭建LINUX服务器,在服务器建立交叉编译环境——利用服务器和本机超级终端开发U-BOOT-1.3.4——利用U-BOOT-1.3.4的以太网FTP功能和服务器移植开发LINUX-2.6.26 内核——开发文件系统——开发驱动程序——应用程序开发,项目完基本成后回过头来想就是这个一个过程,中间走了不少弯路,在本博客中都有记载,很多问题有的也没有来得及记。 说干就干,时间安排如下: (1)5~7月硬件设计(芯片,型号,预测价格),已初步完成 CPU:AT91RM9200,81 SDRAM:MT48LC16M16A2TG-75IT(两片32MB*2) 74*2 FLASH:S29GL256N10TAI010(NOR型,32MB,存代码,写慢读快)57.52 FLASH∶K9F2G08U0B(NAND256MB,预留存测试数据,写快读慢)41.1 铁电存储器:FM24CL64(代替EEPROM24LC65,8KB)8.29 以太网物理层控制器:DM9161E(100M/10M自适应)9.4 从USB接口:用于与PC机通信 主USB接口:用于后续移植LINUX时软件更新 触摸屏驱动器:TSC2046(预留) 液晶显示屏模块-TFT液晶显示接口(预留) (2)ADS+AXD+J-LINK调试过程 目的是为了熟悉ARM开发流程,ADS开发环境,以便为将来U-BOOT的移植打下基础.由于网上资料不多,本步骤走了不少冤枉路,特总结在此,以便以后可以参考.容易步骤省略. 安装ADS创建ADS工程添加所需要文件DEBUG SETTING,将程序的RO_Base设为0X200000则将程序导入AT91RM9200的片内16K的SRAM中运行,实践证明此时不需要管BMS引脚是高是低都能正常运行,也不需要进行REMAP;若将程序的RO_Base设为0将程序导入片外64M的SDRAM中运行,此时程序导进SDRAM后需要SETMEM命令将SDRAM初始化,才能正常运行。 在AXD中使用J-LINK时,在安装完J-LINK的驱动程序后,还需要在AXDoptionsconfigure target选择ADD,在安装J-LINK目录下寻找JLinkRDI.dll,将其添加进来,然后点击configure,选择CPU,将CPU复位时间改为2000ms,以满足ARM9的长复位时间要求。 通常出现RDI Warning 00005:Data abort的告警时是由于CPU复位时间不购导致的,且程序会莫名其妙出现Read memory error @address 0word access : Memory access timeout的J-Link RDI Error告警。此时只需要在AXD的Optiontarget Configure选择J-LINK,然后点击Configure选择CPU页,在Reset strategy框中选择Hardware,halt after reset(normal),在Delay after reset中填写所需要的芯片复位时间,由于AT91RM9200的慢时钟需要900ms左右的启动时间,所以将复位时间设为2000ms即可正常调试。(图片无法帖出,遗憾!) ADS+AXD的主要功能是进行硬件调试,检测SDRAM,FLASH是否能正常工作。源码调试不一定非要AXD不可,有GDB等优秀的调试手段 (3)硬件调试过程 8月25日拿终于拿到了呕心沥血设计的板子,外协厂家的手艺还不错,板子焊得干净漂亮。首先用万用表测量各电源等级的正负端,判定12V,5V,3.3V,1.8V,-5V,-12V等电源回路不存在短路现象,免得烧掉板子后悔莫及。一切OK,愈发佩服焊接工人,这么多芯片,电容,电阻居然没有什么大问题!找来USB转串口线,接上板子的DBUG口,紧张时刻来临,打开超级终端,设置波特率115200,数据位8,无奇偶,1停止位,无数据流控制,给开发板上电,很遗憾传说中的CCCCC一直

您可能关注的文档

文档评论(0)

cwhs + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档