资源描述:
《使用ads调试2440开发板的过程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、使用ads1.2调试2440开发板的过程 因为偶是个新手,所以就从这里入手的. 其实我想做arm-linux学习,以后这个方法可能用的不多,因为可以用linux下的gdb软件了.既然是学习就先从简单开始吧,先用这个方法做以下两件事: 1.用他来调试bootlaoder 2.用他来配合linux驱动的开发,在作驱动开发前可以用ads将寄存器的设置等硬件紧密相关的部分调试好,然后将调试好的部分合并到linux驱动中,这样可以加快调试速度(对于很熟悉和简单的自然是用不着这样了) 要用ads进行在线调试目标机需要目标机有jtag或在目
2、标机上有angel调试代理软件,因为调试代理软件要占用硬件资源,且目前jtag接口也被大多的芯片所支持,所以目前更多是用jtag方式.另外还需要wiggler小板或其他和jtag代理工具. 用jtag方式需要做的工作是:1.安装ads2.安装并口驱动3.安装jtag代理软件(直接运行)4.用ads建立工程5.设置工程(程序入口点,rorw存储器位置等)6.添加程序文件和头文件7..编译8.调试(启动axd)9.对axd目标连接做好设置10.通过axd命令行对目标机做必要的设置11.装载目标机代码进行调试一.安装ads:略二.安装并口驱动:
3、 三.连接jtag线,运行jtag代理软件: 我有arm9-jtag和H-Jtag。我用的是yl的wiggler兼容小板 四.建立ads工程文件和相关设置:相关设置如下设置RoRw起始地址 设置入口点 编译设置,c和汇编,c++设置类似 连接设置 五.添加文件并编译文件 六.启动和设置axd 选择options->configureTarget.... 选adp....点Configure按钮 选Armethernetdriveraddress为127.0.0.1点OK后,如果连接没问题axd应该正确启动目标七.通过
4、axd命令行对目标板进行设置 因为我用的yl的2440板是配置为nand启动的,sdram是在0x30000000地址的,所以需要先对存储器控制寄存器进行设置,在axd下设置方法是:选systemsviews->commandlinesinterface,输入如下命令对寄存器设置 地址 值 长度setmem0x53000000,0x00000000, 32还可以将要设置的寄存器写入一个文件,在命令行用ob(obey)config.ini即可
5、批量执行设置指令或在options->ConfigureInterface中做如下设置 我的config文件内容如下:setmem0x53000000,0x00000000, 32setmem0x4a000008,0xffffffff, 32setmem0x4a00001c,0x00007fff, 32setmem0x48000000,0x2212d110, 32setmem0x48000004,0x00000f40, 32setmem0x48000008,0x00
6、002e50, 32setmem0x4800000c,0x00002e50, 32setmem0x48000010,0x00002e50, 32setmem0x48000014,0x00002e50, 32setmem0x48000018,0x00002e50, 32setmem0x4800001c,0x00018005, 32setmem0x48000020,0x00018005, 32setmem0x48000024,0x00960542, 32setme
7、m0x48000028,0x00000032, 32setmem0x4800002c,0x00000030, 32setmem0x48000030,0x00000030, 32如果设置正确则开发版的SDRAM生效,则可以加载目标代码了八.装载目标文件下载到目标机进行调试九.小提示: 1、因为我的开发板是nand启动的,以上调试程序又加载到0x31f00000处执行,所以根本没有处理异常向量,所以调试过程中没有开中断,如果要开中断则要正确设置异常向量。 2、有写寄存器要尽量避免axd去读,因为这样可能导
8、致错误的出现。