求基于在powerpc架构下的gdb stub代码

本人在ppc440裸板上进行uCos||编译调试环境的搭建,而缺少gdb stub在该架构下的源码,求懂这个的大神,必有重赏相谢

3个回答

才说出vv设定veavsdfe

虽然不能帮助你解决 但是你可以去知乎和github上面查询一下

虽然我不能帮助你 但是建议你去知乎上面或者github上面 查询一下

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
linux powerpc 交叉编译gdb
1、下载termcap-1.3.1.tar.gz和gdb-7.5.tar.gz  2、编译termcap:  ./configure --host=powerpc-none-linux-gnuspe --prefix=/home/admin/gdb/install/  修改Makefile:vim Makefile  ---> CC = gcc       ====>     CC = p
GDB 在powerpc上的版本编译和调试
开始使用gdbserver方式调试powerpc上面的程序,步骤太多,觉得太不方面了, 开始直接编译gdb6.2版本在powerpc启动程序,报错 .I'm sorry, Dave, I can't do that                                                                                        .
AIX PowerPC体系结构及其溢出技术学习笔记
一、 熟悉PowerPC体系及其精简指令集计算 PowerPC体系结构是RISC(精简指令集计算),定义了 200 多条指令。PowerPC 之所以是 RISC,原因在于大部分指令在一个单一的周期内执行,而且是定长的32位指令,通常只执行一个单一的操作(比如将内存加载到寄存器,或者将寄存器数据存储到内存)。差不多有12种指令格式,表现为5类主要的指令: 1、分支(branch)指令
[结题报告]”实现 RT-Thread 上的 GDB stub“总结
遗留问题 1.软件实现的ARM版本没有对THUMB做支持,所以跑到THUMB的时候,执行STEP会不太正常,有空补上吧。。 2.Cortex-M版本在跑的过程中,GDB可能会多次询问0xdeadbeaf的地址,若直接访问会导致HARD HALT,如果禁止其访问,有时候GDB会卡死,初步认定0xdeadbeaf是R3以上等寄存器未使用时初始值,GDB可能误认为是有用数据的地址。 合
[中期报告]gdbstub4rtt代码结构介绍
8月初可能要出去旅行 可能不会有时间 所以先写个中期总结把 工程的文件结构大致是这样的 . ├── bsp │ └── beaglebone │ ├── applications │ │ └── application.c │ ├── drivers │ │ └── serial.c │ ├──
PowerPC架构和X86架构
PowerPC架构 PowerPC是一种精简指令集(RISC)架构的中央处理器(CPU),其基本的设计源自IBM(国际商用机器公司)的POWER(Performance Optimized With Enhanced RISC;《IBM Connect电子报》2007年8月号译为“增强RISC性能优化”)架构。POWER是1991年,Apple(苹果电脑)、IBM、Motorola(摩托罗拉)组
PowerPC架构相比于ARM的优势
Powerpc芯片凭借其出色的性能和高度整合和技术先进特性在网络通信应用,工业控制应用,家用数字化,网络存储领域,军工领域,电力系统控制等都具有非常广泛的应用. 由于PowerPC相对ARM器件来说价格稍贵,另外ARM开发工具盗版到处都是,所以在中国目前来说PowerPC不是很普及.但在一些欧美国家应用很广泛的。 个人觉得PowerPC相对ARM优势有下面几点说明: 1、整合度高以及技术先进
PowerPC家族谱系详解
随着PowerPC的 发展,使用PowerPC构架的处理器已经形成了庞大的家族,在通信、工控、航天国防等要求高性能和高可靠性的领域得到广泛应用,是一颗“贵族的芯片”。 目前几乎没有什么中文资料详细阐述PowerPC家族谱系,实在是一件遗憾的事。本文就给初学者简介PowerPC家族。 要阐述清楚PowerPC的发展不是一件容易的事情,光是“PowerPC”这个词,就很容易被搞混,尤其是IBM注
PowerPC简介及编程
PowerPC简介及编程一,PowerPC芯片   PowerPC是早期Motorola和IBM联合为Apple的MAC机开发的CPU芯片,商标权同时属于IBM和Motorola,并成为他们的主导成品.IBM主要的PowerPC产品有PowerPC604s(深蓝内部的CPU), PowerPC750,PowerPCG3(1.1GHz).Motorola主要有MC和MPC系列.尽管他们产品不一样,但
四大CPU体系结构ARM、X86/Atom、MIPS、PowerPC
RISC(reduced instruction set computer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机),RISC机中采用的微处理器统称RISC处理器。这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行
powerpc构架对于地址的访问
powerpc构架的处理器,对于内设和外设的访问比较奇怪(当然是和常见的ARM比起来),这些地址是可以重新配置的,包括配置这些配置的寄存器地址也是可配置的,以MPC8313的仿真器初始化文件为例 #setMMRBaseAddr 0xFF400000    ------------------------>复位后默认的地址是0xff400000 writereg MBAR 0xFF40000
构建powerpc交叉编译环境(完稿)
构建powerpc交叉编译环境(完稿)嵌入式开发系统一般分为3种:1、连接式:(略)2、可抽换式:(略)3、独立式:(略) 我们通常见到的是连接式。由于一般嵌入式开发系统存储大小有限,通常你都要在你的强大的pc机上建立一个用于目标机的交叉编译环境。这是一个由编译器、连接器和解释器组成的综合开发环境。交叉编译工具主要由以下三个组件组成:1、binuti
(rt-thread gdb)异常向量的设置以及ARM下单步调试的实现
虽然 GDB的难度超出了我的预期
VMWare debug config 利用虚拟机进行远程调试的配置
Guest debugging These options are valid in Workstation 6.0+, and should be set in the virtual machine's .vmx file. debugStub.listen.guest32 = "TRUE"debugStub.listen.guest64 = "TRUE" If using
Freescale PowerPC架构mpc8349E开发环境搭建
上学期女朋友从自动化院的实验室借来了一块mpc8349E开发板,学校都这样,买来开发板又没人用,真心浪费,当年的高配置到现在也过时了。 这板子的配置很是变态(这货居然有5+1个网口和4个USB口): CPU: Freescale MPC8349E running at 533/266  MHz (CPU/CSB (Coherent System Bus)) Memory subsyste
HAL/JNI简明笔记(二)——基于stub架构的HAL实例
前面文章一说完HAL的基本架构,下面以实例展现整个添加新模块的过程。 工作中自己编写的一个基于stub结构的HAL程序,包含:hal,jni,service三个层次,依次被后一个调用。hal完全是调用内核驱动的接口,jni就是一个让java能调用c的转换接口,service就是将硬件接口以java的形式提供给framework。 程序是关于触摸屏相关接口,我将简化只保留一个接口,其实框架函数保
Freescale PowerPC处理器优势
<br />Freescale PowerPC处理器优势<br />飞思卡尔半导体的PowerPC 处理器是RISC嵌入式应用的理想基础平台。优势一:价格<br />§PowerQUICC处理器集成丰富 I/O接口 <br />PowerQUICC处理器集成以太网和存储器控制器,安全硬件加速引擎<br />PowerQUICC处理器集成普遍常用的 I/O接口:USB, PCI, PCI-Express, SATA ,UART,I2C,SPI,SRIO等<br />§这就使得需要更低系统级 BOM 成本,大大
GDB Tracepoint
IntroductionIn some applications, it is not feasible for the debugger to interrupt the program's execution long enough for the developer to learn anything helpful about its behavior. If the program's correctness depends on its real-time behavior, delays in
gdb和gdbserver源码架构分析
http://www.cnblogs.com/linucos/archive/2013/03/20/2971287.html
gdb 系列(1) (hwbreakpoint\watchpoint)
1. 软硬件环境android 7.0(n) QCOM 骁龙8202. 背景我最初是因为要做一件类似这样的事情的时候才研究这个的 art debug过程中我们发现 经常有SIGSEGV的问题,而且是死在java 代码里(art 已经使用dexoat把java code compile 成了机器码) 几经分析发现是在对象的method里执行的时候this指针被改了,导致了取对象的一些成员的时候出
Qemu虚拟化PowerPc
    由于工作需要,需要需要虚拟出一个PowerPc64的系统,在介绍之前,先Qemu、Kvm、vmWare。之前对这三者虚拟化特点并没有特别关注。 是否基于硬件平台是否全虚拟化与宿主主机CPU一致性能Kvm是是是高VmWare是否(半虚拟化)是高Qemu否,纯软件模拟是否(在x86上可以模拟powerpc)差各个虚拟化对比表Kvm与QEMU关系:Kvm是基于linux kernel的,它已经成...
crosstool-ng制作交叉编译工具链(powerpc-linux)
2011-08-01 lianyiquan crosstool-ng主页 http://crosstool-ng.org/ crosstool-ng是新的用来建立交叉工具链的工具,它是crosstool的替换者。 使用crosstool最多只能编译gcc 4.1.1 g
PowerPC 体系结构开发者指南
Brett Olsson, 软件工程师Anthony J. Marsala, 软件工程师2004 年 4 月 01 日从超级计算机到游戏控制台,从服务器到手机,随处可见 PowerPC 处理器的身影 -- 它们的体系结构全都相同。本篇对 PowerPC 应用级编程模型的介绍概述了指令集、重要的寄存器以及其他细节,这些细节对于开发可靠的、高性能的 PowerPC 应用程序和保持代码在不同处理
对PowerPC的学习笔记
寄存器 GPU(General Purpose Registers)                                       32 PC(Program Counter)/NIP(Next Instruction Pointer)  LR(Link Register) CR(Condition Register) 指令 使用RISC架构,每条指令为
开源软件架构-GDB
GDB,即GNU调试器(GNU Debugger)。它诞生自开源软件基金会 (Free Software Foundation)成立之初的第一批程序,并一直是免费和开源软件系统中的主要成员。最初GDB只是 Unix 系统上一个简单的源码层次的调试器,代码量不过数千行 C 代码,后来逐步发展壮大,拓展到包括嵌入式系统在内多个平台,代码量也达到了上百万行。 原文地址:http://aosab
powerpc-linux内核start_kernel之前启动分析(1)-开门见山
公司处理器换核,前期用FPGA仿真板进行了芯片验证和软件移植,借这个机会也学习了powerpc处理器的一些知识,对powerpc的内核启动也有所了解。 完成了arm版本内核start_kernel之前汇编分析,也想尝试写几篇文章对powerpc的启动进行分析,与大家分享。其实不管哪个平台处理器,内核启动之初,因为运行地址无法保证与链接地址一致,都要完成一次地址的配置和跳转来保证内核运行地址与链接地址的一致性。
第四章:Mac OS X内核故事之从PowerPC到Intel:
第四章:Mac OS X内核故事之从PowerPC到Intel       苹果和摩托罗拉的渊源极深。1984年的Macintosh电脑就装配了Motorola 68000,尽管这款CPU实际的主频只有可怜的6MHz(http://en.wikipedia.org/wiki/Macintosh_128K  2011年iMac最低配使用的CPU主频为2.5GHz,是Motorola 680
初次接触power architecture
        Power Architecture 是 IBM 生产的 PowerPC®、POWER4® 和 POWER5®处理器以及其他厂商生产的 PowerPC 处理器的总称。它也表示采用这种开放体系结构的硬件设计人员和软件开发人员社区,这种体系结构被 1,700 多家合作伙伴公司所接受。Power Architecture 家族的成员为从世界上最大的超级计算机和强大的企业级 UNIX
Xilinx官网大全_&&_PowerPC 架构
1、赛灵思官方网站http://china.xilinx.com/ 2、赛灵思大学计划官方网站 http://china.xilinx.com/univ/ 3、赛灵思开放源码硬件社群 http://www.openhw.org 4、赛灵思网上技术支持中心 http://china.xilinx.com/support/mysupport.htm 5、赛灵思开发工具下载中心 http
Bochs + GDB 源码级调试C语言内核
Ubuntu 14.04 64bit Bochs 2.6.6 GDB 7.7 想要源码级调试C内核,需要在编译Bochs时加上 --enable-gdb-stub 参数 sudo ./configure --enable-all-optimizations --enable-long-phy-address --enable-disasm --enable-alignmen
交叉编译GDB
交叉编译GDB GDB是一款强大的调试工具,不多介绍了下载GDB源码,点击下载 解压文件tar xf gdb-7.9.tar.gz 配置编译 编写编译脚本 #!/bin/bash ./configure --prefix=/disk1/home/xllv/workspace/gdb/gdb-7.9/output/mips \ --target=mipsel-linux \ -
PowerPC体系结构学习笔记之内存管理
E500MMU简介 E500采用了两级MMU机制,L1-MMU和L2-MMU,以及一些辅助寄存器和指令来实现虚实地址的转换。E500与其他PowerPC处理器相比的一个最大不同就是,E500不能禁止虚实地址转换,并且支持两个地址空间,分别是地址空间0与地址空间1。其实这点有些类似于MIPS,除了直接通过虚拟地址来区分以外,MIPS处理器也没有机制禁止/启用地址翻译。 L1-MMU包含I
PowerPC汇编指令
高级编程与低级编程的对比 大多数编程语言都与处理器保持着相当程度的独立性。但都有一些特殊特性依赖于处理器的某些功能,它们更有可能是特定于操作系统的,而不是特定于处理器的。构建高级编程语言的目的是在程序员和硬件体系结构间搭建起一座桥梁。这样做有多方面的原因。尽管可移植性是原因之一
PowerPC平台 linux移植一
在PowerPC平台 u-boot移植基础上,移植Linux内核,具体移植过程如下: 1.修改顶层Makefile ARCH        ?= powerpc CROSS_COMPILE    ?= powerpc-linux-gnu- 2.配置 freescale@freescale-sdk:~/work/source/linux-2.6.35-r2$  make p1010rdb_
学习记录:交叉编译环境配置(buildroot and gdb&gdbserver)
1,背景  因为参加的公司的路由器逆向培训,首先需要的就是环境的准备的工作,本文主要介绍的是交叉编译环境配置和交叉编译gdb 2,配置交叉编译环境 这里仅仅是简单的配置过程,如果需要进一步研究,请移步:https://buildroot.org/docs.html 安装依赖包,否则会报错: apt-get install gcc build-essential bison f
基于powerpc的uboot启动之硬件配置字问题
如果板子用的是powerpc82xx和83xx的,uboot移植时除了把uboot烧写到0xFFF00000处以外,还需要在0xFF000000(板子的flash基地址)处烧写一个叫硬件配置字的东西。否则就无法启动。 硬件配置字不是每一个CPU和板子都有这个要求,具体要看你的CPU手册,分析一下源代码,应该在内核启动之前,比较早期阶段,就要访问这个配置字了,所以代码应该锁定在CPU目录或者boa
比较x86跟PowerPC的好文一篇
Analysis: x86 Vs PPCBy Nicholas Blachford - Posted on 2003-07-09 16:43:53at OSNews [http://www.osnews.com/]This article started life when I was asked to write a comparison of x86 and PowerPC CPU
openocd2.0 源码
openocd GDB 调试服务源码,支持ARM全系列,powerPC,
也谈栈和栈帧
 一个码农要是没遇见过coredump,那他就是神仙了。core file(coredump的转储文件)中保存的最重要内容之一,就是函数的call trace。还原这部分内容(栈回溯),并与原代码对应上,尽快找出程序崩溃的位置和原因,是码农们一生的责任。当然,你如果有良好的开发环境和开发习惯,保留了现场环境(core file and lib file等)和unstrip的原程序,那么恭喜,
PowerPC交叉编译环境安装指南
在虚拟机下建立PowerPC交叉编译器的步骤,与此同时,在Linux下此步骤也是可以使用的
MIPS,PowerPC和ARM访问I/O方式的比较
1.概述 简单比较了一下MIPS,PowerPC和ARM(这里只考虑32位版本的,MIPS64和PowerPC64不在此范围内)访问I/O的方式。首先这三种体系结构都使用存储器映射的I/O,都是32位物理地址空间(排除一些特殊的处理器,比如PowerPC E500 v2支持36位物理地址)。下面分别说明一下具体的访问方式: MIPS: 由于MIPS的地址空间映射机制比较特殊,kern
gdb的工作原理
一、gdb简介  gdb:GNU debugger   UNIX及UNIX-like下一个强大的命令行的调试工具   gdb调试的整体架构如下图所示:      可以发现gdb调试不管是本地调试还是远程调试,都是基于ptrace系统调用来实现的   ptrace系统调用的原型:   二、ptracelong ptrace(enum __ptrace_request request
驱动模块(driver) 和桩模块(stub)
传统的单元测试包括了驱动模块(driver) 和桩模块(stub)。驱动模块的目的很单纯,就是为了访问类库的属性和方法,来检测类库的功能是否正确; 驱动模块 驱动模块是用来模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果。 驱动模块(Driver)可以通过模拟一系列用户操作行为,比如选择用户界面上的某一个选项或
初识stub和mock--junit的两种测试策略
JUnit相信大家都在用,对于如何使用Junit这里不在赘述。Stub和Mock就是两种协助Junit测试的思想或者策略,它们并不是真实存在的对象,却可以模拟真实对象的状态和交互。
什么是桩代码(Stub)?
stub code大概就是占坑的代码,桩代码给出的实现是临时性的/待编辑的。它使得程序在结构上能够符合标准,又能够使程序员可以暂时不编辑这段代码。 举个《C专家编程》中的例子: 我的一位同事需要编写一个程序,要求在某一地点存储每个文件的文件名和相关信息。数据存储于一个结构表中,他决定使用散列表。这里就需要用到可调试性编码。他并不想一步登天,一次完成所有的任务。他首先让最简单的情况能够运行,就是
采用C++的ACE库实现的一个通用的CS架构通信程序(VS2005源码)
1、服务器端:一个采用领导者/跟随者模型的线程池不断地接受从多个客户端发来的消息,并放入一个消息队列,然后又有一个采用半同步/半异步模型的线程池不断地从这个消息队列中取出消息进行处理。 2、客户端:应用程序将需要发送的若干消息放入一个消息队列,然后激活一个线程来发送所有消息到服务器端。
桩代码stub 打桩
这个问题是我自己问的,那时候正在看《程序员的自我修养》。 这段时间又在一些地方看到了stub code。 stub code大概就是占坑的代码,桩代码给出的实现是临时性的/待编辑的。它使得程序在结构上能够符合标准,又能够使程序员可以暂时不编辑这段代码。 举个《C专家编程》中的例子: 我的一位同事需要编写一个程序,要求在某一地点存储每个文件的文件名和相关信息。数据存储于一个结构表中,他决定使
编译交叉工具链powerpc-linux(干净的ubuntu)
本文在 http://blog.csdn.net/pulpdog/article/details/8023922 文章的基础上根据自己的实际情况(虚拟机中新安装的ubutun 16.04 LTS)做出的相应的修改。1. 下载资源包cd $HOME mkdir ppc cd ppc mkdir sources cd sources wget [http://ftp.gnu.o
转载一篇关于POWERPC中断比较全面的讲解
从CPU的e500核的角度,中断源分为自己内核产生的异常和 PIC提供的中断。   异常,是e500核产生的,它是同步产生的(可以预知的),如非法指令,或访问存储器时出现TLB Miss等情况 中断,是e500核外部引脚产生的中断,由PIC送进来来的,它是异步产生的(无法预知的), 主要有:int#, cint#, mcp# 分别对应一般中断,critical中断和machine che
stub函数
stub 函数,叫它桩函数,存根函数都可以,用一个桩函数替换一些接口函数,用于测试当前函数的特性。譬如说,要测试一个函数 f()void f(){var = g(...);}f()函数中调用了函数 g(),但是在测试f()的时候g()函数可能还没有写出来这时可以写一个g()的存根(stub)函数,来模拟g()函数,例如让它仅仅返回一个值.这样的话就可以完成对函数f()的测试了.实例如:函数f在f.
立即提问