zoukankan      html  css  js  c++  java
  • 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模式 

     

  • 相关阅读:
    html基础知识点
    uni-app之tabBar的自己配置
    uni-app之导航配置pages.json
    js获取链接?后边的参数名称或者值
    验证码输入自动聚焦下一个input或者删除自动聚焦上一个input
    VUE中/deep/深度作用域
    vue环境下新建项目
    vue中展示数据
    VUE环境项目搭建以及简单的运行例子
    ios设置音乐audio自动播放
  • 原文地址:https://www.cnblogs.com/liuchengchuxiao/p/4124765.html
Copyright © 2011-2022 走看看