技术标签: linux
没有错误的话就在gdbserver目录下生成gdbserver可执行文件,把它烧写到开发板flash的根文件系统分区,或通过nfs mount的方式都可以。只要保证gdbserver能在开发板上运行就行。
下面就可以用gdb+gdbserver调试我们开发板上的程序了。在目标板上运行gdbserver,其实就是在宿主机的SecureCRT下,我的red hat linux装在vmware下的。我是在minicom下# mount -o nolock 172.20.223.38:/home /tmp后做的,hello和gdbserver都是位于linux根目录下,把主机根目录挂在到开发板的/tmp目录下。
要进行gdb调试,首先要在目标系统上启动gdbserver服务。在gdbserver所在目录下输入命令:
(minicom下)
#cd /tmp
#./gdbserver 172.20.223.38:2345 hello
172.20.223.38为主机IP,在目标系统的2345端口开启了一个调试进程,hello为要调试的程序。
出现提示:
Process /tmp/hello created: pid=80
Listening on port 2345
(另一个终端下)
#cd /
#export PATH=$PATH:/usr/local/arm-gdb/bin
#arm-linux-gdb hello
(gdb) target remote 172.20.223.111:2345
(172.20.223.111为开发板IP)
出现提示:
Remote debugging using 172.20.223.38:2345
[New thread 80]
[Switching to thread 80]
0x40002a90 in ??()
同时在minicom下提示:
Remote debugging from host 172.20.223.38
(gdb)
连接成功,这时候就可以输入各种gdb命令如list、run、next、step、break等进行程序调试了。
以上针对通过nfs mount和tftp的方式,只能在主机上调试好后下载到开发板上运行,如果有错误要反复这个过程,繁琐不说,有些程序只能在开发板上调试。所以笔者采用了gdbserver的远程调试方式。
前面我们已经使用CentOS6.7的平台搭建了pxe服务器,现在我们利用此服务器继续安装Ubuntu 14.04.4 server系统的客户机。参见http://1130739.blog.51cto.com/1120739/1740925部署方法:在pxe安装菜单文件/var/lib/tftpboot/msgs/boot.msg添加Ubuntu系统的选项在default文件...
尽管Windows 10用户通常会在一天结束时关闭他们的PC,但使用Mac的用户往往会无限期地打开它们。但这真的是个好用法吗?我们来看看您是否应该每晚关闭Mac?##我应该在晚上关闭Mac吗?苹果设计的macOS和Mac在能源使用和性能方面非常高效。考虑到这一点,每个用户一天使用完计算机后,可以使用三个选项:将其打开,使其进入睡眠状态或将其关闭。如果您担心iMac或MacBook会耗电,那完全有点多余,当屏幕关闭且Mac进入睡眠状态时,这时的电能消耗会非常小。当然,如果您担心它消耗电量,那么在睡觉时_苹果秒控键盘二代下班需要关机吗
今天是2020年的第一天,这里列出来我今年的CV论文阅读计划,也包括我前面读过的一些论文。 15 Jan 2010.ReLU.Xavier Glorot,Antoine Bordes,Y. Bengio Deep Sparse Rectifier Neural Networks http://www.chenjianqu.com/show-63.html Jan 2012.AlexNet.Alex Krizhevsky,I Sutskever,G Hinton Ima.
一 字体属性:(font)大小 {font-size: x-large;}(特大)xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX、PD样式 {font-style: oblique;}(偏斜体)italic;(斜体) normal;(正常)行高 {line-height: normal;}(正常) 单位:PX、PD、EM粗细 {font-weight: bold;_css 所有样式key
STM32 使用一个定时器作为 PWM 输出,在上图中,ARR 即为重装载值。在计数器的值大于CRRx的值并且小于 ARR 之间,即区分高低电平。输出在图中分别有 ① 和 ② 两种情况.分别为:①CRR 和 ARR 区间为低电平。②CRR 和 ARR 区间为高电平。_stm32 hal库pwm
前言本文翻译自Assembly Register Calling Convention Tutorial序言通过本教程,你会可以看到CPU使用的寄存器,并探索和修改传递给函数调用的参数。还将学习常见的苹果计算机架构以及如何在函数中使用寄存器。这就是所谓架构的调用约定。了解汇编是如何工作的,以及特定架构调用约定是如何工作是一项极其重要的技能。它可以让你在没有源码的情况下..._调试和逆向技术
数字化转型在各个行业紧锣密鼓的推进,中央企业作为中国经济重要的组成部分,承担着试点验证的社会责任,现已进行到何等地步?中央企业的数字化转型的路径是什么?方法论能否给其他企业指明方向?亿欧智库针对中央企业数字化转型提出1+4+4+N的思考框架,包括集团管控、4项原则(CPAS),4个基础以及N个业务,助力中央企业数字化转型。中央企业应做数字化转型的领头羊首先,中央企业是中国经济的重要组成部分,承担着试点验证的社会责任。根据财政部数据,除去疫情因素,中央企业近十年营业总收入..._数字化转型调研报告
在PN结中,P区的电势比N区高(YES);在PN结形成过程中,空穴的扩散运动方向是从P区到N区(NO );漂移运动方向是从N区到P区( YES);PN结形成后,参与扩散运动的载流子数量大于参与漂移运动的载流子数量(NO);在纯净半导体中掺入五价磷元素后,形成__N型__半导体,其导电率__增大__;这种半导体的多数载流子是__自由电子__,少数载流子是__空穴__。在纯净半导体中掺入三价硼元素后,形成__P型__半导体,其导电率__增大__;这种半导体的多数载流子是__空穴.._p区电势比n区高
盲源分离是指在未知混合因子的情况下,将多个源信号从混合信号中分离出来的过程。JADE算法是一种常用的盲源分离算法,其具有计算量小、收敛速度快等优点,在语音识别、图像处理等领域得到了广泛的应用。下面通过MATLAB代码演示JADE算法的实现过程。分离结果保存在S_est中。以上就是JADE算法在MATLAB中的实现过程。盲源分离算法JADE附MATLAB代码。_盲源分离matlab程序
进入到操作系统之后是图形化界面,但是也可以用终端操作先来看下vi /etc/inittab: 定义了7个操作系统的runlevel(启动级别)。所以关机可以用init 0 ——重启可以用init 6reboot若忘记root用户密码,可以重新重置系统密码。按E(edit),再用E,直接加一个single回车,按B,按第二个选项启动,就跳过了安全直达用户。即可初始化密码。cd /etc/rcr...
datetime.datetime.utcfromtimestamp()函数的输入数据类型为浮点型,单位为秒。classmethoddate.fromtimestamp(timestamp)返回对应于 POSIX 时间戳的当地时间,例如time.time()返回的就是时间戳。这可能引发OverflowError,如果时间戳数值超出所在平台 Clocaltime()函数的支持范围的话,并且会在localtime()出错时引发OSError。 通常该数值会被限制在 1970 年...
package Hello;public class First50prime { public static void main(String[] args) { // TODO Auto-generated method stub int count = 0; int rownum=0; for(int i=2;count<50;i++) { int ..._java 编写一个函数isprime()判断一个自然数是否素数,输出前50个素数