Eclipse调试arm裸机程序

一、集成开发环境

 系统:win7  VMware  ubuntu14.10

 软件:eclipse, GDB Sever, Jlink

 硬件: Jlink 

 准备工作: Jlink链接电脑, nand Flash启动开发板 

 pasting

二、安装GDB软件


下载 GDB   ftp://sourceware.org/pub/gdb/releases/  

在/home 目录下存放gdb-7.8压缩包

然后在/pot  下建立一个arm和gdb7.8作为安装目录#cd /opt    #mkdir arm

   #cd /arm   #mkdir gdb7.8 

解      压:#cd /home

      #tar xvzf gdb-7.8.tar.gz

进入目录: #cd gdb-7.8
编译安装:#./configure --target=arm-linux --prefix=/opt/arm/gdb7.8 -v
   # make
   #make install 

target指明编译生成的GDB用于调试ARM-LINUX程序,prefix指明安装目录

如果出现以下错误

 

 执行#apt-get install libncurses5-dev 

      #make clean

      #make 

      #make install 

设置环境变量:# gedit /root/.bashrc

在文件末端加上export  PATH=$PATH:/usr/local/arm-gdb/bin/

   #gedit /etc/profile

在文件末端加上 export PATH=$PATH:/usr/local/arm/4.4.3/bin,并保存。

注销后重新登录

 

三、安装Jlink软件

下载  Jlink: https://www.segger.com/jlink-software.html

解压:tar xvzf JLink_Linux_V494g_i386
进入目录:cd JLink_Linux_V494g_i386
复制库:cp -d libjlinkarm.so* /usr/lib -f
复 制:cp 99-jlink.rules /etc/udev/rules.d/

 

 pasting

四、安装Eclipse软件

打开ubuntu软件管理器,搜索eclipse并安装

启动eclipse   建立一个工作目录

 

配置eclipse:
首先得安装一个插件,这个插件是要通过网络安装的,所以linux必须能够上网。
安装插件:点击菜单栏的help -> install new software
在Work with输入插件位置:http://opensource.zylin.com/zylincdt ,点击add
经过一段时间,在下面的方框中显示出找到的插件,点击选中:

 

 一路next,进行安装。

 然后重启eclipse

使用eclipse进行开发 

 建立一个Leds目录存放源代码,代码不能直接放在工作目录workspace下,需另建目录。

 

 把代码复制进Leds

 

 新建工程  File->New->Project

 

 

 选择Leds目录

 

 

注意Makefile的编写,这是一个timer的例子。要把.bin替换成all

 

 Build All

 

 右键Leds

 

 

 

 

 mini2440初始化代码

  1. # connect to the J-Link gdb server  
  2. target remote localhost:2331  
  3. # Set JTAG speed to 30 kHz 
  4. monitor endian little  
  5. monitor speed 30 
  6. # Reset the target  
  7. monitor reset  
  8. monitor sleep 10  
  9. #
  10. # CPU core initialization (to be done by user) 
  11. # Set the processor mode 
  12. monitor reg cpsr = 0xd3 
  13. #config MMU 配置MMU 
  14. #flush v3/v4 cache
  15. monitor cp15 7, 7, 0, 0 = 0x0 
  16. #/* flush v4 TLB 协处理器*/ 
  17. monitor cp15 8, 7, 0, 0 = 0x0 
  18. #disable MMU stuff and caches 
  19. monitor cp15 1, 0, 0, 0 =0x1002 
  20. #Peri port setup 
  21. monitor cp15 15, 2, 0, 4 = 0x70000013 
  22. #disable watchdog kangear 关闭看门狗
  23. monitor MemU32 0x53000000 = 0x00000000 
  24. monitor sleep 10 
  25. #disable interrupt kangear 关闭中断 
  26. monitor MemU32 0x4A000008 = 0xffffffff 
  27. monitor MemU32 0x4A00001C = 0x7fff 
  28. #set clock
  29. #initialize system clocks --- locktime register 
  30. monitor MemU32 0x4C000000 = 0xFF000000
  31. #initialize system clocks --- clock-divn register 
  32. monitor MemU32 0x4C000014 = 0x5 #CLKDVIN_400_148 
  33. #initialize system clocks --- mpll register
  34. monitor MemU32 0x4C000004 = 0x7f021 #default clock 
  35. #config sdram 
  36. monitor MemU32 0x53000000 0x00000000 
  37. monitor MemU32 0x4A000008 0xFFFFFFFF 
  38. monitor MemU32 0x4A00001C 0x000007FF 
  39. monitor MemU32 0x53000000 0x00000000
  40. monitor MemU32 0x56000050 0x000055AA 
  41. monitor MemU32 0x4C000014 0x00000007 
  42. monitor MemU32 0x4C000000 0x00FFFFFF 
  43. monitor MemU32 0x4C000004 0x00061012 
  44. monitor MemU32 0x4C000008 0x00040042 
  45. monitor MemU32 0x48000000 0x22111120 
  46. monitor MemU32 0x48000004 0x00002F50 
  47. monitor MemU32 0x48000008 0x00000700 
  48. monitor MemU32 0x4800000C 0x00000700 
  49. monitor MemU32 0x48000010 0x00000700 
  50. monitor MemU32 0x48000014 0x00000700 
  51. monitor MemU32 0x48000018 0x0007FFFC
  52. monitor MemU32 0x4800001C 0x00018005 
  53. monitor MemU32 0x48000020 0x00018005 
  54. monitor MemU32 0x48000024 0x008E0459 
  55. monitor MemU32 0x48000028 0x00000032
  56. monitor MemU32 0x4800002C 0x00000030
  57. monitor MemU32 0x48000030 0x00000030 
  58. # Setup GDB for faster downloads
  59. #set remote memory-write-packet-size 1024 
  60. monitor speed auto 
  61. break _start 
  62. load

 

 此过程需要保持JLinkGDBServer在链接状态

 

 按F5即可调试

退出Debug模式 

 

原文地址:https://www.cnblogs.com/liuchengchuxiao/p/4124765.html