Linux_shell
NO_007
嵌入式系统。
展开
-
ubuntu18.04.1 解锁后花屏 基于 i7 10700(630核显)
版本:ubuntu18.04.1平台:i7 10700(630核显)现象:屏幕解锁后花屏(横纹闪现)。复现:开机屏幕正常显示 => win+L锁定桌面 => 输入密码解锁 =>花屏解决:sudo vi /etc/default/grub将"quiet splash"改为"quiet splash = nomodeset")sudo update-grubsudo reboot原因:参考下图...原创 2021-03-05 16:41:29 · 578 阅读 · 0 评论 -
ubuntu 12.04 下安装tfpt和nfs服务器
一:TFTP服务器1.安装TFTP软件tftp-hpa是客户端,tftpd-hpa是服务器端sudo apt-get install tftp-hpa tftpd-hpa2.配置TFTP服务器sudo gedit /etc/default/tftpd-hpa将原来的内容改为:# /etc/default/tftpd-hpaTFTP_U原创 2014-06-04 00:02:32 · 633 阅读 · 0 评论 -
samba终于正常使用。
配置samba源于写TCP的socket的多进程通信。配置samba过程中原创 2014-06-04 00:00:41 · 863 阅读 · 0 评论 -
socket中的read()
read()函数,如何知道读取的数据已经结束,从而close(fd)1,原创 2014-06-05 23:00:42 · 1924 阅读 · 0 评论 -
fopen与open的区别
fopen与open的区别可以参考 >4.6,比较详细的讲解了fopen,open,文件描述符,文件指针,以及在父进程与子进程的不同.摘自chinaunix ,open和fopen的区别:前者属于低级IO,后者是高级IO。前者返回一个文件描述符(用户程序区的),后者返回一个文件指针。前者无缓冲,后者有缓冲。前者与 read, write 等配合使用, 后者与 fre转载 2014-06-23 14:41:08 · 720 阅读 · 0 评论 -
linux下多进程/多线程编程总结
1.fork()实现创建一个子进程,pthread_create()实现创建一个线程.2.vfork()也创建一个子进程,但父进程将挂起,直到子进程调用exec()/exit()的函数3.sem_init(),sem_wait(),sem_post()函数暂时无法用在多进程中,只支持多线程操作4.其他IPC可以用在多进程和多线程中原创 2014-05-22 23:29:25 · 793 阅读 · 0 评论 -
多进程与多线程(六)--LinuxThreads
Linux内核对多进程和多线程的支持方式: 线程机制支持并发程序设计技术,在多处理器上能真正保证并行处理。而在linux实现线程很特别,linux把所有的线程都当作进程实现。linux下线 程看起来就像普通进程(只是该进程和其他进程共享资源,如地址空间)。上述机制与Microsoft windows或是Sun Solaris实现差异很大。 Linux的线转载 2014-05-22 23:41:54 · 634 阅读 · 0 评论 -
Ubuntu安装autotools系列工具
安装方法: $ sudo apt-get install autoconf原创 2014-06-26 22:26:38 · 869 阅读 · 0 评论 -
图解autotools 以及 步骤,分析。
1.autoscan (autoconf): 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。2.aclocal (automake):根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将configure.ac文件所需要的宏集中定义到文件 aclocal.m4中。aclocal是一个pe原创 2014-06-26 22:32:13 · 531 阅读 · 0 评论 -
linux下autoscan, aclocal, autoconf, automake以及Makefile.am, Configure.in等文件和工具的使用
本文章简单介绍了linux下autoscan, aclocal, autoconf, automake以及Makefile.am, Configure.in等文件和工具的使用。autoscan # 根据路径下生成configure.scan 和 autoscan.logaclocal # 产生 aclocal.m4autoconf # 根据 configure.转载 2014-06-26 23:30:08 · 714 阅读 · 0 评论 -
一个linux下的多进程示例 以及 waitpid()
#include #include #include #include #include #include #include #include int main(int argc, char **argv){int cpu_count,tmp,pid;int *childPids;cpu_count=get_nprocs();//取得cpu数chil转载 2014-05-27 00:03:49 · 561 阅读 · 0 评论 -
多进程编程实例
/* * 多进程编程——进程间通信——内存映射——快速排序 * 待排序数的个数大于某一值,则创建子进程进行排序,子进程排序完,通过管道把结果返回给父进程。 * 待排序数的个数小于某一值,自己排序 * Lzy 2011-6-17 */ #include #include #include #include #include #define DAT转载 2014-05-27 00:02:47 · 567 阅读 · 0 评论 -
多个源文件进行编译,即 makefile 的编写
makefile的好处是防止源文件的重复编译比如有好多个源文件,某天对其中一个源文件进行修改,如果不写makefile的话,需要将整个工程的所有文件重新编译一遍,非常麻烦,有了makefile,说明了每个源文件的依附关系,当某个源文件改变的时候只需重新编译一下关联的源文件就好。例如:有以下文件one.hone.ctwo.htwo.cmain.转载 2014-06-10 21:53:03 · 1363 阅读 · 0 评论 -
linux多进程多线程
我觉得多线程已经很全能了,而且线程间通信啊、同步啊都比较简单各位有用多进程的吗?哪些地方用多进程比较好呢进程间互相隔离,更安全原创 2014-05-31 12:07:09 · 915 阅读 · 0 评论 -
VMware中三种网络连接的区别
VMware中三种网络连接的区别1、概述2、bridged(桥接模式)3、NAT(网络地址转换模式)4、host-only(主机模式)5、replicate physical network connection state 选项解释1、概述 大家在安装完虚拟机后,默认安装了两个虚拟网卡,VMnet1和VMnet8,如下图。其中VMnet1是hos转载 2014-06-03 00:18:36 · 666 阅读 · 0 评论 -
Linux下Fork与Exec使用
引自:http://www.cnblogs.com/hicjiajia/archive/2011/01/20/1940154.html一、引言 对于没有接触过Unix/Linux操作系统的人来说,fork是最难理解的概念之一:它执行一次却返回两个值。fork函数是Unix系统最杰出的成就之一,它是七十年代UNIX早期的开发者经过长期在理论和实践上的艰苦探索后取得的成果,一方面转载 2015-03-30 17:14:29 · 466 阅读 · 0 评论 -
VIM
http://wiki.ubuntu.org.cn/Vim%E7%94%A8%E6%88%B7%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97http://tieba.baidu.com/p/2065709337转载 2015-07-21 19:02:17 · 546 阅读 · 0 评论 -
OOB--linux-2.6.22下文件系统的移植
NAND Flash中的OOB区NAND Flash由NAND Flash控制器和NAND Flash芯片(例如K 9F1208U0A)两大部分组成。当要访问NAND Flash芯片中的数据时,必须通过NAND Flash控制器发送命令才能完成。所以, NAND Flash相当于MCU的一个外设,并不位于MCU的内存地址区。一片NAND Flash就是一个设备(device), 其数据存储转载 2014-05-14 22:20:33 · 687 阅读 · 0 评论 -
ubuntu升级到11.04后,安装软件提示samba4错误的解决办法!
声明:ubuntu升级后很多人报错的这个问题,我解决掉,很可能是偶然!如果真的可行的话,还请通知我!!!THX 前几天ubuntu跟新到11.04,哈哈~我们公司我是第一人!!当时第一次更新的时候提示更新源有问题,导致无法更新,后来把更新源替换成主服务器就比较顺利了,不过在最后阶段竟然报Samba4错误,我这个郁闷!不过没有管他。最后升级成功……不过这个升级让我很失望,ubuntu原创 2014-06-02 00:21:44 · 2122 阅读 · 0 评论 -
mkyaffs2image的用法
在制作文件系统时,涉及到在Ubuntu中第一次使用mkyaffs2image命令时,会提示mkyaffs2image:找不到命令还需要安装mkyaffs2imagehttp://code.google.com/p/fatplus/downloads/detail?name=yaffs2-source.tar&can=2&q=下载yaffs2-转载 2014-05-13 19:52:57 · 1126 阅读 · 0 评论 -
NAND Flash 读写操作
Fisrt part :NAND flash和NOR flash的不同NOR flash采用位读写,因为它具有sram的接口,有足够的引脚来寻址,可以很容易的存取其内部的每一个字节。NAND flash使用复杂的I/O口来穿行地存取数据。8个引脚用来传送控制、地址和数据信息。NAND的读和写单位为512Byte的页,擦写单位为32页的块。● NOR的读速度比NAND稍快一些。转载 2014-05-14 23:04:57 · 1343 阅读 · 0 评论 -
NAND FLASH 读写操作 简介
NAND FLASH 内存详解与读写寻址方式 一、内存详解NAND闪存阵列分为一系列128kB的区块(block),这些区块是 NAND器件中最小的可擦除实体。擦除一个区块就是把所有的位(bit)设置为"1"(而所有字节(byte)设置为FFh)。有必要通过编程,将已擦除 的位从"1"变为"0"。最小的编程实体是字节(byte)。一些NOR闪存能同时执行读写操作(见下图1)。虽然转载 2014-05-14 23:02:18 · 6000 阅读 · 0 评论 -
Yaffs 文件系统分析
Yaffs 文件系统分析1 Yaffs文件系统结构1.1 简介1.1.1 应用场合 (Yet Another Flash File System)是专门针对NAND闪存设计的嵌入式文件系统,目前有YAFFS和YAFFS2两个版本,两个版本的主要区别之一在于YAFFS2能够更好的支持大容量的NAND FLASH芯片。Yaffs 文件系统有些类似于JFFS/JFFS2文件转载 2014-05-14 22:39:55 · 575 阅读 · 0 评论 -
S3C6410使用---21yaffs2的ECC
http://blog.chinaunix.net/uid-26009923-id-3787768.html一. ECC校验ECC: error Checking and correct,既能检查错误也能纠正错误.优点是: 速度奇快缺点是: 只能检查2bit的错误,只能纠正1bit的错误如果想验证这儿需要打开param.no_tags_ecc=0,默认param.no_ta转载 2014-05-15 22:20:14 · 711 阅读 · 0 评论 -
程序员思维
起因首先简单说一下,为什么我会想到这个话题。主要有这么几方面的原因。当我试图回过头去总结大学在计算机专业所学习的一些理论和知识的时候。发现,在学校里面学习的一些东西,走了两个极端。 一个极端是偏向了细节。比如我们学习的那些《***程序设计》的课程。看这几门课的名称的我们能够很明显的看出,***是一个形容词定语,用来修饰主题“程序设计”。但是,你却非常意外的意识到《C++面向对象程序设计》和转载 2014-05-15 14:23:30 · 1608 阅读 · 0 评论 -
/root/.bashrc与/etc/profile的异同
要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell。交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。 shell也可以运行在另转载 2014-05-11 00:17:19 · 409 阅读 · 0 评论 -
Linux下的环境变量原理与shell
概述:在linux下工作,经常会出现这样的情况:1)运行某个命令,出现提示-bash:【commandname】:command not found2)执行某个ELF可执行文件:xyz@hnode02:~/Downloads/software/bean/workdir>./bean.exe./bean.exe:error while loading sh转载 2014-05-11 20:12:24 · 684 阅读 · 0 评论 -
Makefile与shell脚本区别
现在读Makefile,感觉和shell有很多类似,但俩者目前并不太了解。读下面一篇文章得以解惑:转载 2014-05-11 23:10:35 · 469 阅读 · 0 评论 -
make config解惑
一直对Linux内核编译的配置问题的理解模棱两可的,网上的说法也众说纷纭,尤其是配置工具的使用问题,大家的理解完全就不一致。找了几个比较官方的网站,总结了一下比较权威的解释。Linux内核的配置系统由三个部分组成,分别是:1. Makefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则;2. 配置文件(config.in):给用户提供配转载 2014-05-11 23:13:03 · 1272 阅读 · 0 评论 -
Linux的环境变量PATH中所带来的问题(环境变量“.”)
本文主要讲述“.”在LINUX的环境变量PATH中所带来的问题,及解决的几种方法。 正如很多人所知道的$PATH环境变量里存着一张目录列表,当用户要执行某一程序时,系统就会按照列表中的内容去查找该程序的位置。当程序名前不带点斜线 . / 时$PATH就会起作用。 对于普通用户和root用户$PATH里默认是不包含"."来指定用户的当前目录。这在本机进行脚本开发的程序员来转载 2014-05-11 21:52:30 · 2122 阅读 · 1 评论 -
uboot基础 配置编译uboot
注意uboot的体系结构目录树:其中能够找到支持的开发板和cpu等信息。 uboot1.1.6/board/samsung/smdk6410 uboot1.1.6/cpu步骤: 1、tar xzf uboot1.1.6-2012-09-25.tar.gz 2、make clean 3、ma转载 2014-05-11 23:08:35 · 586 阅读 · 0 评论 -
关于uboot的makefile 和 make zImage
一般学习的话不用改,设置arch和toolchain路径就行了如果要添加删除文件,改相应目录下的makefile说实话,你能把makefile看懂就够你一呛,看懂了再来改原创 2014-05-12 22:33:45 · 525 阅读 · 0 评论 -
linux_2.6.30.4_Makefile_4--make zImage流程
http://blog.chinaunix.net/uid-26009923-id-3194580.html 分析一下make zImage的流程,具体的操作是:首先将linux-2.6.30.4/config_EmbedSky_W35_256MB改名为.config,然后make zImage.看一下make zImage之后发生了什么事情。点击(此处)折叠或打开转载 2014-05-12 22:37:12 · 735 阅读 · 0 评论 -
Linux内核与根文件系统的关系
Linux内核与根文件系统的关系开篇题外话:对于Linux初学者来说,这是一个很纠结的问题,但这也是一个很关键的问题!一语破天机: “尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具。这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件。”一.什么是文件系统文件系统指文件存在的物理空间,linu转载 2014-05-19 23:01:08 · 1767 阅读 · 0 评论 -
mkyaffs2image工具解析
终于可以成功制作页大小为2K + 64 Bytes 的nand flash的image 文件了。令人兴奋啊 :)这两天一直苦于自己制作的yaffs2 image文件系统无法被linux-2.6.29.1内核识别,而使用FriendlyARM的mkyaffs2imag-128M工具就没有这个问题。一开始便判断是mkyaffs2image工具有问题,没有生成正确格式的yaffs2 image文转载 2014-05-13 23:14:16 · 1346 阅读 · 0 评论 -
加载内核映像和根文件系统映像
加载内核映像和根文件系统映像(1) 规划内存占用的布局这里包括两个方面:(1)内核映像所占用的内存范围;(2)根文件系统所占用的内存范围。在规划内存占用的布局时,主要考虑基地址和映像的大小两个方面。对于内核映像,一般将其拷贝到从(MEM_START+0x8000) 这个基地址开始的大约1MB大小的内存范围内(嵌入式Linux 的内核一般都不操过 1MB)。为什么要把从 ME转载 2014-05-19 22:58:42 · 1262 阅读 · 0 评论 -
nand flash 的oob 及坏块管理
0.NAND的操作管理方式 NAND FLASH的管理方式:以三星FLASH为例,一片Nand flash为一个设备(device),1 (Device) = xxxx (Blocks),1 (Block) = xxxx (Pages),1(Page) =528 (Bytes) = 数据块大小(512Bytes) + OOB 块大小(16Bytes,除OOB第六字节外,通常至少把O转载 2014-05-14 22:51:55 · 862 阅读 · 0 评论