![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
文章平均质量分 88
Asita_c
属实被自己菜哭了
展开
-
嵌入式操作系统——Bootloader概述
Bootloader是硬件启动的引导程序,是启动操作系统的根本;是在操作系统内核或用户程序运行之前的一段小程序;通过这段程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用准备好环境;在一般典型的系统中, 整个系统的加载启动任务就完全由Bootloader来完成。U-boot (Universal Boot Loader) 是德国DENX小组开发的用于多种嵌入式CPU的Bootloader程序。遵循GPL条款。原创 2023-08-29 11:09:38 · 4044 阅读 · 0 评论 -
Linux环境编程——进程(一)
命令:ps -ef 与ps aux的区别是显示的信息要少一点,不显示状态了,但是可以看到父子进程关系。进程复制:堆空间,栈空间、代码、全局变量都复制了,但两个进程共用内核。查看当前进程运行状态,类似Windows的任务管理器。1号进程是所有进程的祖先进程(init 进程)命令:ps aux 查看所有进程信息。df命令用于显示磁盘空间的使用情况。核心函数是execl();int 0x80是中断。SATA表示进程的状态。原创 2023-08-28 19:04:34 · 129 阅读 · 0 评论 -
嵌入式面试知识点——海康2020年笔试
单链表节点的插入:单链表节点的插入操作是在指定位置插入一个新的节点,使得新节点成为该位置的元素,原来的元素及其后续元素后移一位。堆分配的内存容易产生内存碎片,因为堆是不连续的内存区域,当频繁地申请和释放不同小的内存时,就会导致空闲内存分散成许多小块,无法满足大块内存的需求。序列号和确认应答:TCP为每个字节的数据都分配一个序列号,发送端在发送数据后,会等待接收端的确认应答(ACK)报文,其中包含下一个期望接收的序列号。这样的函数可以实现文件内部的功能封装,也可以避免不同文件之间的函数名的命名冲突。原创 2023-08-22 00:07:07 · 427 阅读 · 1 评论 -
Linux环境编程——标准IO(二)
在工作中如果存在日志读取一定用标准IO,因为文件IO没法只读一行ps:读文件用标准IO,读设备用文件IO,因为蓝牙等设置是实时的,不可能等缓冲区满了再输出,而且标准IO对某些设备可能不支持,而文件IO是底层的,更灵活。原创 2023-08-08 11:08:41 · 59 阅读 · 0 评论 -
Linux环境编程——标准IO(一)
这是由于缓存的原因,printf不是直接系统调用函数,它在直接写的时候并没有写给系统调用write()函数(底层函数只有wirte才能写),而是写入一个缓存区,当缓存区达到一定条件后才会触发系统调用write()函数,才会在屏幕上显示。标准IO是在不同系统调用之前加入一个缓存,让所有操作不是直接访问,而是现在缓存中存一存,等确实有必要的时候才进行系统调用,这样避免了频繁进行系统调用,提高了IO效率。总结:“>” 为标准输出重定向,"2>“为标准错误重定向,”&>"同时标准输出和错误重定向。原创 2023-08-04 11:53:34 · 88 阅读 · 0 评论 -
Linux环境编程——文件IO(二)
strlen函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个’\0’,如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到’\0’停止。而如果不在字符数组初始化的时候加上\0,那么strlen 得到的值就不是正确的数值,打印出来的结果也不是想要的结果。而sizeof 测量的是字符的分配大小,如果未分配大小,则遇到’\0’ 结束(包含’\0’ ,也就是strlen测量的长度加1),如果已经分配内存大小,返回的就是分配的内存大小。但是如何让程序运行2次呢?原创 2023-07-30 10:58:30 · 78 阅读 · 0 评论 -
Linux环境编辑——文件IO(一)
rw——- (即110 000 000,二进制对应10进制就为:6 0 0) 只有所有者才有读和写的权限,因此,代码为600。-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限。但是这样看着是挤在一起的,x后面不跟是默认是4个一起,因此x后面加一个1,一个字符一个字符的来看。-rwx–x–x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限。-rw-r–r– (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限。原创 2023-07-28 11:30:18 · 80 阅读 · 0 评论 -
Linux环境编程——环境搭建(clion配置服务器)
下载时注意操作系统位数,64 位选择 x86_64 前缀,32 位选择 i686 前缀.下载 posix 版本⾜够,后缀随意。⽐如:x86_64-7.3.0-release-posix-sjlj-rt_v5-rev0.7z 是提供的离线安装。创建完成后,显示上传到Linux,但是这个目录是一个temp,因此需要在linux中创建一个目录apue。打开操作系统终端软件,⼀般为 cmd 命令⾏,敲⼊ gcc -v,检查设置是否。包,解压到⼀个⾮中⽂⽬录下,推荐在⾮ C 盘以外建⽴⼀个独⽴⽬录。原创 2023-07-26 15:25:48 · 1053 阅读 · 0 评论 -
Linux环境编程——框架
整数0:STDIN_FIENO整数1:STDOUT_FIENO整数2:STDERR_FIENOeg:但是对于系统调用,有时候不知道某些函数的用法及属于哪些头文件如何获取帮助信息工具:man手册特点:总共有7本帮助手册每本的作用域不同1:常用命令 2:系统调用 3:通用函数查找命令:man+数字+函数名如果是值man+函数名,如:man writeman 后面的命令的数字是1-7,常用的是前3本,前面有提到3个数字的意思。向一个对象写一段数据。原创 2023-07-26 10:16:34 · 116 阅读 · 0 评论 -
嵌入式经典总线协议
IIC总线是一种多主机总线,连接在IIC总线上的器件分为主机和从机,主机有权发起和结束一次通信,而从机只能被主机呼叫;主机在发送起始信号后必须先发送一个字节的数据,该数据的高7位为从机地址,最低位表示后续字节的传送方向,‘0’表示主机发送数据,‘1’表示主机接收数据;IIC总线在进行数据传送时,时钟线SCL为低电平期间发送器向数据线上发送一位数据,在此期间数据线上的信号允许发生变化,时钟线SCL为高电平期间接收器从数据线上读取一位数据,在此期间数据线上的信号不允许发生变化,必须保持稳定。原创 2023-07-11 21:06:25 · 251 阅读 · 0 评论