- 博客(12)
- 收藏
- 关注
原创 Linux 基础概念
文章目录POSIX动态库和静态库ioctlMCU架构RISC与CISCx86、ARM、MIPS架构U-bootBootloader 两种模式主机和板子的传输方式启动顺序bootloader两个阶段U-Boot 移植分区Linux swap分区及作用详解语法缺页异常段错误定位文件权限压缩POSIX可移植操作系统接口(英语:Portable Operating System Interface,缩写为POSIX)是IEEE为要在各种UNIX操作系统上运行软件,而定义API的一系列互相关联的标准的总称,其正式
2021-07-28 07:40:49
171
原创 dash与bash
dash与bash背景dash与bash的区别shell配置错误的可能特征坑!!!查看shell真实配置切换背景平台Linux编译,可能会遇到脚本设置类型不同(如:芯片原厂bash而你的ubuntu默认是dash),导致使用和预期不一致的情况(如tftp烧写失败)。dash与bash的区别从Ubuntu 6.10开始,默认使用dash(theDebian Almquist Shell)而不是bash(the GNUBourne-Again Shell). 但Login Shell还是bash. 原因
2021-07-28 07:36:27
2899
原创 Linux boot API
Linux boot API代码主控头文件U_BOOT_CMD终端命令sf/nand(nor/nand flash)具体用法使用范例setenv 命令代码主控头文件boot主逻辑在此,以Ingenic T20举例(/uboot_t20/include/configs/isvp_t20.h)/** * Boot arguments definitions. */#ifdef CONFIG_DDR2_128M#define BOOTARGS_COMMON "console=ttyS1,11520
2021-07-28 07:31:03
192
原创 Linux驱动程序概述
怎么写驱动看原理图写驱动写测试程序流程分配file_operations结构体设置结构体成员.open = led_open #配置为输出引脚.wirte = led__write #设置引脚状态注册(告诉内核)入口register_chrdev(主设备号,结构体,名字)出口unregister_chrdev三种驱动写法驱动写法:核心不变;差别在于:如何指定硬件资源传统方法:在驱动代码中写死,简单不易扩展总线设备驱动模型:稍微复杂,易
2021-07-28 07:27:46
79
原创 DHCP协议
DHCP协议动态主机设置协议,使用UDP协议工作用途自动分配IP管理服务器端使用67/udp,客户端使用68/udp基本过程请求IP租约(discover)客户端广播,服务端先到先得提供IP租约(offer)服务器在地址池中选择一个IP供客户端选择选择IP租约(request)客户端选择IP确认IP租约(ack)获得IP地址后,发送ARP请求来避免地址池重叠而引发的IP重复冲突 # udhcpc --helpBusyBox v1.20.
2021-07-28 07:25:56
129
原创 makefile基础
makefile基础编译和链接makefile基础格式clean的写法makefile构成使用其他的makefile引用其他的makefile引用方式makefile 查找方式make 的工作方式添加define警告编译不过编译和链接编译:编译时,编译器需要的是语法的正确,函数与变量的 声明的正确。链接:链接时,主要是链接函数和全局变量makefile基础格式target : prerequisitescommandtarget:目标文件prerequisites:依赖文件com
2021-07-28 07:24:28
148
原创 shell基础操作
shell基础操作有待补充基础操作休眠账户密码权限管道清屏让命令在后台运行黑洞硬件查看显示分辨率软件删除软件和配置文件文件操作复制目录返回上一次目录查找findgrep文件夹大小对比文件类型删除文件夹打包、压缩和解压挂载mount链接硬链接软链接网络调试工具nslookupiwconfigiwgetidiwlistiwpriviperf获取自己IP手动更改IP(临时)Linux自身相关kernel查看内核版本性能进程CPU占用率火焰图Git修改已经提交的commit外设驱动通信总线USBminicom暂停输
2021-07-28 07:22:33
241
原创 Google SRE 自我评分——《Google SRE: How Google runs production systems》
0 – 对于相关的技术领域还不熟悉1 – 可以读懂这个领域的基础知识2 – 可以实现一些小的改动,清楚基本的原理,并能够在简单的指导下自己找到更多的细节。3 – 基本精通这个技术领域,完全不需要别人的帮助4 – 对这个技术领域非常的熟悉和舒适,可以应对和完成所有的日常工作。* 对于软件领域 – 有能力开发中等规模的程序,能够熟练和掌握并使用所有的语言特性,而不是需要翻书,并且能够找到所有的冷知识。* 对于系统领域 – 掌握网络和系统管理的很多基础知识,并能够掌握一些内核知识以运维一个小型的网络系
2021-07-28 07:10:32
125
原创 Git基础操作
仓库配置初始化仓库1,安装sudo apt-get install git2,名字、邮箱、检查git config --global user.name "zhangsan"git config --global user.email "zhangsan@xxx.com"git config --list3,生成SSH、测试ssh-keygen -C 'xxx@xxx.com' -t rsacat ~/.ssh/id_rsa4,git init5,git clone查看当前所在仓
2021-07-28 07:04:52
120
原创 VIM基础操作
方向键:hjkl输入向后输入:a shift最前向前输入:i shift最后向下新生成一行输入:o shift上一行删掉当前字符并写入:s撤销:u键盘重映设.vim/vimrc普通模式:map输入模式:noremap回车:无操作:操作原则:操作+动作操作剪切剪切并进入编辑:c粘贴:p复制:y查找:f查看搜索结构:n下 N上动作移到下一个词:w移到上一个词:b在中间:i当前行移到中间:zz所以,向右剪切三个字符:d 3右箭头更改一个.
2021-07-28 03:50:18
87
原创 Linux 内核设计与实现 —— 1.内核简介
文章目录操作系统和内核简介内核包括:内核与应用程序:内核与硬件设备:内核的运行模式:Linux内核与Unix内核比较单内核与微内核设计之比较Linux内核与Unix内核差异操作系统和内核简介操作系统是指在整个系统中负责完成最基本功能和系统管理的那些部分,包括:内核设备驱动程序启动引导程序命令行 Shell 或者其他用户界面基本的文件管理工具基本的系统工具内核包括:负责响应中断的中断服务程序负责管理多个进程从而分享处理器时间的调度程序负责管理进程地址空间的内存管理程序进程间通信
2021-06-27 23:14:42
104
原创 动态库和静态库
概念什么是库库是写好的,现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说,库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a)和动态库(.so)。所谓静态、动态是指链接。回顾一下,将一个程序编译成可执行程序的步骤:静态库之所以称为静态库,是因为在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中。因此对应的链接方式称为静态链接。静态库特点:静态
2021-02-21 15:58:06
2198
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人