- 博客(131)
- 收藏
- 关注
原创 deepin安装过程
文章目录前言一、deepin是什么?二、安装deepin1.第一步:从官网下载镜像与启动盘制作工具2.第二步:制作1:选择镜像文件2:选择U盘制作三:分区间1:win+x进入磁盘管理2:傻瓜式划分卷四:安装OS总结前言今天原本打算安装ubuntu20.04,一时兴起顺便安装一下国产os,感觉使用体验很不错,国产系统看见了希望,所以写这篇文章记录“深度linux”这个国产os的安装过程,同时得到爷爷患癌症去世的消息,心里很不是滋味,所以读者们还是要以自身健康为第一位,该文章参考了如下链接:安装Ub.
2021-03-08 20:23:39
7543
原创 ---- 招聘之Linux驱动开发 ----
模块02 - 总线模型 03 - 总线之平台总线03 - 输入子系统04 - I2C总线05 - 设备树开发2 -驱动中断编程2 - 字符设备驱动
2021-03-01 17:21:50
184
原创 ---- 招聘之简历 ----
1:简历不要封面2:求职信/推荐信这些东西hr根本不会看3:不能写英文简历4:简历不需要彩印5:不需要附件,成绩单6:不需要证书复印件(入职会备案)7:技术类不需要头像照片8:年龄大就不写岁数9:政治面貌非党员就不写10:身高体重不写11:健康状况不写12:教学背景从大学写起,培训经历要写13:工作经验/社会实践如实填写14:课程可以不写15:爱好专长写与职位相关的技能16:联系方式:手机号+邮箱(个人网站:锦上添花)注意:准备自我介绍,提前了解公司与应聘职位工作内容不要在面
2021-03-01 13:42:08
197
1
原创 ---- 招聘之操作系统原理 ----
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言写这篇文章的目的是招聘工作的技能要求掌握操作系统的相关知识,学习操作系统原理(全国计算机网络4级用书,可以在微信读书上面找到,顺便以后可以考下计算机4级操作系统原理的证书)的知识,并记录下来,以备以后跳槽时,招聘使用提示:以下是本篇文章正文内容一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import n
2021-02-19 16:28:58
455
原创 ---- 招聘之计算机网络 ----
文章目录前言一、p2p是什么?二、电路交换是什么?三、网络类别?四、网络的性能怎么看?五、网络适配器是什么?五、路由器是什么?总结前言这篇文章的目的是我找工作需要考察计算机网络的相关知识,我主要就看大佬的博客了,该篇文章记录一些遇到的我比较疑惑的知识点,方便以后工作跳槽时更加快速的复习计算机网络这部分的内容找工作复习计算机网络时,需要先掌握该文章里面的知识点,再去看下面大佬超链接里面的知识点,不然不容易理解计算机网络知识点总结-第一章:概述一、p2p是什么?对等连接(peer-to-pe
2021-01-28 14:58:36
977
原创 26个英语单词起源(百度百科+巴士英语)
26个英文字母的来历我们知道,英语字母起源于拉丁字母,最初只有21个。后来由于需要,把源自希腊的字母Y和Z 移植过来,放到字母表的最后。再后来,又从拉丁字母I分化出了J,从U分化出V,而两个V连在一起又变成了W, 这样就逐渐形成了现在的26个英文字母。因此,英文字母的历史可以用一个算式来记住:21+ 2+1+ 1+1=26。a : 约在3000年前,在腓尼基字母表中字母A读如aleph,写起来形似字母V,中间再加一横,代表牛头或牛角。以后希腊人将它倒过来写。对于古代腓尼基人来说,牛意味着财富,吃,穿,耕
2021-01-20 13:55:27
2372
1
原创 vim配置
1:最开始的初衷是想装YCM插件,由于YCM需要vim8,而且对环境要求很多,配置很复杂,迟迟弄了2天也没弄出来2:下面简单做个总结,以后来弄吧!3:请先看这篇大佬的文章https://blog.csdn.net/bc516125634/article/details/888580974这篇文章除了YCM安装不了,其他能安装的并且有作用的如下插件Plugin 'VundleVim/Vundle.vim'Plugin 'altercation/vim-colors-solarized'Plu
2020-12-28 19:44:20
214
原创 惠普开机问题随笔
product information not vaildthe following product information programmed into the system board ismissing -->>去惠普官网下载BIOS更新程序
2020-12-19 21:52:22
655
1
原创 计算机网络
//=================================================================================================================================[1] >> 互联网的三层架构[ ----------------------------------------------------------------------------------- 1 >> 国际.
2020-12-12 17:53:13
132
原创 07 --查找
顺序查找#include<stdio.h>#define N 10int seqsearch(int *a,int key);int main(int argc, const char *argv[]){ int a[]={12,2,3,5,2,8,7,6,9,11}; int i,key; char ch; i=seqsearch(a,4); if(i==-1) { printf("no find"); } else { printf("%d",a[i]
2020-11-26 17:41:03
149
原创 06 -- 二叉树
二叉树btree.h#ifndef __BTREE_H__#define __BTREE_H__#include <stdio.h>#include <stdlib.h>#include <stdbool.h>typedef char dataype_bt;/* 动画演示: [data] [lchild] [rchild]*/typedef struct btreenode{ //树节点 dataype_bt d
2020-11-26 15:38:46
123
原创 05 -- 队列
顺序队列seqqueue.h#ifndef __SEQQUEUE_H__#define __SEQQUEUE_H__#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#define MAXSIZE 10typedef int datatype;typedef struct seqqueue{ datatype data[MAXSIZE]; //指针 --> 指向数组空间 in
2020-11-26 13:32:56
115
原创 04 -- 栈
顺序栈sqstack.h#ifndef __LINKLIST_H__#define __LINKLIST_H__#include <stdio.h>#include <stdlib.h>typedef int datatype;typedef struct node{ datatype *data; //int指针 int maxlen; //栈空间(堆,栈都是固定空间的,容易溢出) int top; //栈顶}sqstack;exter
2020-11-25 18:15:36
116
原创 03-双向循环链表
双向循环链表dlist.h#ifndef __DLIST_H__#define __DLIST_H__#include <stdio.h>#include <stdlib.h>typedef int data_t;typedef struct node{ data_t data; //数据域 struct node *front; //前指针域 struct node *next; //后指针域}dlistnode; //双链表节点ex
2020-11-24 18:37:03
109
1
原创 02 -- 单链表
>>注意:单链表操作时,只知道表头与插入的值1>> linklist.h#ifndef __LINKLIST_H__#define __LINKLIST_H__#include <stdio.h>#include <stdlib.h>typedef int datatype;typedef struct node{ //单链表一个节点 = 数据域 + 指针域 datatype data; struct node *next;}lis
2020-11-24 18:01:17
126
原创 01-顺序表
问:为什么学数据结构(DS = data struct)答:帮助软件开发更好的数据模型,让数据在内存中的操纵更加高效DS = (D,R) //D为数据元素的集合 -- R为D上关系的集合D = {2I+1 | i = 0,1,2,3,4}R = {<1,3> , <3,5> , <5,7> , <7,9> }逻辑结构 = 集合结构,线性结构,树形结构,图形结构存储结构 = 顺序存储 , 链式存储 , 索引存储 , 散列存储
2020-11-24 16:43:45
156
原创 05 - 设备树开发
DTS = device tree source 设备树源码 FDT = Flattened device tree 展开设备树 OF = open firmware = 打开固件 DTSI = device tree source include 设备树源码头的文件 DTC = device tree compiler 设备树编译器 >> (DTS -----DTC----- > DTB) DTB = device tree binary 设...
2020-11-23 21:13:51
126
原创 04 - I2C总线
1,i2c协议和时序2,i2c子系统软件框架=====I2C从设备举例====== 例1:cmos camera摄像头 例2:电容触摸屏 例3:重力传感器 例4:eeprom存储设备 例5:HDMI:高清输出接口=======确保i2c core和i2c adatper层必须编译进内核=====make menuconfig Device Drivers ---> [ √ ] I2C support ---> //选中后会将i2c-core.c编译进内核 ;启动
2020-11-21 16:12:10
174
原创 03 - 输入子系统
layer == 层次第一节======1,什么是输入设备======按键.鼠标,触摸屏,键盘..............======2,输入子系统的5层框架======= ---------------------------------------------------------------------------------------------------------- APP level ---------------------------..
2020-11-17 19:11:57
140
原创 2 -驱动中断编程
中断号是内核里面的一个资源,从设备树获取,指向设备中断中断类似于门铃,门铃一响就中断正在做的事情传统CPU采用轮询的方式获取设备数据,中断完美解决了该问题举个例子,今天有快递与外卖送到门口,外卖的优先级更高,但是你要洗衣服轮询:要么你隔5分钟去门口看一看中断:你洗你的衣服(当前线程),快递员(中断源1)与外卖员(中断源2)都到了按下(中断触发;电平跳变)一个门铃按钮,门铃智能系统((中断控制器:屏蔽/优先级/区分))识别到外卖员与快递员,选择优先发出外卖到了的声响:外卖到啦!外卖到啦!外卖到啦!
2020-11-17 13:34:02
146
原创 03 - 总线之平台总线
平台总线(platform bus)是 用于平台升级的比如你在一个生产智能门的公司使用的ARM芯片,公司接到多个订单,但是每个订单的芯片都不一样,一个是A7,A8,A9系列的,那就要为这三个芯片写三套完整的驱动,为了解决这个问题,平台总线可以驱动多个平台的驱动,已经有了各个框架SCO的驱动框架,只需要修改硬件物理寄存器地址就可以驱动不同的SOC;所以叫做平台总线平台总线是在原先总线的基础上进行了继承并扩展与标准化了平台总线三元素 = platform_bus + platform_driver
2020-11-05 22:54:42
299
原创 02 - 总线模型
链表在大量的开发过程中,Linux的开源开发者们在编写大量的设备驱动(字符设备驱动为主)时间重复的进行字符设备驱动步骤,而只有硬件驱动这一部分因不同设备不同,其他都是相同的,为了实现一个驱动程序,驱动多个设备,bus总线就由来了在/sys = /bus + /Device + /Classes总线就是device链表,drive链表南方与北方有一条高速路(bus总线)要经过很多南方城市A,B,C,D(device)与北方城市(drive)a,b,c,d,这些城市比如先在高速路系统认证( devic
2020-11-05 17:52:28
302
原创 2 - 字符设备驱动
设备号32位 = 主设备号(major = 高12bit)+次设备号(低20bit)设备节点 == 设备文件(c = 字符设备 ; b = 块设备)申请设备资源函数 register_chrdev( )释放设备资源函数 unregister_chrdev( )创建设备节点函数{手动创建(在内存中创建节点文件,关闭后文件消失)mknod自动创建节点文件创建一个类class_create( ){参数1:THIS_MODULE参数2:名字}创建一个设备文件device_create
2020-11-02 20:10:09
115
原创 模块
第一课驱动文件是.C文件,.c文件编译成.o的目标文件后有两个方向,如何你的驱动需要随着内核启动开机就使用,比如LCD屏幕,就编译到内核文件zImage,要么编译成.KO模块,使用模块就insmod镶嵌到内核中(向正在运行的内核申请资源),使用结束后就用rmmod将其从内核剥离出来,释放内核资源(减小内核体积 ; 方便管理驱动,灵活度高)第二课 模块的传参与导出内核各个模块是一个个黑匣子,用户层向黑匣子传递参数用module_param();黑匣子向其他黑匣子提供函
2020-11-01 14:51:57
142
原创 超级简单的实现window共享Linux文件
步骤1安装utuntu环境samba(百度)步骤2:安装好samba后,将你想要共享的文件设置为如下步骤3:打开window的samba功能步骤4:输入\ \ +你的虚拟机IP就能操作虚拟机的共享文件了
2020-11-01 11:13:17
180
原创 系统移植
收获1:开发板的启动流程是先硬件启动,再加载bootloader(uboot是boot loader的一种)引导程序,再进入到Linux内核(kernel),最后挂载根文件系统(安卓,QT,ubantu的底层都是linux内核,但是差异就在最后的文件系统);我们需要将这些东西,文件系统,boot loader,Linux内核等通通下载到板子里面收获2:内核设备的驱动可以分为字符设备驱动,块设备驱动,网络设备驱动(绝大多数应用都是字符设备驱动,所以自学习字符设备驱动就好) 系统能不需要按顺序...
2020-09-30 22:46:45
1872
2
原创 [了解]系统移植概述及环境搭建
开发板启动流程boot loader (初始化硬件 --> 加载内核 ) 初始化并挂载根文件系统 执行用户程序
2020-09-12 09:11:06
203
1
原创 D2 - ARM异常处理
异常向量表需要背下来 @ == 汇编的注释符号第一节 异常是什么异常有哪些中断IRQ (硬件触发)软中断 (系统调用)复位 (reset)未定义指令(undefined instruction)数据异常 (data abort)第二节 异常之中断异常ARM中断FIQ IRQ中断控制器决定响应谁中断响应大致流程第三节 软中断汇编程序(重要);1进入0x00地址的复位异常作为开始程序:2编写用户软件中断程序soft_handler;3进..
2020-08-15 13:50:04
132
原创 D1 - ARM基础
第一节 ARM介绍你所接触的芯片几乎都是ARM,国产芯片也肯定是ARM架构,所以学习ARM的必要性 主要设计ARM系列RISC处理器内核,包括华为国内外的芯片厂商向ARM请求内核知识授权 ARM高端可以向手机提供Cortex-A8等高端芯片,中端可以提供crotex-R系列车联网的实时操作系统的中端芯片,低端可以向单片机,传感器等提供廉价的Cortex-M系列的低端芯片ARM系统结构与ARM的CPU的区别ARMv4>>ARMv5>>ARMv6>&
2020-08-09 21:23:37
295
原创 Sqlite3
SQLite 是不区分大小写的 数据库的int = integer from √ / form ×第一节 了解大型数据库oracle公司的oracle关系数据库IBM的DB2中型数据库微软的Server小型数据库oracle公司的mySQL嵌入式数据库SQLite1轻量级体积小只有250KB2支持绝大多数数据库功能3:代码C4:开源 5:无需安装和配置 6支持2TB的数据库大小 7比目前流行的大多数数据库对操作还要快 8几乎所有版本的 Linu..
2020-07-31 10:09:12
110
原创 D8 - 网络编程扩展
第一节1.1 gethostbyname函数struct hostent *gethostbyname(const char *hostname);功能:获取主机host的IP地址通过域名name(由于服务器的域名是不会变的,服务器的IP是变化的,通过该方式可以获取IP地址)参数 : 域名返回值: hostent 结构体struct hostent{ char *h_name;//official name官方域名 char **h_aliases; //alias li
2020-07-29 10:03:31
230
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人