ARM开发板使用手册.doc_第1页
ARM开发板使用手册.doc_第2页
ARM开发板使用手册.doc_第3页
ARM开发板使用手册.doc_第4页
ARM开发板使用手册.doc_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ARM开发板使用手册三星 44B0X ARM7TDMI 使用方法:如果你对底层感兴趣,那么你需要熟悉的是原理图, ads调试以及汇编,C语言。理解原理图最快的方式是看 44b0芯片手册。如果对操作系统感兴趣,可以不用管以上步骤,只要适当了解硬件的配置,主要精力放在 linux的驱动以及应用程序开发。注意事项:jtag调试代理目录的只读属性必须去掉,内核如果检测不到,可以换个电脑,一般可以解决 2深圳万龙电子科技有限公司 目录 第一章介绍.4 配置.4 CPU 已内置的资源.5 实验程序以及种类.5 实验器材清单.6 硬件.6 软件.6 一板子上电自检的判断.7 第二章开发环境的搭建.10 JTAG调试接口 .10 JTAG的引脚定义 .10 简易仿真头的使用.11硬件连接.11软件配置.12 安装代理软件.12 运行前的配置.16 codewarrier配置.16 AXD配置 .17 键盘实验.19 i2c实验.19 LCD模块实验.20 LED实验.20 实时时钟实验.20 串口实验.20 USB测试实验.20 烧写程序工具 Flashpgm的使用 .23 开发板内存分配.27 第三章 uclinux实验.28 如何把 uclinx烧写到 flash.28 如何运行烧写好的 uclinux.30 如何运行当前下载的内核.31 第四章 uclinux内核编译 .32 Linux开发环境建立 .37 本机运行 linux的方式.37 采用 linux主机+windows客户机开发方式 .39 Uclinux下面做你的第一个应用程序 .40 驱动程序的编写.44 字符设备的另一种做法.48 第五章 FAQ.51 3 深圳万龙电子科技有限公司 第一章介绍万龙 44b0开发板是专门为 arm 开发的实验板,用户可以做基础的 arm实验,也可以做基于 ucos-ii以及 uclinux的操作系统实验。本系统的实验源代码全部开放,用户可以在此基础上开发产品,减少重复劳动。由于功能强大,因此特别适合需要复杂智能控制的场合, 其运行速度高于早期的 80486计算机。我们已经将 44b0产品成功应用在干扰比较强的场合,配置 1. CPU:S3C44B0X(Samsung ARM7TDMI),外部时钟为10MHz,内部倍频最高可至72MHz 。推荐工作频率为64MHz 。 2. Flash ROM:2MB 的 16 bit Flash(29LV160DT) 3. RAM:8MB 的16bit PC100/PC133 SDRAM(HY57V641620)。 4. USB Device:符合USB1.1 规范 USB 设备控制器 PDIUSBD12 。 5. 2 路RS232: 转换MAX3232 。 6. LCD 接口: 可利用CPU 内部的LCD Conntroller 扩展大规模的(1600*1600 以下分辨率的单色及256 色STN/DSTN)各种LCD 屏。 4 深圳万龙电子科技有限公司 7.提供 128X64 液晶屏,最高支持 16 级灰度 8. 10BASE-T 网络接口:RTL8019AS 全双工以太网控制器。 9.音频输出cs4334 10. 20PIN JTAG 标准接口。提供简易 JTAG 仿真器。 11.焊接式RTC 3V 锂电池。 12. 4 个轻触按键及1 个RESET 开关。 13. 24c08 E2ROM 1片 14. 1 路蜂鸣器。 15.网卡、电源、USBLED IDE 硬盘指示灯电源指示LED 16. 8 通道10bit ADC,100KSPS 17. 4 通道PWM 输出 18. 8 条外部中断口 19.双面焊接,CPU 脚全部引出,利于二次开发 CPU 已内置的资源 1. 2 通道UART,波特率可高达115200bps,并内置16Byte FIFO 。同时兼容 Irda1.0 规范。 2. 1 通道IIC 接口(支持多主模式)。 3. 1 个IIS 接口(音频数据接口)。 4. 1 个SIO 接口,兼容SPI/SCI 接口。 5. 8 通道10bit ADC(采样速率为100KSPS)。 6. 4 通道PWM 输出。 7. 8 条外部中断口。 8. 1 个RTC(实时时钟)。 9. EmbededICE(JTAG)接口。 10. LCD 控制器(可直接控制DSTN/STN 的各种灰度/256 彩色LCD 屏,最大 11.支持分辨率为1600*1600)。实验程序以及种类 1.移植到本开发板的 uCOSII 2.5 源代码及演示程序。 2.移植到本开发板的 uClinux 源代码及演示程序。 3.读写 NOR Flash(29LV160TE)的驱动程序,例子程序,含源代码。 4. 128X64 黑白液晶屏控制例子程序,含演示程序,源代码提供。 5.以太网控制芯片 (RTL8019AS)驱动源程序。 6. USB(PDIUSBD12)处理例子程序。 7.键盘例子程序/键盘实验,掌握键盘扫描原理以及如何获得键码 8.实时时钟和万年历实验,掌握对内部时钟的设置以及读取 9. E2ROM实验程序/I2C总线实验,掌握如何通过 I2C对 E2ROM 24C04操作 5 深圳万龙电子科技有限公司 10.跑马灯例子程序/GPIO实验,通过GPIO驱动发光管 11.音频测试实验 12.pwm实验,掌握脉宽调制的生成 13.查询方式键盘实验 14.dma实验 15.串口实验,掌握RS232通信,不同波特率的设置,查询方式通信以及中断方式通信 16.脉冲计数实验,掌握用中断方式对外部跳变信号的计数以及查询方式计数 17. A/D实验,掌握模拟信号采样并转化为数字量, 18. 低功耗实验,掌握如何使处理器进入节电模式 19.其他板上资源以及 S3C44B0X 片上资源的驱动和例子程序。 20.掌握用 C+对嵌入式应用编程,掌握 C,C+以及汇编混合编程实验器材清单硬件 1. 简易仿真头一个 2. 20芯扁平电缆 1根 3. 并口电缆一根(并口线使用一头公一头母标准 25芯并口线) 4. 串口电缆一根(串口线使用一头公一头母普通直连线,连接方式为 2-2,3-3,5-5) 5. 实验板一块 6. 5v电源一个 7. 网线一根(网线为交叉网线) 8. USB电缆一根 9. 光盘一张,光盘包括 ads1.2,arm参考资料 ,实验源代码,调试代理,外设资料 ,原理图软件 1. ADS1.2开发环境 2. Jtag调试代理程序 3. Flash烧写程序 4. 串口调试程序 tera term 5. BIOS包含 rtl8019驱动,tftp协议源代码,ip协议代码,arp协议,mac协议, icmp协议,lcd驱动 6. 移植好的 uclinux源代码 7. 移植好的 ucosii 8. 原理图 9. 44b0中文手册 10. COSII中文教程 11. ADS1.2中文教程 12. ARM开发详解教材 6 深圳万龙电子科技有限公司 在使用本开发板前,应该具备的基础知识包括: ARM体系结构和编程,会 C语言。建议初学者参考书:ARM体系结构与编程清华大学出版社杜春雷编写一板子上电自检的判断首先把开发板的串口0 和计算机的串口相连打开计算机的超级终端程序按连接的串口进行相应设置波特率57600如无特别说明以下均是 57600 数据位8 位无奇偶校验停止位 1 位数据流控制无. 然后给开发板上电可以看到板上的D1 D2 D3三个发光二极管依次闪动在串口 0 下面那么说明板载的BIOS已经开始运行了同时看计算机的超级终端出现 ARMBOOT LOAD的字样并且显示了 RAM FLASH 的相应信息。连上网线注意和计算机直接连的话是交叉网线和HUB 相连的话是直连网线请勿弄错。如果你插在HUB 上,你得找一根直连网线(注意,hub最好不要接其它电脑,否则可能调试不正常 )。本套件配的为交叉网线。本开发板的IP 地址设为00,所以,请将PC 机的IP 地址设为,我们把 PC 机的缺省IP 地址设为。 安装并运行tera term配置 7 深圳万龙电子科技有限公司 选择波特率57600 连接开发板UART0和计算机串口COM1,并复位开发板 8 深圳万龙电子科技有限公司 当超级终端显示提示符/时,输入ap,再回车。出现如下画面此时,在PC 机的命令窗口输入ping 00 t ,如果一切正常,你会看到回应画面。网口部分也通了。 9深圳万龙电子科技有限公司 如果网路不通,请检查网线是否连接好,电脑网路本身有没有问题。 Usb测试请看USB测试实验部分第二章开发环境的搭建开发环境我们采用 ADS1.2集成环境,请先安装 ADS1.2。如何使用 ADS1.2请参考光盘内的手册。ARM开发环境和 51单片几很不一样。熟悉 51的都知道用仿真器来调试,但 arm却不一样,它通过 JTAG接口仿真。因此这里先介绍 JTAG仿真的概念。 JTAG调试接口为什么现在的微处理器采用 JTAG?当前许多复杂的微处理器的内核不再能通过芯片的外设直接访问,调试芯片程序变得困难。还有,为了缩短开发周期加快产品进入市场的速度,直接将 CPU安装在电路板上调试也更接近实际工作情况。这些都需要 JTAG装置来完成。 JTAG的引脚定义 遵循 JTAG的器件包含以下几个管脚 TCK 测试时钟输入,它和系统时钟不同 TDI测试数据输入,通过它数据移位进入器件 TDO测试数据输出,通过它数据从器件移出 TMS测试模式选择,在 JTAG规范中 TMS命令选择测试模式 TRST测试复位输入,它为 TAP控制器提供异步初始化器件的测试支持功能是通过 TAP控制器来实现的。 TAP是一个状态机,它控制控制所有相关操作,每种遵循 JTAG的器件都有自己的 TAP控制器,通过 TCK和 TMS可以使状态机内部的状态发生变化,从而支持诸如断点、单步、内部观察等调试工作。本章针对 ARM7TDMI介绍调试结构。 ARM的调试体系采用协议转换器来使调试器通过 JTAG与 ARM核直接通信。前面 JTAG标准中提到的扫描链功能是测试用,这里把它作为调试用:捕获数据总线上的信号并向内核或存储器插入新的信息。 ARM7TDMI-S核内具有 EmbeddedICE逻辑,EmbeddedICE逻辑提供对片内调试的支持。调试指令直接通过扫描链插入 ARM内核并执行。根据插入调试指令的不同,内核可以处于观察、保存或改变状态。ARM的调试体系可以使程序指令执行速度处于调试速度或全速运行。在 ARM中采用 JTAG的特点是:通过 JTAG接口可以观察 ARM内核状态和系统状态(注意:系统状态包括片内外设,不同于内核状态);不占用额外的目标系统资源;提供传统的断点访问和观察点访问;不再需要另外的 UART端口来和监控程序通信。围绕 ARM内核有两个扫描链:围绕整个内核外围的一个扫描链以及仅仅覆盖数据总线和断点的扫描链。由于后者的链比较短,从而使调试指令和数据可以快速插入内核,避免了额外的时间。 10 深圳万龙电子科技有限公司 ARM的 JTAG调试需要如下设备: . 一台运行调试软件的主机 . 一个 EmbeddedICE协议转换器。EmbeddedICE协议转换器将远程调试协议命令转换成所需要的 JTAG数据,从而对目标系统上的 ARM7TDMI-S内核进行访问。它包括两个部分:将串行数据信号转换成 JTAG接口兼容信号的装置以及带有 JTAG接口的 ARM调试体系内核。其中前半部分可以是仿真器硬件,后半部分是 ARM片子本身就支持的。根据功能需要,仿真器硬件可以做了比较复杂也可以很简单。我们采用简易的仿真器。调试主机 EmbeddedICE协议转化器带 JTAG接口的目标板调试主机运行调试程序,如 ADS,RealView,SDT等。ICE协议转换器其实包含两部分:协议转换硬件和软件,复杂的硬件一般采用 FPGA实现,简单的可以就用一片数字缓冲电路实现。协议转换软件一般在调试主机上运行,可以是 API的方式也可以用后台服务的方式。调试主机和协议转换硬件之间可以采用各种方式连接:并行、串行、网络以及 USB,只要最终递交给 ICE协议转换器的数据一致就可以,这是通过运行在 ICE协议转换器上面的通信软件来实现的。 ICE协议转换器和目标板通过遵循 JTAG电气规范的电缆连接。简易仿真头的使用简易仿真头采用 wiggler电缆,其使用过程如下:硬件连接 按照下图连接仿真头、计算机以及实验板 11 深圳万龙电子科技有限公司 软件配置 1 首次使用时先安装驱动 (以后不用再安装 )-执行文件下的安装驱动.exe安装好并口驱动和OCX 2,安装完毕后即可运行 Arm7Agent或Arm9Agent调试ARM7系统或 ARM9系统 3,如果在以后的使用过程中发现程序无法启动重新执行安装驱动 .exe即可 4,在ADW(SDT)/AXD(ADS)的调试配置选项里选择remote_a.dll 5,在ADW/AXD的调试配置里IP地址必须填写 :二常见问题 1, THUMB/ARM混合编程时断点设置要素当CPU处于一种 CPU模式时(THUMB或ARM)断点只可以设置在当前模式下的指令处不可以设置在另一种模式下的指令解决方案设置一个断点在CPU模式切换指令处 (如BX) 当程序运行到此指令并停下来后然后通过单步执行(Step)进入另一种状态这时候就可以在当前模式下任意设置断点了 2, THUMB/ARM混合编程时因为 ADW/AXD启动时默任的CPU模式为ARM模式如果你启动调试前你的ARM CPU正在执行Thumb模式指令那么将会导致调试错误解决方案按一下你的板子的复位键,然后再启动ADW/AXD即可 3,为了加快软件影响单步执行速度现在暂时屏蔽了 semihosting 功能 4,如果出现无法逼使 CPU进入调试的提示只需要复位你的板子,重新启动软件即可 5,如果发现软件没有任何动作把它关了再启动 6,如果发现软件根本无法运行看不到其运行界面那么执行安装驱动 .exe重新驱动OCX即可 7,如果出现打开并口失败 ,那么执行安装驱动 .exe ,重新并口驱动即可 8 如果提示检测不到 ARM核如果你的CPU没坏供电正常那么就一定是你的 JTAG板子问题了,应该参考常用的那种SDT或Wiggler接线然后在JTAG调试软件选择对应的选项SDT或wiggler或自定义9,排除这些如果出现其他的调试错误,那么就是你设置ADW/AXD或你的板子问题了10有时候,如果你计算机的防火墙开着,可能会使调试不正常,请设置防火墙为允许本代理程序运行,或者干脆关闭防火墙安装代理软件首先在光盘找到调试代理目录,安装并口驱动。出现如下界面: 12 深圳万龙电子科技有限公司 选择 install,出现如下界面,说明驱动安装成功了。www 然后开始打开该目录下的 arm7.exe。如果 jtag接口没有连接好,或者 arm开发板没有上电,就会出现如下界面: 13 深圳万龙电子科技有限公司 否则,成功的话就出现成功检测到 arm内核界面然后开始配置 ads开发环境打开 AXD程序,选择 Options.Configue Target在 Choose target里面选择 ADP,然后 d点击 Configue,出现 14深圳万龙电子科技有限公司 点击 Select,出现 选择 ARM ethernet driver,确认 OK,回到界面 15 深圳万龙电子科技有限公司 点击 Configure,出现 在 Target IP address框填入: ,然后 OK就可以了。这时候,如果你没有打开调试代理软件,AXD会出现失败。因此,必须先打开调试代理软件,然后运行 AXD才能正常。运行前的配置 codewarrier配置打开一个现有的源程序,并且运行以 LEDBLINK作例子 启动 CodeWarrior for arm develop suite 在 file下选择一个现有文件。对本例子而言,将光盘的实验程序全部拷贝到 C盘,选择 c:44b0 目录下的 LEDBLINK文件夹 ,打开 ledblink.mcp,工程将出现在主界面下,选择 edit-debugrel setting 16 深圳万龙电子科技有限公司 如上图设置 RO base 0xc000000 RW base 0xc100000然后选择 options 如上图,在 Image entry point选择 0xc000000 这样,就配置好了开发板的程序运行地址。 AXD配置先必须运行 jtag调试代理。在 Project里面选择 Debug,这时候 AXD将运行。在 axd选择 option.configure interface 17深圳万龙电子科技有限公司 如上图选择小方框,并且在 session file 选择 c:44b044b0.ini这个文件是初始化 44b0寄存器的,必须运行。如果 flash已经烧写正确的程序,也可以不配置这项。在 general标签页选择 attach,然后确定。最后在 file.save session,就可以了。然后,关闭 axd.在 codewarrier下面选择调试,自动调用 axd,如下: axd自动完成 44b0寄存器初始化工作,开始加载程序到 SDRAMsdram首地址 0xc000000共 4M 16bit,并且让当前 pc停留在第一条指令地方,然后选择 run,程序应该停留在 main入口处: 18深圳万龙电子科技有限公司 继续按 run,跑马灯开始闪烁,蜂鸣器间断发声。键盘实验运行 key目录下程序,依次按 key 1 ,key2, key3,key4灯依次亮灭 i2c实验连接串口,运行程序,依次打印出 2行 8字节的数据,第一是行对 24c02前 8个字节写入的数据,第 2行是从 24c02前 8个字节读取的数据,应该一样。 19深圳万龙电子科技有限公司 LCD模块实验连接 LCD,运行 lcd程序,lcd显示 4行汉字。 LED实验运行程序,LED依次闪烁实时时钟实验连接串口,打印出当前内部时钟数据串口实验串口实验检测通过串口的输入和输出功能 USB测试实验打开 axd,选择 file.load image 20 深圳万龙电子科技有限公司 其中,会跳出一些提示,选择取消,最后运行程序。这时峰鸣器长鸣,然后插上 USB电缆,这时出现 USB设备提示 21深圳万龙电子科技有限公司 选择光盘实验代码目录下的实验代码 44b0S3C44B0X_USBD12驱动win2k_xp.ini安装 USB驱动,然后运行万龙 44b0-开发板 实验代码 44b0S3C44B0X_USBleddemo.exe 22深圳万龙电子科技有限公司 分别点 led1,2,3 板子上的灯依次亮烧写程序工具 Flashpgm 的使用请确定并口工作于 EPP模式,如果不是,请在开机后进入 COMS设置,把并口设为 EPP模式。 23深圳万龙电子科技有限公司 设置通信端口 24深圳万龙电子科技有限公司 选择 Wiggler Parallel 点击编程按钮 25 深圳万龙电子科技有限公司 如果连接正常,将显示如下对话框。点击 Browse 按钮,找到要烧写的文件的位置,如下图,文件的类型可以为 *.hex,也可以为 ADS 编译生成的 *.axf文件,另外,我们也要选中 Erase Target Flash Sector(s) 26 深圳万龙电子科技有限公司 开发板内存分配 NOR Flash (SST39VF160 )接在 nGCS0 ,的地址空间为 0x00000 0xfffff,宽度为16bits 【两字节】;共计0x200000 字节,也就是2097152 个字节; SDRAM (K4S641632F )接在nGCS6 上,容量大小为64M bits (8M 字节)地址范围是:0xc000000 0xc7fffff(8M 字节)。内存分配图如下: 27 深圳万龙电子科技有限公司 第三章 uclinux实验实验注意事项:串口选用的波特率 57600bps,许多程序的实验都通过串口输出内部状态如何把 uclinx烧写到 flash 注意每次要烧写 uclinux必须把 flash 全部删除,然后严格执行以下步骤下面假设 uclinux的内核已经编译好,放在 c:image.ram 28 深圳万龙电子科技有限公司 首先用 flashprogrammer程序删除整个芯片,也就是选择 erase 然后 program把 fs_bios44b0.axf烧写到 flash 拔掉 jtag头设置 tera term波特率 57600bps 输入 ap回车出现连接网线在 pc输入 tftp i 00 put c: 开发板返回如下信息 29 深圳万龙电子科技有限公司 选择 y 大约 40秒钟,烧写成功然后输入:回车。接着输入回车,内核开始启动如何运行烧写好的 uclinux 复位开发板,输入 30深圳万龙电子科技有限公司 然后输入回车内核开始启动如何运行当前下载的内核 复位开发板,输入 ap 31 深圳万龙电子科技有限公司 在 pc输入 tftp i 00 put c:image.ram输入 run c008000 启动内核第四章 uclinux内核编译先用编译好的 uclinux映像文件做实验确保开发板的 bootloader没有被删除,如果已经删除,请重新通过 JTAG下载连接开发板 UART0.PC COM0;拔掉 JTAG插头;连接网线修改 pc的网络地址 如果 pc机和局域网有连接,请断开网线 pc网络地址修改方法为:(假设目前使用win2000操作系统)选择控制面板网络和拨号连接本地连接 32 深圳万龙电子科技有限公司 选择高级 添加 33 深圳万龙电子科技有限公司 然后确定就可以了。接着在控制台方式下用 ipconfig查看说明新的网络地址已经设置好了。然后,打开 TTERMPRO,按 44b0复位按钮,出现输入 ap并回车 34深圳万龙电子科技有限公司 44b0开发板开始进入 tftp传输服务器模式。将光盘内的 image.ram拷贝到 c盘根目录,然后在 PC机上进入控制台模式,输入 tftp I 00 put c:image.ram大约 6秒钟后出现表示传输结束。而 44b0的状态为 35 深圳万龙电子科技有限公司 选择 n,然后输入 run c008000 出现然后选择 y,linux开始启动出现如下界面然后就可以用 ls,cd等命令查看。 36深圳万龙电子科技有限公司 Linux开发环境建立 ucLinux开发可采用 2种方式:一种是在本机运行 linux,一种是采用专门的 linux服务器,而本机运行 windows。下面分别介绍:本机运行 linux的方式首先需要下载 tftp服务软件,装在 redhat下。下载地址: /pub/software/network/tftp/同时也可以在光盘里面找到 tftp-hpa-0.42.tar 在 l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论