skyeye安装+arm-elf-gdb安装+模拟s3c44b0x+执行ucos4skyeye

skyeye安装+arm-elf-gdb安装+模拟s3c44b0x+执行ucos4skyeye

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

【假设你要引用。请阅读所有,这里是我的为期两天的过程只是一个记录】

skyeye安装:ubuntu12.0432 llvm2.8 skyeye1.3.3

http://blog.chinaunix.net/uid-26963688-id-3267351.html

当中有几处是错误的,改动后的不带图的步骤例如以下:

Ubuntu 12.04 LTS 32bit 1G DRAM 2 cores + skyeye-1.3.3_rel.tar.gz

开发编译环境准备:

首先安装skyeye的依赖包

sudo apt-get install libgtk2.0-dev pkg-config libatk1.0-dev libpango1.0-dev libfreetype6-dev libglib2.0-dev libx11-dev binutils-dev libncurses5-dev libxpm-dev autoconf automake libtool python-dev llvm

安装步骤:

1. 解压源文件:tar xvf skyeye-1.3.3_rel.tar.gz 安装的这个版本号的skyeye并不能正确执行,主要是执行ucos4skyeye的时候会出现skyeye.conf的配置信息不对的现象。换成了

2. 配置skyeye:./configure (在解压后的目录中)

3. 编译第三方文库:make lib -j2(用两个核)

4. 编译skyeye:make -j2

5. 安装skyeye库文件:make install_lib

6. 安装skyeye:make install

7. 执行skyeye:在opt/skyeye/bin文件夹下:./skyeye_main.py

8. 測试hello world应用程序:

     首先切换到/opt/skyeye/testsuite/arm_hello文件夹下

     然后执行:/opt/skyeye/bin/skyeye_main.py -e arm_hello,进入skyeye命令行模式

     然后执行start命令,执行arm_hello应用程序

     终端将打印架构信息。同一时候探出串口窗体

     终端中执行run命令。串口会不停的打印出helloworld

当中过程中须要下载llvm-2.8.tgz。下载地址:http://llvm.org/releases/2.8/llvm-2.8.tgz 

解压后进入文件夹,运行以下脚本安装:

./configure

make【费时】

sudo make install

以上的能够正常完毕这个自带的样例的执行,可是后来下载的skyeye-testsuite却不能正常执行

详细的现象是:

在uCLinux/s3c44box文件夹下不可以正常执行,显示的错误信息是bank相关的输出

后来查看网上的资料不可以得到正确的答案

然后在自己的ubuntu12.04 32bit 虚拟机上用apt-get install skyeye 安装了一个应该是1.2.x版本号的skyeye,显示是安装成功了

输入skyeye也是可以进入skyeye中,可是对于skyeye-testsuite/uCLinux/s3c44b0x中却还是出现的和上面的一样的错误

所以还是没成功!

最后,是最后,依照http://blog.chinaunix.net/uid-20690340-id-1894428.html博主介绍的方法安装了skyeye-1.2.6(仅仅是借鉴skyeye的安装)

替换掉了原来的已有的(1.3.3还是存在的,可是在terminal中输入skyeye时运行的是1.2.6)

这下在skyeye-testsuite中可以正常执行

在网上下载了ucos4skyeye也是可以正常执行里面的样例。真是太令人激动了!

可是直接执行usoc4skyeye/ucos_test的时候并没有像readme中说的那样会有一个任务供输入,一个任务供输出。

可是种种迹象表明的是这是能够正常执行的。。!

问题出在哪儿,我不知道了。我想到了gdb来调试。想看一下到底是哪个地方没有正常执行起来。

这就引发了还有一个让我纠结的问题:

arm-elf-gdb的安装。

。。。

安装的过程是这种:
http://blog.chinaunix.net/uid-15007890-id-2377453.html
下载gdb安装包:ftp://ftp.gnu.org/gnu/gdb/
tar jxvf gdb-7.0.tar.bz2
cd gdb-7.0
mkdir build-gdb
cd build-gdb
../configure –target=arm-elf
make
make install
当中应该会遇到gcc编译全部warning都依照error的make错误
这是由于如今的GCC的版本号比較新的缘故(我的是4.6.3,自然也是遇到了这个问题)
只是我的解决方法并非将GCC降级。而是将某个出错文件夹下的Makefile中的 -Werror去掉
这样就能够正常安装了
这个过程还是比較纠结的。
所以经过上面的两天的折腾,我得到了以下的平台信息:

【1】skyeye 1.2.6(源代码安装。成功的标志是 在terminal不论什么路径下输入skyeye会出现skyeye信息)
【2】arm-elf-tools-20040427.sh
【3】arm-elf-gdb

然后我用这上面折腾好的工具调试下载的ucos4skyeye得到的是正确的结果:

http://blog.csdn.net/ranruoyu1003/article/details/6067175
要使用SkeyEye调试功能,能够在运行的时候增加-d參数,比如: 


$skyeye -e hello -d 


skyeye会提示


debugmode= 1, filename = skyeye.conf, server TCP port is 12345


这时就在本机的12345port开启了gdb服务 


这时在当前文件夹又一次开一个终端程序


$arm-elf-gdb hello


(gdb) target remote 127.0.0.1:12345


Remote debugging using 127.0.0.1:12345  


hello () at hello.c:23


23        }


(gdb) 


同一时候原skeyeye段给出提示


Remote debugging using host:12345


这就说明已经连接上服务,能够開始调试了

【仅仅是參照上面的步骤,我调试的是ucos4skyeye/samples/ucos_test】
skyeye安装+arm-elf-gdb安装+模拟s3c44b0x+执行ucos4skyeye

另外还參考:http://blog.csdn.net/htttw/article/details/7226754

当中包括了能够帮助理解基本步骤和文件作用的信息

http://www.cnblogs.com/ahuo/archive/2012/08/27/2658133.html

这些包括GDB和arm-elf-gdb关系和编译时间差

版权声明:本文博客原创文章。博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117632.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2012服务器系统密钥,WINDOWS SERVER 2012标准版密钥[通俗易懂]

    2012服务器系统密钥,WINDOWS SERVER 2012标准版密钥[通俗易懂]js获取浏览器内核、类型、版本以及系统类型正则表达式:varrsys=/\b(windows|win32|macintosh|macosx|adobeair|linux|unix)\b/;varrkn=/\b(opera|…docker组件(c/s)Docker组件1.dockerclient:docker…

    2022年8月31日
    5
  • 无类路由计算方法_actin

    无类路由计算方法_actin给定一个包含 n 个点 m 条边的有向图,并给定每条边的容量和费用,边的容量非负。图中可能存在重边和自环,保证费用不会存在负环。求从 S 到 T 的最大流,以及在流量最大时的最小费用。输入格式第一行包含四个整数 n,m,S,T。接下来 m 行,每行三个整数 u,v,c,w,表示从点 u 到点 v 存在一条有向边,容量为 c,费用为 w。点的编号从 1 到 n。输出格式输出点 S 到点 T 的最大流和流量最大时的最小费用。如果从点 S 无法到达点 T 则输出 0 0。数据范围2≤n≤50

    2022年8月9日
    9
  • C语言输出的字体和背景颜色你会设置吗!

    C语言输出的字体和背景颜色你会设置吗!学了那么久C语言,难免会所写对程序输出内容颜色感到单调,总想整点酷的东西………

    2022年6月20日
    27
  • phpstome2021激活码[在线序列号]

    phpstome2021激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    50
  • 嵌入式学习路线「建议收藏」

    嵌入式学习路线「建议收藏」嵌入式学习路线1.前言2.嵌入式硬件方向3.嵌入式软件方向4.嵌入式软件学习路线4.1.打好软件基础4.2.学习ARM体系结构编程4.3.嵌入式系统的构建4.4.嵌入式驱动程序的开发4.5.嵌入式应用程序的开发4.6.综合项目5.总结1.前言嵌入式技术是各种电子产品的核心技术,也是工业4.0、远程医疗、3D打印等新兴产业的核心技术,具有广阔的发展前景。很多计算机、电子信息类专业的学生都想把嵌入式开发作为自己的职业目标,但是因为嵌入式涉及的知识太多,太杂,太广,很多嵌入式初学者陷入嵌入式知识的海洋中,东学

    2022年6月11日
    30
  • Android中ActivityManager学习笔记(1)-MemoryInfo「建议收藏」

    Android中ActivityManager学习笔记(1)-MemoryInfo「建议收藏」ActivityManager       与系统中所有的Activity进行交互的类。官网一句话解释了这个东西,但是有点随意了。ActivityManager的作用很多,我们通过它获得内存信息,进程信息,还可以终止某个进程。当然啦,只能终止用户的进程,系统的进程是杀死不了的。下面我通过实例,一步一步学习它的具体作用,我也是刚学,不能从宏观的角度给大家解释清楚它的具体作用。希望通过程序一

    2025年9月26日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号