查看: 3957|回复: 0

[原创] 【荔枝派nano】12.Eclipse编译仿真调试运行Xboot

[复制链接]
  • TA的每日心情
    擦汗
    2019-6-26 20:59
  • 签到天数: 235 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2018-7-27 21:30:41 | 显示全部楼层 |阅读模式
    分享到:
    先来两张效果图吧,内容明天更新。。。
    QQ截图20180726215459.jpg

    QQ截图20180727212957.jpg
    Eclipse集成开发环境是一个开源的IDE平台,其以强大的可扩展性而著称,传统的IDE公司都已转向Eclipse平台,在此平台上开发自家的插件,然后包装销售,典型的有ARM公司推出的MDK开发平台。
    XBOOT官方提供的Eclipse IDE,其包含JRE运行环境,各种交叉工具链,各种插件,Windows版还提供了诸如make、tar、mkdir、rm等必要的命令行工具。  



      下载eclpise后直接解压,路径中不要带有空格符号,在Windows平台运行eclipse.bat脚本启动Eclipse
    集成开发环境;在Linux平台运行eclipse.sh脚本启动集成开发环境。
    不可直接运行eclipse可执行文件,必须通过脚本启动Eclipse,否则,某些关键命令行工具无法运行。脚本在
    启动集成开发环境时,添加了搜索路径,以便让集成开发环境能够正确调用相关命令行工具。



    打开后如下图
    QQ截图20180728172329.jpg

    导入git工程xboot
    QQ截图20180728172423.jpg

    一定要勾master
    QQ截图20180728172441.jpg

    下载完成后 导入工程
    QQ截图20180728172607.jpg 如下图
    QQ截图20180728172745.jpg

    编译源码 ,

    变量 说明
    CROSS_COMPILE 指定交叉工具链
    PLATFORM 指定硬件平台,由两部分组成, arch 及 mach

    首先,Makefile中有两个变量在编译时需要传递,一个是交叉工具链,另一个是具体的硬件平台
    在编译前,需要修改默认的Makefile,以传递正确的 CROSS_COMPILE 及 PLATFORM ,这里以 Realview 模拟器平台
    为例,修改后的Makefile,如下图所示:  
    QQ截图20180728172904.jpg

    点击菜单 Project Build all 或者直接按快捷键 CTRL+B 编译整个源码。Windows平台编译速度较慢,请耐心等待。  

    编译ok
    QQ截图20180728172946.jpg
    文件名 描述
    xboot 带有符号的ELF目标文件,模拟器直接加载此文件
    xboot.bin 不带任何符号信息的二进制文件,一般作为烧写镜像
    xboot.map 各个符号详细链接信息

    此时,在 output 目录下会生成 xboot.bin 等相关目标文件。
    QQ截图20180728173042.jpg

    启动模拟器,双击 tools\qemu-system\windows 目录下的 realview-run.bat 脚本即可。

    QQ截图20180728173144.jpg

    QQ截图20180728173152.jpg

    如果是Linux系统,在执行 realview-run.sh 脚本前,需确认当前系统是否已安装qemu-system-arm,如没有安装,以ubuntu为例,请执行如下指令:
    1. <span class="fontstyle3" style="color:rgb(51,0,170);">sudo </span><span class="fontstyle3" style="color:rgb(51,51,51);">apt‐get install qemu‐system‐arm</span>
    复制代码

    在调试前,我们需要先修改 src\arch\arm32\mach-realview\xboot.mk 默认的编译参数,默认 -O3 优化选项,编译时,会优化掉很多有用的符号信息,不利于调试,这里改成 -O0 参数,禁止编译器做任何优化,在修改参数后,需要清除一下,再重新完整编译,具体修改如下图所示:  
    QQ截图20180728174501.jpg
    打开 GDB Hardware Debuging ,配置如下
    QQ截图20180728174629.jpg


    启动 GDB Server  



    QQ截图20180728174728.jpg


    启动调试,正常连接后,会出现如下调试界面,断点在 _start 处。
    QQ截图20180728174803.jpg


    然后在main函数中打个断点
    QQ截图20180728175010.jpg


    全速运行
    QQ截图20180728175048.jpg

    相关阅读:
    X-boot编译下载
    X-boot分析、修改、编译、下载经验分享(1)
    X-boot分析、修改、编译、下载经验分享(2)
    Eclipse编译仿真调试运行Xboot


    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-19 23:04 , Processed in 0.116544 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.