浅谈ARM裸板调试

发布者:HappyExplorer最新更新时间:2016-04-25 来源: eefocus关键字:ARM  裸板调试 手机看文章 扫描二维码
随时随地手机看文章
我所说的ARM裸板调试是指ARM的PCB板制作完后,贴片回来的板子,不但没有任何程序,上电都是第一次。之所以写一篇blog,是因为最近调试了一块ARM板,基于S3C6410的,但是我们把原来的M-DDR DRAM和Nandflash全部都换掉了,硬件做了不小的改动。以前也做过类似的裸板调试,从ARM7到ARM9,再到现在的ARM11。今天就来写一篇ARM裸板调试的文章。
 
如我前面所说,刚拿到ARM裸板的时候,首先就是要上电。不过上电之前,最好测一下电源和地是否短路。然后就可以上电了,我一般采用稳压电源,这样可以看到电流的大小,如果电流太大,说明硬件可能有问题,用手摸摸板子上的芯片,看看是否烫手,查一下各个电源模块的供电电压是否正常。如果ARM板正常,就可以开始了。下面根据我个人经验,介绍调试步骤和可能遇到的问题:
 
1. 连接仿真器,读写寄存器
将硬件仿真器插到ARM板的JTAG口上,然后连接PC,现在的ARM仿真器好像都是通过USB和PC相连了。连接好后,就给板子上电,然后打开PC端的调试软件,我在这里用的是ARM11的仿真器,调试软件用AXD。如果AXD识别出ARM处理器表示连接成功,如果没识别出来就是有问题了。
(1) 确认ARM处理器的所有供电是否正确
(2) 确认ARM处理器的RESET管脚
(3) 确认ARM处理器的晶振是否震动
(4) 确认JTAG接口是否正确
如果上面这4条都正常,仿真器就应该可以找到ARM。
 
2. 通过脚本初始化ARM处理器及DRAM
由于是裸板,所以ARM上电以后没有做过任何的初始化。一般会通过执行一个脚本来对ARM做一个基本的初始化。脚本一般就是一个txt文件,例如:
setmem 0x36001004 0x4      32
setmem 0x36001010 0x40d  32
setmem 0x36001014 0x6      32
setmem 0x36001018 0x3      32
setmem 0x3600101c 0xf       32
setmem 0x36001020 0xf       32
setmem 0x36001024 0xf       32
mem 0x36001000 +1            32
mem 0x36001004 +1            32
mem 0x36001008 +1            32
mem 0x3600100c +1            32
….
上面的脚本命令是用于AXD软件的,其中“setmem”命令表示设置某个值到某个地址上,而“mem”命令表示从某个地址读一个值并打印出来。通过这两条命令,可以设置ARM内部的寄存器,也可以读出寄存器的值。脚本的作用主要是对ARM做初始化,一般包括关闭Interrupt和watchdog,配置clock,配置GPIO,配置DRAM控制器。
如何在AXD中运行脚本呢?首先在AXD菜单中选择”System Views”,然后选择”Command Line Interface”,会弹出一个窗口,在窗口中输入如下命令:
ob c:/init.txt
 
该命令的意思是运行C盘根目录下的init.txt中的脚本命令。如图:

 
脚本运行完成以后,板子上的ARM和DRAM就应该已经被初始化好了。这时候可以做读写Memory的测试,在菜单中选择”Process Views”,然后选择”Memory”,输入DRAM的地址,然后修改一些地址上面的值,被改变后的值会变成红色,如果可以修改,表示DRAM应该工作正常了,这里给一张截图:

 
3. 通过AXD下载程序到DRAM中运行

接下来就是下载程序到DRAM中运行了,主要目的是通过该程序来烧录bootloader。现在的ARM处理器都很强大,支持多种启动模式。根据不同的启动模式,要将bootloader烧到不同的介质当中。在AXD菜单中选择”File”,然后选择”Load Memory from File…”,会弹出一个窗口,如下:

 
 
如图要在”Address”输入下载的地址,这个地址就是Loader_RAM.bin的运行地址。下载成功以后,打开串口,然后在AXD的”Command Line Interface”中输入命令”setpc 0x50000000”,将PC指针指到0x50000000地址上,然后输入命令”go”开始运行。
 
4. 烧录bootloader,启动ARM板
被下载的程序运行以后,就可以通过该程序将bootloader烧录到Nandflash,NORflash或者SD卡中,具体取决于板子所支持的启动模式。这个程序可以通过串口下载bootloader。还有一种方法就是在AXD中暂停程序运行,然后通过仿真器下载bootloader到DRAM中,然后再在AXD中恢复程序运行,通过最开始下载的程序将下载的bootloader烧到flash或者SD卡当中。
烧录成功以后,关电,拔掉仿真器的JTAG,重新上电,这个时候ARM板中的bootloader就可以运行了。
 
bootloader运行后,工作就容易了。现在的bootloader都很强大,Linux有uboot,WinCE有Eboot,都能支持烧录,下载等功能。一般如果是买的开发板,都会提供烧录工具。不过在更换了DRAM和Nandflash以后,烧录工具可能也需要重新调试了。而且使用的bootloader也需要做改动。
关键字:ARM  裸板调试 引用地址:浅谈ARM裸板调试

上一篇:S3C6410的DRAM控制器
下一篇:LPC中的中断处理小结

推荐阅读最新更新时间:2024-03-16 14:51

ARM与Flash ROM
以ARM为核心的嵌入式设备,是一种以计算机为核心的产品,必须要有存储软件的存储器。单片机中软件存储在单片机芯片内的ROM存储器中,单片机的ROM容量很小,一般都小于1MBytes,所以ROM集成在芯片内。PC机要求的ROM比较大,主板上启动计算机用的BIOS存储在主板上一片1MBytes左右的Flash ROM中,操作系统和应用程序存储在硬盘中。ARM产品因为体积的缘故,通常都不用硬盘,但软件的体积一般都在几MBytes以上,通常在芯片外扩展联接容量较大的Flash ROM存储软件。 Flash ROM分为两种:NOR Flash ROM 和 NAND Flash ROM。NOR Flash ROM 用法类似于SDRAM 内存,有地
[单片机]
利用ARM和Linux实现智能机器人的控制
引 言 现有智能机器人用直流电机作为驱动轮时一般都是用单片机或者高速的DSP等进行控制,智能机器人之所以叫智能机器人,这是因为它有相当发达的“大脑”。在脑中起作用的是中央计算机,这种计算机跟操作它的人有直接的联系。最主要的是,这样的计算机可以进行按目的安排的动作。正因为这样,我们才说这种机器人才是真正的机器人,尽管它们的外表可能有所不同。而且同一机器人往往需用多个CPU来实现各自的功能,但随着对机器人的智能化要求越来越高,需要一种新的控制器(使用一个处理器)来满足机器人的各种行为要求,例如视频采集、无线通信。本文介绍的利用ARM实现的智能机器人平台,为智能机器人的开发提供了一个新方法。Linux的引入使其他智能模块都以设备的形式存
[单片机]
利用<font color='red'>ARM</font>和Linux实现智能机器人的控制
基于ARM和DS18B20设计网络化的智能温度传感器
1 网络化智能传感器简介 网络化智能传感器使传感器由单一功能、单一检测向多功能和多点检测发展;从被动检测向主动进行信息处理方向发展;从就地测量向远距离实时在线测控发展。网络化使得传感器可以就近接入网络,传感器与测控设备间再无需点对点连接,大大简化了连接线路,易于系统的维护和扩充。网络化智能传感器一般由信号采集单元、数据处理单元和网络接口单元组成。这3个单元可以是采用不同芯片构成合成式的,也可以是单片式结构。网络化智能传感器的核心便是嵌入式微处理器。嵌入式微处理器具有体积小、功耗低、可靠性高、可抗干扰能力强等特点。本系统就是采用嵌入式微处理器作为核心,使用数字式的温度传感器作为采集单元。系统设计中采用的是信息技术领域最新的B/S(B
[单片机]
基于<font color='red'>ARM</font>和DS18B20设计网络化的智能温度传感器
ARM 之LCD和LCD控制器
既然提到 了LCD那么我们首先必须要了解的就是他的种类,CD(liquid crystal display), 即液晶显示器,是这一种采用了液晶控制透光度计数来实现色彩的显示器,他与传统的CRT显示器相比有很多优点:轻薄,能耗低,辐射小等,市场 占有率越来越大,LCD有很多类型:STN,TFT,LTPS TFT,OLED等,各有优缺点。 一、 S3C2410,2440LCD控制器介绍 1: S3C2410,2440LCD控制器提供了驱动STNLCD TFTLCD所需要的所有信号, REGBANK是LCD控制器的寄存器组,含有17个寄存器及一块256X16的调色板内存,用来设置二线参数。 2: LCDCDMA则是CD控制器专
[单片机]
<font color='red'>ARM</font> 之LCD和LCD控制器
Atmel参展ARM TechCon 2015 面向物联网应用
全球微控制器(MCU)及触控技术解决方案领域的领导者Atmel公司 (纳斯达克股票交易代码:ATML)今日推出其首款基于ARM mbed 物联网(IoT)平台的片上系统(SoC)硬件评估解决方案。该解决方案由Atmel | SMART SAMR21 SoC支持,基于 mbed 物联网设备平台运行。mbed平台提供操作系统、云服务、工具和开发生态环境,使得任意规模的标准商用解决方案部署成为可能。Atmel | SMART SAMR21则是迅速发展的物联网市场的理想解决方案。 Atmel是领先的物联网解决方案提供商,其SmartConnect无线解决方案是mbed联网软件支持新一代智能联网设备的理想伴侣。2015年11月
[物联网]
ARM--GPIO端口
s3c2440共有130个GPIO端口,分为9组,GPA ~ GPJ,通过寄存器控制。 控制s3c2440的GPIO端口的寄存器有3类,分别是GPxCON、GPxDAT、GPxUP (x=A ~ J): GPxCON:GPIO控制寄存器,可以设置选定GPIO口的输入输出方式和功能。GPA组的23个端口比较特殊,只能是输出方式。GPACON的每一位对应一个引脚,当某位为0时,对应引脚为输出端口,否则为复用功能。 GPB ~ GPJ端口的GPxCON寄存器使用方法一致,每两位控制一个引脚,00时为输入I/O口,01时为输出I/O口,10时为复用功能,11保留。 GPxDAT:此引脚用于读写引脚的状态,即端口数据。当引脚配置
[单片机]
基于Linux QT掌上多媒体系统的设计和实现
0 引言 随着人们生活水平的提高,消费结构发生了巨大变化,消费者用于娱乐方面的支出在总支出中所占的比例正在不断扩大。掌上多媒体系统可以满足人们对于试听以及便携的需求,另外还可以实现一些其他功能,如图片浏览、网络下载、以及影音录制等。目前市场上的掌上多媒体系统多是Windows CE、Symbian、Palm OS等商用操作系统,其开放的程序不够高,而且价格偏高,不适于第三方应用软件的移植。ARM体系作为专用嵌入式系统设计的通用处理器内核,具备高性能、低功耗、易扩展的特点。本系统基于ARM9、嵌入式Linux操作系统设计并实现了一个更为开放的嵌入式平台,来实现掌上多媒体系统的诸多功能。 1 多功能掌上媒体播放器系统的硬件设计
[单片机]
基于Linux QT掌上多媒体系统的设计和实现
基于ARM的MPEG4视频解码器
  1 引 言 本文旨在研究基于ARM微处理器的MPEG-4视频解码技术,主要应用在手持移动设备中。利用嵌入式系统实现MPEG-4视频解码,处理器的选择是关键。在嵌入式系统中常用的RISC处理器是ARM核,主要是因为它具有体积小,功耗低,成本低,性价比高的特点,这对于移动应用领域非常重要。ARM7系列微处理器为低功耗的32位RISC处理器,最适合于对价位和功耗要求较高的消费类应用。本解码器定位于低分辨率和低帧率的应用场合,因此选择在ARM7TDMI核上实现解码功能。要实现更高帧率和分辨率的解码,可将软件直接应用在更高端的处理器上。    2 MPEG-4视频解码算法的优化与实现 MPEG-4标准可以划分为一套子标准,标
[家用电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved