自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 使用gdb出现During startup program exited with code 127解决办法

出现错误 (gdb) r Starting program: /mnt/demo/time_hi Cannot exec /mnt/demo/time_hi -c exec /mnt/demo/time_hi . Error: No such file or directory During s...

2019-08-15 17:05:06

阅读数 542

评论数 0

原创 linux系统进程打印重定向实现

    实现打印重定向能有效提高调试debug效率,记录下最近工作中实现的打印重定向功能。基于之前的程序状态监测系统实现,分客户端和服务端;     客户端接收用户命令,确认是否需要重定向,代码如下: char *tty_name = NULL; if(is_str_equal(c...

2019-07-23 10:10:17

阅读数 198

评论数 0

原创 应用程序状态监测系统实现

    在嵌入式系统运行过程中,应用程序运行状态(如变量值、方法调用、程序控制流等),是我们开发人员经常需要关注的,在调试过程中我们经常通过添加打印并运行程序去了解程序的运行状态,这样效率很低且在有些很难复现的问题调试中更难实施,因此,一种动态查看应用程序运行状态的系统,大多数情况能很快定位到问题...

2019-07-10 13:44:14

阅读数 175

评论数 0

原创 海思Hi3516EV300调试笔记

调试Hi3516EV300过程中遇到的一些需要注意的点: PIPE 可以设置成多种工作模式,情况如下。 第 0 个 PIPE 可以有 4 种模式: − VI 在线 VPSS 离线 − VI 在线 VPSS 在线 − VI 离线 VPSS 离线 − VI 离线 VPSS 在线 其他 PIPE 可...

2019-07-08 20:45:18

阅读数 1228

评论数 0

原创 strtok和strtok_r

strtok_r 函数原型char* strtok(char *str,const char *delimiters); 来分析一下这个分割字符串函数,这个函数是在传入的字符数组里进行调整,它并没有生成新的字符数组。 第一个参数可以是字符数组或者NULL,第一次切割传要切割的字符,第二次要在原来字...

2019-06-28 15:25:00

阅读数 97

评论数 0

转载 GDB调试

1、首先需要用gcc(g++) 对源文件进行编译生成可执行文件,并且在编译时加上选项-g,把调试信息加到目标文件中。 2、假设生成的可执行文件为test,那么gdb test 可以用gdb打开test文件,然后通过break linenum设置断点。可以输入list查看源文件和行号,方便设置断点。...

2019-04-09 17:16:01

阅读数 34

评论数 0

翻译 《Linux DRM Developer's Guide》学习笔记--内存管理

现代 Linux 系统需要大量的图形内存来存储帧缓存、纹理、顶点和其他与图形相关的数据。考虑到许多数据的动态特性, 有效地管理图形内存对图形栈至关重要, 并在 DRM 基础结构中发挥中心作用。    GEM 主要是对 FrameBuffer 的管理,如显存的申请释放 (Framebuffer ...

2018-04-03 14:58:14

阅读数 2428

评论数 0

转载 《Linux DRM Developer's Guide》学习笔记--DRM internals

The DRM layer provides several services to graphics drivers, many of them driven by the application interfaces it provides through libdrm, the librar...

2018-03-30 15:51:01

阅读数 833

评论数 0

转载 X86-64寄存器和栈帧

概要 说到x86-64,总不免要说说AMD的牛逼,x86-64是x86系列中集大成者,继承了向后兼容的优良传统,最早由AMD公司提出,代号AMD64;正是由于能向后兼容,AMD公司打了一场漂亮翻身战。导致Intel不得不转而生产兼容AMD64的CPU。这是IT行业以弱胜强的经典战役。不过,大家为了...

2018-01-11 10:08:19

阅读数 138

评论数 0

原创 《Linux内核设计与实现》读书笔记(四)-- 中断与中断处理

中断:一种由设备使用的硬件资源异步向处理器发信号。中断过程所做的工作包括应答并重新设置硬件,从设备拷贝数据到内存以及反之,处理硬件请求,并发送新的硬件请求。

2017-10-16 22:25:04

阅读数 124

评论数 0

原创 《Linux内核设计与实现》读书笔记(三)--系统调用

本节描述系统调用的定义,它们与库函数和应用程序接口(API)有怎样关系。考察了Linux内核如何实现系统调用,一级执行系统调用的连锁反应:陷入内核,传递系统调用号和参数,执行正确的系统调用函数,并把返回值带回用户空间。 然后,讨论了如何增加系统调用。 最后,讨论实现系统调用的优缺点及其替代方案。

2017-10-05 11:25:00

阅读数 124

评论数 0

原创 《Linux内核设计与实现》读书笔记(二)--进程调度

本章讨论进程调度程序,它是确保进程有效工作的一个内核子系统。进程调度程序可看做在可运行状态进程之间分配有限的处理器时间资源的内核子系统。

2017-10-02 16:59:07

阅读数 190

评论数 0

原创 《Linux内核设计与实现》读书笔记(一)--进程管理

讨论Linux操作系统抽象概念中最基本的一种:进程。

2017-10-02 11:00:22

阅读数 273

评论数 0

原创 进程间通信各方式间比较

管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。 信号量( semophore ) : 信号...

2015-10-17 10:11:17

阅读数 133

评论数 0

转载 关键字static和const的作用

这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用: 1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。...

2015-09-13 11:10:01

阅读数 175

评论数 0

原创 网络编程之socket、epoll

当TCP客户端同时处理两个输入:标准输入和TCP套接字。我们遇到的问题在阻塞于fgets调用期间,服务器进程会被杀死。服务器TCP虽然正确的给客户TCP发送了一个FIN字节,但是既然客户进程正阻塞于从标准输入读入的过程,它将看不到这个EOF,直到从套接字读时为止。这样的进程需要一种预先告知内核的能...

2015-09-07 20:56:45

阅读数 138

评论数 0

转载 CGIC简明教程(转)

本系列的目的是演示如何使用C语言的CGI库“CGIC”完成Web开发的各种要求。*********************************基础知识 1.使用CGIC的基本思路 2.获取Get请求字符串 3.反转义 4.获取请求中的参数值 进阶训练 5.用CGI...

2015-08-26 09:32:17

阅读数 290

评论数 0

原创 Linux根文件系统构建

根文件系统是linux系统移植三大组件之一,做好根文件系统是完成Linux应用开发的前提工作。

2015-08-21 21:05:10

阅读数 163

评论数 0

原创 Linux下web服务器BOA的移植

Linux下web服务器BOA的移植一、Boa 程序的移植1、下载 Boa 源码下载地址:http://www.boa.org/ 下载 boa-0.94.13.tar.gz, 解压:[root@Localhost source]$tar -zxvf boa-0.94.13.tar.gz2、生成...

2015-08-21 19:47:28

阅读数 206

评论数 0

提示
确定要删除当前文章?
取消 删除