
linux
Tinus Chen
这个作者很懒,什么都没留下…
展开
-
gcc 编译选项
摘自http://blog.youkuaiyun.com/liuchao1986105/article/details/6674822版本] -0.13 [声明] 这篇文档是我的关于gcc参数的笔记,我很怀念dos年代我用小本子,纪录任何的dos 命令的参数.哈哈,下面的东西可能也不是很全面,我参考了很多的书,和gcc的帮助.不全的原因是,有可能我还没有看到这个参数,另一种原因是,我可能还不会用他...转载 2018-07-18 09:47:11 · 907 阅读 · 0 评论 -
日常笔记:Ubuntu Desktop 18.04 设置静态IP方法
之前我已经做过了ubuntu14.04版本的静态IP设置方式了;18.04版本前面基本一样。具体可以看下我的笔记:Ubuntu14.04版本静态IP设置方式.下面要说的是18.04版本有点小不同,就是在设置DNS服务器的时候有差异:网上有最多的使用 vim /etc/resolvconf/resolv.conf.d/base 来配置dns的方法在Ubuntu18.04中已经行不通了...原创 2019-03-06 16:26:21 · 2726 阅读 · 0 评论 -
ubuntu14.04版本设置静态IP地址
ubuntu14.04版本设置静态IP地址:1,将vmware的网络设置为桥接模式,这里如果不设置,后面设置的静态IP不会成功。亲测过,具体原因后面我在细看补上。2.在ubuntu的终端输入ip a查看网卡。3.接下来输入命令sudo vim /etc/network/interfaces,编辑该文件。注意此处eth0用自己的网卡编号替换,address和gat...原创 2019-03-06 14:59:01 · 2154 阅读 · 0 评论 -
Linux 查看当前目录占用的空间大小
linux下在相应目录下执行如下命令即可:du -h --max-depth=1 ./原创 2019-03-05 14:02:50 · 7622 阅读 · 0 评论 -
搭建交叉编译环境并使其生效
做嵌入式少不了要用交叉编译器,自然也需要自己会安装环境。具体的编译器怎么安装我就不说了。我主要说的是让linux自己去找到编译环境。1.如图找到自己安装后的交叉编译环境的路径:2.打开系统的/etc/bash.bashrc文件。在最后一行写入如下的文字:export PATH=$PATH:/home/william/sunjf/ti_components/os_tools...原创 2018-04-04 15:32:53 · 562 阅读 · 0 评论 -
linux下 signal信号机制的透彻分析与各种实例讲解
转自:http://blog.sina.com.cn/s/blog_636a55070101vs2d.html转自:http://blog.youkuaiyun.com/tiany524/article/details/17048069转自:https://blog.youkuaiyun.com/u012183924/article/details/53888972首先感谢上述三位博主的详细讲解。本...转载 2019-02-28 14:19:44 · 563 阅读 · 0 评论 -
ubuntu更新源
今天安装TI编译的sdk环境的时候遇见了问题,记录下:出现问题:configure: error: You need to install g++出现这个问题是缺少g++工具,只要在ubuntu下面执行 sudo apt-get install g++即可,但是却出现无法安装,源无法访问。没办法只能更新源了。更新源的步骤:1.寻找国内镜像源https://mirrors.tun...原创 2018-12-04 10:34:10 · 410 阅读 · 0 评论 -
linux的I2C工具编译以及使用方式
i2c工具下载地址:i2c下载地址下载后解压,根据自己的交叉编译环境进行以下修改:1.在顶层makefile中将CC变量赋值为自己的交叉编译环境,例如我的环境 CC=arm-linux-gnueabihf-gcc。2.在tool目录下打开module.mk文件,编译选项中添加-static静态编译选项,如下上面两个步骤完成后就可以编译并且在tool目录下面会生成i2c工具。...原创 2018-11-29 09:28:23 · 2646 阅读 · 1 评论 -
make menuconfig/.config/Kconfig解析
在对linux进行编译,常用的命令是make menuconfig,使用图形界面来对整个系统进行裁剪。当然,除了这条指令,还包括很多配置命令,比如make defconfig, make oldconfig等。这里主要就make menuconfig的执行过程进行解析。一.准备工作包括(交叉)编译环境的建立,linux源码的下载与解压等。二.初步介绍 跟make m...转载 2017-11-08 13:46:11 · 686 阅读 · 0 评论 -
KConfig、Makefile详解以及ARM平台Linux内核的编译
本文主要介绍Linxu2.6的内核配置系统。 如果你浏览一下源代码目录,就可以发现源码目录及其子目录中有很多的KConfig文件和Makefile文件。这些文件什么作用呢?正是这些文件组成了Linux2.6的内核配置系统。 一、make menuconfig的背后------KConfig文件的组织 有没有想过,我们make menuconfig后,显示的那个菜单列表...转载 2017-11-08 15:31:24 · 2138 阅读 · 0 评论 -
ubuntu 误删文件后找回
extundelete安装extundeletesudo apt-get install extundelete1查看误删文件所在分区df -h1通过该命令找到误删的文件原来所在目录的挂载分区, 比如分区为/dev/sda1在~/目录下执行下面代码,恢复上个步骤找到的分区中所删除的文件sudo extundelete /dev/sda1 --restore-all...转载 2018-11-23 10:22:48 · 2269 阅读 · 0 评论 -
Linux平台延时之sleep、usleep、nanosleep、select
1、sleep的精度是秒2、usleep的精度是微妙,不精确3、select的精度是微妙,精确struct timevaldelay;delay.tv_sec =0;delay.tv_usec =20 * 1000; // 20 msselect(0, NULL,NULL, NULL, &delay); 4、nanosleep的精度是纳秒,不精确 ...原创 2018-11-23 10:21:04 · 584 阅读 · 0 评论 -
【转】Linux内存管理(最透彻的一篇)
摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。前言内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容,无论市...转载 2018-10-18 16:50:54 · 281 阅读 · 0 评论 -
linux内存管理的 伙伴系统和slab机制
伙伴系统Linux内核中采用了一种同时适用于32位和64位系统的内存分页模型,对于32位系统来说,两级页表足够用了,而在x86_64系统中,用到了四级页表。四级页表分别为: 页全局目录(Page Global Directory)页上级目录(Page Upper Directory)页中间目录(Page Middle Directory)页表(Page Table)页全局目录包含若干页...转载 2018-10-18 14:56:47 · 557 阅读 · 0 评论 -
Linux 下几款程序内存泄漏检查工具
1.内存管理是否正确(因为这个程序本身开辟很多内存空间进行缓存管理,同时这个程序程序本身就是基于C/C++开发的,内存管理机制一直是程序员头痛的东西) 2.程序的健硕性如何(服务器任何程序的基本要求就是要满足高并发的要求,也就是说,如果达不到这个基本要求,程序并并不能成为服务器)针对第一点,以下将介绍几款内存泄漏检查工具工具 描述 valgrind 一个强大开源的程序检测工...转载 2018-08-21 09:24:18 · 4857 阅读 · 0 评论 -
内存泄漏的问题如何解决
1、valgrind,这是非常好用的工具,虽然参数很多,输出结果较多,但是只要认真看下,就很容易发现问题,报告是很详细的,不要被吓倒。valgrind检测的内存泄漏是非常准的,可以精确定位到代码行甚至是变量。valgrind基于valginrd core框架,这是个非常有强大的框架,他的作用不仅仅在于检测内存泄漏的,强烈建议测试新手通读下全部的文档。valgind自己也会有误报和漏报,所有具体场...转载 2018-08-16 09:36:55 · 1267 阅读 · 0 评论 -
内存溢出和内存泄漏的区别、产生原因以及解决方案
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导...转载 2018-08-13 09:27:56 · 264 阅读 · 0 评论 -
进程和线程的多种锁机制
本文将介绍linux系统下多线程编程中,线程同步的各种方法。包括:互斥量(mutex) 读写锁 条件变量 信号量 文件互斥在介绍不同的线程同步的方法之前,先简单的介绍一下进程和线程的概念, 它们的优缺点,线程相关的API,读者——写者问题和哲学家就餐问题。 基础知识 1. 进程和线程进程(process)是指在系统中正在运行的一个应用程序,是系统资源分配的基本单位,在内存...转载 2018-07-28 17:07:05 · 3855 阅读 · 0 评论 -
uboot sf 命令用法
uboot中如果支持spi/qspi flash, 那么可以使用sf的erase, read, write命令操作spi flashsf read用来读取flash数据到内存sf write写内存数据到flashsf erase 擦除指定位置,指定长度的flash内容, 在进行写flash的时候一定要先进行擦除,否则会失败,因为flash只能从1变为0。具体用法sf - ...原创 2019-03-15 11:50:20 · 11638 阅读 · 0 评论