
Linux相关知识
文章平均质量分 55
记录遇到的Linux知识
业余程序员plus
分享知识,传播开源精神,致敬郝斌老师!
展开
-
Linux内核错误码和错误指针
1.IS_ERR_VALUELinux内核中,最大错误码的值为MAX_ERRNO,错误码为负数,负数以补码的形式存储。Arm32位系统错误码的补码范围为0xFFFFF000 - 0xFFFFFFFF。Arm64系统错误码的补码范围为0xFFFFFFFFFFFFF000- 0xFFFFFFFFFFFFFFFF。Arm32位系统Linux内核的虚拟地址范围:0xC0000000 - 0xFFFFFFFF,最后一页(页大小为4KB)为预留地址,即0xFFFFF000 - 0xFFFFFFFF地址范围为预留地址原创 2021-11-13 19:24:56 · 3008 阅读 · 0 评论 -
Linux平台使用原始Socket发送ARP报文
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <errno.h>#include <sys/types.h>#include <sys/socket.h>#include <sys/ioctl.h>#include <net/if.h>#include <原创 2021-04-12 23:51:37 · 994 阅读 · 0 评论 -
Linux 解压缩命令
tar -zcvf 压缩名.tar.gz 文件/目录tar -zxvf 压缩名.tar.gztar -jcvf 压缩名.tar.bz2 文件/目录tar -jxvf 压缩名.tar.bz2zip -r 压缩包名.zip 目录/文件名unzip 压缩包名.zip原创 2021-04-10 10:39:26 · 100 阅读 · 0 评论 -
Linux内存uncache区域拷贝优化
1.概述内存非cache区域拷贝速度很慢,严重影响了系统性能,因此采用多种方法进行优化,主要有对齐拷贝、批量拷贝、减少循环次数、NEON拷贝方法。2.高级SIMD和浮点寄存器介绍2.NEON指令2.1 VLDRVLDR指令可从内存中将数据加载到扩展寄存器中。VLDR{<c>}{<q>}{.64} <Dd>, [<Rn> {, #+/-<imm>}] Encoding T1/A1, immediate formVLDR{<c原创 2021-03-20 11:14:54 · 2527 阅读 · 0 评论 -
uboot和Linux启动流程分析
imx6ull给uboot头部加的3KB信息地址信息,如镜像程序的入口地址启动数据,包含镜像要拷贝到那个地址,拷贝大小设备信息,如DDR初始化参数用户可执行代码uboot启动流程分析将CPU切换为SVC模式,关闭IRQ、FIQ,关闭MMU设置异常向量表的起始地址关闭MMU,关闭数据CACHE,指令CACHE根据配置选择性关闭初始化内存,将uboot拷贝到内存中,清空BSS段(有的芯片uboot分为两个阶段,第一阶段由上电时cpu自动拷贝4k数据,第二阶段由再将uboot拷贝到内存中,原创 2021-03-20 10:59:53 · 487 阅读 · 0 评论 -
Linux下objdump使用方法
linux下objdump命令常见用法举例:objdump -x obj:以某种分类信息的形式把目标文件的数据组成输出;<可查到该文件的的所有动态库>objdump -t obj:输出目标文件的符号表()objdump -h obj:输出目标文件的所有段概括()objdump -j ./text/.data -S obj:输出指定段的信息(反汇编源代码)objdum...转载 2018-04-30 20:46:46 · 475 阅读 · 0 评论 -
Linux中的Makefile介绍
1.Makefile介绍 在Linux中使用make命令来编译程序,特别是大程序;而make命令所执行的动作依赖于Makefile文件。最简单的Makefile文件如下:hello:hello.c gcc -o hello hello.c //以Tab键缩进clean: rm -f hello //以Tab键缩进当一个文件夹中有hello.c、Ma...原创 2018-05-01 16:38:14 · 429 阅读 · 0 评论