ARM学xx结
实验环境: 操作系统--Windows XP professional 开发环境--ADS1.2 开发板--周立功Easy ARM21xx系列(NXP LPC2103及2131) 晶振11.0592MHz 调试环境--通过JTAG连接计算机并口,H-JTAG版本
在学习arm7中遇到的问题: 一、ARM连接液晶显示模块的问题 液晶模块:金鹏OCMJ4X 连接方式:串行模式,ARM与液晶模块只使用4条数据线连接,。 测试程序:采用金鹏公司给出的C51测试程序,经过简单修改改为ARM适用的C程序
问题描述: 硬件连接没有问题。在调试过程中,液晶可以显示,但是显示的字体有的残缺不全,有个别的字可能显示不出来;同一个显示程序多次运行显示的结果不一样,{dy}次残缺的字第二次运行可能正常了,其他字体可能又不正常了,哪些字显示不正常是随机的。
解决方法: 在程序中加入适当的延时程序。在最基本的写入程序中加入延时:在两个高低跳变之间加入delay(100)便可。 CODE:
另外,在初始化程序中也要加入适当的延时 CODE:
问题总结:该液晶模块默认是连接单片机的,由于ARM较单片机运行速度快了很多,所以如果直接使用单片机的参考程序,可能会出现时序问题。在单片机中,sclk先后置高低,连着的两条指令固有的时间间隔便满足液晶模块的时序要求,但在ARM中这个间隔就太短了。所以在写入过程中,要使sclk人为地维持高一段时间,delay (100) 这个时间段刚好能适用。
二、ARM开发板连接J-TAG故障问题 连接方式:开发板上JTAG接口——JTAG转接卡——计算机并口 问题描述:在ARM开发板使用过程中,AXD调试程序正在运行,芯片突然失去与计算机的连接,AXD提示意思为:不要在程序运行过程中停机。重新通过H-JTAG软件连接芯片多次,失败,不能识别芯片。这样导致开发板直接不能使用。 解决方法: 不能通过并口连接,尝试通过串口连接。 连接方法: ①通过串口延长线把开发板与计算机串口相连接; ②在计算机上安装Philips Flash Utility(飞利浦的Flash工具); ③在开发板上把ISP跳线短接,接通开发板电源; ④打开LPC2000 Flash Utility V2.23 ,选择正确的COM口,点击Read Device ID。如果成功,则在最下面的状态栏显示Read Part ID Successfully,并在Device栏显示器件的相关信息。 l 如果在一个板子上连接不成功,可以换一个底板,把PACK板换到能用的开发板底板上,可能能使ARM芯片起到起死回生的效果。 ⑤选择Eraser擦除整个芯片上的数据。然后换回JTAG接口,用H-JTAG连接看能不能成功。 问题总结: 由于某种原因,通过JTAG经由并口连接计算机可能会失败,出现怎么都连不上的现象。经由串口,通过芯片的ISP(在线系统编程)功能连接芯片是一种变通的方法,可以通过这种方法擦除整个芯片中的数据,再试着通过并口连接。经试验这种方法是成功的,使ARM芯片得以“起死回生”。 再者,这种方法也可以向芯片中写入hex格式的数据,如果没有并口只有串口便可以使用这种方式。
三、脱机运行程序:
1. LPC2000要求用户程序的向量表(32位机器码)累加和为0,才能脱机运行。请参考或使用lpc2100工程模板 2. P0.14口保证复位期间为高电平状态,通常接一个10K的上拉电阻即可。
3.“对于LPC2103或者LPC2148来说,它的Flash和Ram都内置而且不能外扩外部存储器,上电或复位后系统根据配置引脚P0.14口(又称ISP使能引脚)的高低电平来选择是进入ISP状态还是系统正常从Flash启动。在系统复位时,若P0.14口为低电平,进入ISP状态,若P0.14口为高电平,正常从Flash启动。硬件上通过跳线来实现。这部分电路很简单,1个上拉电阻,1个跳线,但对于整个系统是必可少的,若缺少这一部分电路,LPC2103或者LPC2148上电后将进入一个未知的状态,导致系统无法正常工作。正常工作情况下,跳线断开。”
四、EEPROM的使用
如果用软件写入EEPROM,则在写入完成后要延时,才能进一步对EEPROM进行操作。否则可能出现读不出、写不如数据的现象。这是应该断电稍等,然后重新写入再加延时。 |