嵌入式开发完整体系课程(含项目) 扫二维码继续学习 二维码时效为半小时

(171评价)
价格: 598.00元

vim中按shift+k,会跳转到一个同名的变量或函数的man手册中。

创建有名管道的函数接口是mkfifo("file_name",mode);

创建完毕后使用open函数打开就可使用。

判断是否已经创建有有名管道文件的函数是access(const char *pathname, int mode);

[展开全文]
王布斯 · 06-10 · 0

exec函数簇的功能是父进程中调用,当需要子进程执行的代码量很大时,父进程中并不执行这些代码,但需要包含这些以复制给子进程,造成空间浪费,这时可以调用exec函数,参数中传入想要执行的程序或者路径,子进程就会照着这个路径去找执行程序,父进程中就不需要写太多多余的代码,导致空间浪费。

execl函数中的参数,第一个是可执行程序的路径,第二个是参数,执行程序本身就是参数,所以需要再写一遍,最后要写上NULL。函数传参的基本方式就是,argv[0] argv[1](如果有的话) NULL。

execv函数中的参数,是提前将传参的参数封装到一个数组中,将数组名传递给execv函数。

execlp函数可以执行shell命令,p是环境变量path的意思。

[展开全文]
王布斯 · 06-10 · 0

可执行程序运行时,输入命令./test程序会运行在前台进程组,输入命令./test &时,程序会运行在后台进程组,即后台运行,程序后台运行时,shell终端发出的命令比如ctrl+c是影响不了test进程运行的,但是计算机断电或者关闭终端,这种后台进程是可以被杀掉的

ps -ef命令可以查看当前的进程执行情况

使用精灵进程(守护进程)的目的是为了一个进程,需要他持续不断的运行,尽管终端关闭,他也能在后台运行,满足工作需求

[展开全文]
王布斯 · 06-10 · 0

1.进程僵尸是指进程退出后,他占用的资源并没有被立即释放掉。之所以不立即释放资源是因为子进程需要发送信号给他的父进程报告他是怎么死的,以及他的任务完成的情况,他占用的资源等信息保留在task_struct结构体中。子进程只有死亡状态时他占用的资源才会被回收释放掉。没有释放之前叫僵尸态。

2.父进程在子进程进入僵尸态后调用wait/waitpid函数来对子进程收尸,执行的操作有:读取里面的数据获得子进程任务执行的状况;获得子进程的退出状态;同步父子进程

[展开全文]
王布斯 · 06-10 · 0

1./var/cache/apt/archives这个路径下是用来存放ubuntu系统中下载的安装包的

[展开全文]
王布斯 · 2019-05-25 · 0

在shell命令里面,返回值为0时表示语句执行成功,返回非0值表示语句执行不成功

 

测试某文件或某字符串等是否存在:test -e

 

if语句

elif语句

case语句

do while语句

until语句

for循环语句

[展开全文]
可爱的反派角色 · 2019-04-30 · 0

竖杠 |:管道:将前一个命令的输出当做后一个命令的输入

管道可以无限使用,且可以带参数使用

 

重定向描述符:

0号描述符使用<,

1,2号描述符使用:>,

>>,

[展开全文]
可爱的反派角色 · 2019-04-30 · 0

shell:命令解释器

strace:追踪命令调用接口

 

shell脚本:shell命令+控制流

C语言:

脚本语言:

[展开全文]
可爱的反派角色 · 2019-04-30 · 0

正则表达式:从很多信息中找到自己需要的信息

1.元字符

*:匹配一个除换行以外的任意符号

. :

$:匹配行尾

^:匹配行首

2.字符范围

3.重复:使前面的字符重复几次或者多次

?:使前面的字符重复一次

*:使前面的字符重复0次或多次

+:使前面的字符重复1次或多次

[n]:使前面的字符重复n次

[n,]:使前面的字符重复n次或以上

[n,m]:使前面的字符重复n到m次

4.贪婪与懒惰

[展开全文]
可爱的反派角色 · 2019-04-28 · 0

ARM体系结构:

ARM状态:执行32位ARM指令

THUMB指令:执行16位THUMB指令

ARM的处理器模式:

1.用户

2.系统模式

3.外部中断模式

4.快中断模式

5.管理模式

6.中止模式

7.未定义模式

 

ARM  V4版本以上的共有37个32位寄存器,有31个通用寄存器,6个状态寄存器。

R0-R7: 通用寄存器(适用所有模式),注:切换模式时小心该寄存器里的数据被覆盖,需做保护现场的处理

R8-R12:未分组的通用寄存器,快中断模式下有单独的一组

R13:通常用作堆栈指针(SP),存储函数变量

R14:链接寄存器(LR)

R15:程序计数器(PC)

CPSR/SPSR:状态寄存器

 

[展开全文]
可爱的反派角色 · 2019-04-26 · 0

流水线技术:

第一条指令:取指  译码   执行

第二条指令:         取指   译码   执行

第三条指令:                   取指   译码   执行

 

RISC:精简指令集,也指采用该指令集的处理器

[展开全文]
可爱的反派角色 · 2019-04-26 · 0

二叉树:一个节点最多只有一个前节点,两个后继节点

[展开全文]
可爱的反派角色 · 2019-01-30 · 0

初始化或者新建一个节点的时候都需要申请一块内存再操作

出队列后需要清空

[展开全文]
可爱的反派角色 · 2019-01-25 · 0

所有有代码文件以及顶层目录都需要编写Makefile.am文件

还需要一个configure.ac文件(命令autoscan创建,修改成需要的文件并存为后缀为.ac的文件)

[展开全文]
可爱的反派角色 · 2019-01-22 · 0

gcc调试步骤

1.肉眼查看(语法错误)

2.打印调试语句,顺便定位发生错误的地方

3.判断错误的类型(看看是否段错误,非法内存访问,segmentation fault)

       3.1 如果是段错误,打开core文件,让系统保存程序发生错误时的内存状态,然后使用gdb进行单步调试

       3.2 如果不是段错误,或者调试器无法通过core文件直接定位出错点,只能求助于gdb

[展开全文]
可爱的反派角色 · 2019-01-22 · 0
  1. 特殊关键字

const   定义只读变量(指针)

volatile  易变,防止优化

restrict  促使优化,只能修饰指针,只有一种途径进行访问(指向堆内存)

likely     不倾向于

unlikely  判断条件成立的可能性,以此决定程序是否跳转还是直接执行

    2.attribute机制

 

[展开全文]
可爱的反派角色 · 2019-01-22 · 0

编写软件:

1.vi编辑器

 2.secureCRT / minicom:串口软件,与开发板进行连接

3.通过网络服务NFS与开发板传输文件///无法网络连接时用串口传输

4.软件source insight,查看编辑大型工程文件

5.裸机编程软件:keil

[展开全文]
可爱的反派角色 · 2019-01-21 · 0