![](https://img-blog.csdnimg.cn/a7b0f1a1eea94018a1128beaff35180a.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux
文章平均质量分 62
linux
654654654654654
12345
展开
-
shell
(1)首个字符必须为字母(a~z, A~Z),或者下划线 _(2)中间不能有空格,可以有下划线 _(3)不能使用其他标点符号也就是shell本身规定的变量 $@ :包含命令参数的个数 $?:包含当前一个命令的退出状态,正常退出返回0,反之为非0值 $* :包含所有命令行参数“ $1 , $2 .. .. " $$ :包括正在执行进程的ID号。原创 2022-09-29 19:07:48 · 450 阅读 · 0 评论 -
linux内核移植流程
11)在arch/arm/boot/dts/添加自己的设备树文件.dtsi,和dts;并且修改arch/arm/boot/dts/Makefile添加.ctb文件。9) 编译内核make -j4 ARCH=arm uImage vmlinux LOADADDR=0xC2000040。6)将当前的.config 拷贝到/arch/arm/configs/ 并且自定义一个配置名。4)进入通过make ARCH设置默认配置,根据开发板设置。3)进入解压好的内核源码目录;原创 2022-09-23 18:51:26 · 513 阅读 · 0 评论 -
Linux的Makfile基础编译规则
一.下面是最简单的Makefile编译规则#下面一句是说可执行文件main生成依赖于 one.c 和two.cmain : one.c two.cgcc -o main one.o two.o #这句是通过one.o和two.o生成可执行文件main的命令#下面一句是说one.o生成依赖于one.cone.o : one.cgcc -c one.c #这句是通过one.c生成可one.o文件的命令#下面一句是说one.o生成依赖于two.ctwo.o : two.cgcc -c two.原创 2021-10-02 00:08:46 · 315 阅读 · 0 评论 -
#pragma的作用
1.#pragma once可以减少生成次数,和使用预处理宏定义来避免多次包含头文件的内容效果是一样的,但是需要键入的代码少例子:#pragma once#ifndef He_H_#defien HEADER_H_#endif2.#pragma message("messageString ")例子:在不中断编译的情况下,发送一个字符串文字量到标准输出if _M_IX86 >=500#pragma message("M_IX86")#endif3.#pragma warni原创 2021-10-19 14:05:35 · 296 阅读 · 0 评论 -
Linux下对TF卡进行分区
第一步查看TF卡的分区:ls /dev/sd*第二步删除原有分区:sudo pated -s /dev/sdb mklabel msdos (这里的sdb是我插上去得TF卡)如果第二执行提示设备正在被使用则需要卸载设备 umount /dev/sdb1 (这里得sdb1是它之前分的区)再执行sudo parted /dev/sdb mklabel msdos第三步对TF卡重新分区:sudo sgdisk --resize-table=128 -a 1 -n 1:34:545 -c 1:fsb原创 2022-02-25 15:52:23 · 2210 阅读 · 0 评论 -
make menuconfig无法进入图形界面配置
*** Unable to find the ncurses libraries or the*** required header files.*** ‘make menuconfig’ requires the ncurses libraries.*** Install ncurses (ncurses-devel or libncurses-dev*** depending on your distribution) and try again.scripts/kconfig/Makef原创 2022-03-05 20:06:26 · 1102 阅读 · 0 评论 -
Makefile基础知识点及其简单运用
#Makefile的编译规则(1)在Makefile 中#的相当于注释(2)Makefile中的完整语句的格式(简写隐式转换)targets : prerequisites commandargets:规则的目标,可以是 Object File(一般称它为中间文件),也可以是可执行文件,还可以是一个标签;prerequisites:是我们的依赖文件,要生成 targets 需要的文件或者是目标。可以是多个,也可以是没有;command:make 需要执行的命令(任意的 shell 命令)原创 2022-02-19 16:15:24 · 1205 阅读 · 0 评论 -
Linux环境变量的配置问题,及其source的用法
注意:这里的路径都是写的绝对路径添加环境变量方法1:export PATH=$PATH:filename这里的filename 指的是 /home/peng/test添加对应的环境变量后就不需要在执行可执行文件的时候添加路径(可执行文包括但是不限于后缀为.sh的文件)使用./hpxt执行文件./表示的是当前路径方法二(对所有用户有效):vi /etc/profile用vi打开/etc/profile后在最末尾添加export PATH=$PATH:filename(绝对路径)如果修原创 2022-02-24 16:50:02 · 3225 阅读 · 0 评论 -
Linux设备树详解
基本数据类型:1)text string(以null结束),以双引号括起来,如:string-property=“a string”;2)cells是无符号32位无符号整型数,以括号括起来,如cell-proerty=;3)binary data 以方括号括起来,如:binary-property = [0x01 0x23 0x45 0x67];原创 2022-08-20 12:39:43 · 1904 阅读 · 0 评论 -
Linux应用层开发(四)进程基础编程
另外当第三个参数为0的时候也是阻塞的,pid=0,pid=-1等等方式就不全部列举了,wait()就不写例子了,关于进程组ID在守护进程那里会提到。从上面的打印结果不难看出,父进程和子进程的堆区,栈区,是独立的,进一步验证了之前的理论,数据段和代码段就不去验证了。1)进程组进程组是一个或多个进程的集合。每个进程组都有一个组长进程,组长进程的ID等于进程组ID,且进程组ID不会因进程组长进程退出而受到影响。守护进程通常在后台运行,一般生存周期比较长,通常独立于终端,很多系统服务都是守护进程。...原创 2022-07-21 21:48:12 · 394 阅读 · 0 评论 -
Linux应用层开发(三)进程与线程简述
内核所有程序放在双向循环链表种,链表的每一项都是task_struct,称为进程控制块的结构,该结构包含了一个进程相关的所有信息,在文件中定义,task_struct内核结构比较大,它能完整地描述一个进程,如进程的状态,进程的基本信息,进程的标识符,内存相关信息,父进程相关信息,与进程相关的终端信息,当前工作目录,打开的文件信息,所接受的信号和信号信息。内核空间由直接对应的页表,用户进程各自由不同的页表,每个进程的用户空间都是完全独立,互不相干的。...............原创 2022-07-20 10:30:18 · 448 阅读 · 0 评论 -
Linux应用层开发(二)文件I/O
标准I/O实际上是在文件I/O的基础上封装了缓冲机制,标准I/O不是系统调用。标准I/O的好处减少了系统开销,先访问缓冲区,必要的时再访问实际文件标准I/O的坏处不能实时操作文件,大部分情况都在操作缓冲区,只能访问普通文件,设备文件,管道文件等不能访问。文件I/O是系统调用文件I/O的好处可以实际实时操作文件文件I/O的坏处加大了系统了开销支持POSIX规范的,都支持文件I/O操作linux系统成功的关键因素就是与其他操作系统和谐共存的能力,Linux文件系统由两层构成。...原创 2022-07-18 21:32:31 · 312 阅读 · 0 评论 -
Linux应用层开发(一)标准I/O
只要操作系统中安装了C库就可以调用标准I/O的函数标准I/O可以减少系统调用的次数,在执行系统调用的时候系统必须从用户态切换到内核态,处理相应请求再返回用户态,频繁切换会增加系统的开销,标准I/O使用时再用户空间创建了一个缓存区,读写时,先操作缓冲区,在合适的时机再通过系统调用访问实际的文件,从而减少了使用系统调用的此时。。...原创 2022-07-17 15:15:53 · 477 阅读 · 0 评论