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

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

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
T91ARM9200与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设为0X则将程序导入AT91RM9200的片内16K的SRAM中运行,实践证明此时不需要管BMS引脚是高是低都能正常运行,也不需要进行REMAP;若将程序的RO_Base设为0X则将程序导入片外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 0x,word 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口,紧张时刻来临,打开超级终端,设置波特率,数据位8,无奇偶,1停止位,无数据流控制,给开发板上电,很遗憾传说中的CCCCC一直没有出现,哪里出问题?反复查看原理图和电路板,发现R122电阻居然给我焊成了10K的,没有办法,飞吧。继续上电,涛声依旧,再看电路板,有个6800P的

文档评论(0)

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

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

1亿VIP精品文档

相关文档