自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

OpenBMC开发

OpenBMC开发

  • 博客(34)
  • 收藏
  • 关注

原创 【yocto2】利用yocto工具构建嵌入式Linux系统

在实际项目中,一款嵌入式产品往往具有不同的硬件平台和软件需求,因此需要对嵌入式Linux系统进行定制,以满足不同的产品需求。之前的章节中基于Freescale官方提供的例程,构建了运行于imx6ull14x14evk硬件平台上的fsl-imx-fb发行版本,以此熟悉了Yocto的基本原理和工作流程。后续我们将基于Freescale官方的imx6ull14x14evk硬件平台的fsl-imx-fb发行版本,定制化自己的嵌入式Linux系统。

2024-03-16 18:46:55 1493

原创 【yocto1】利用yocto工具构建嵌入式Linux系统

实际工程应用中,需要根据不同的需求定制化系统。该小节概要性的描述了定制化系统的几种方法,先对定制化系统的方法有个整体性的认识,后续章节会对定制化系统的详细步骤进行讲解。Yocto提供了几种定制化系统的方法,可以根据实际应用场景选择不同的方法。一般来说主机名和系统中配置的主机名(/etc/hostname)是一致的。例如:如果MACHINE等于“qemux86”,那么写入/etc/hostnam的主机名就是“qemux86”。......

2024-03-16 18:46:45 4307 9

原创 【python5】闭包/装饰器,json/configparser/optparse,walk/split/getattr/bin//lspci/ethtool/usb

cpu和switch连着,中间有一个nic卡(mellanox或e810),switch连着外面的光模块,fpga一端连着cpu,一端连着switch,fpga的eeprom存指令控制switch。如下self. 默认第一个参数有self。python中None,False,空字符串"",0,空列表[],空字典{},空元组()都相当于False。如下5x4+4+2x4=32。如下打印第一行是:我在~…

2024-02-11 01:02:20 570

原创 【python4】百度人脸api,aiohttp,curl

basic auth:最简单的一种(户名+密码)认证方式,用base64_encode加密,安全性低,每次都需要传递用户名和密码,用户名和密码很大程度上存在被监听盗取的可能。:是一个域名,默认指向127.0.0.1这ip(本地回环地址,速度快,不会出现在主机外部网络),绑定了localhost的服务只能在本机访问。对其加密并与/etc/shaodow下用户名和加密密码段做匹配,如果一致则处理curl请求,否则返回401: Unauthorized。如下问题是发送的curl中data的json数据格式不对。

2023-11-05 18:13:59 67 1

原创 【openbmc1】rsyslog,logrotate,post_code,journalctl,log

logrotate是有两种方式做定时任务的,如果使用Crontab模式,则把 /etc/cron.daily/logrotate这个文件里检测/run/systemd/system目录的这3行注释掉就可以;然后停掉logrotate.timer(systemctl stop logrotate.timer)。如下Sensor-specific offset一列对应event data 1,Event一列对应event data 2。ident将是一个标记,省略的话即打印出进程的名字如下。

2023-07-11 14:04:31 112

原创 【net1】协议,route,iptables,macvlan

Hash散列算法(应用于哈希表和摘要密码学),是把任意长度的输入通过特定的算法变换成固定长度的输出,输出的值就是hash值。这个特定的算法就叫hash算法,hash算法并不是一个固定不变的算法。只要是能达到这个目的的算法都可以说hash算法。例如MD5,SHA,String.hashcode()都是hash算法。不同的输入可能会得出相同的hash值,那么这种现象称为hash碰撞,无论是采用那种hash算法,hash碰撞都是不可避免的,我们只能通过改进hash算法,把出现碰撞的概率降低。

2023-07-09 14:34:00 706 1

原创 【shell1】语法,i2ctransfer,expect,环境变量

如果字符串中有空格,必须需要使用引号(str=hello world会报错)。。:显示字符串第1到第4个字符。:从左边第4个字符开始,一直到结束。:从倒数第6个字符开始的3个字符。:从倒数第6个字符开始,一直到结束。

2023-07-09 11:27:17 1648 1

原创 【notes2】并发/IO,内存

logrotate是有两种方式做定时任务的,如果使用Crontab模式,则把 /etc/cron.daily/logrotate这个文件里检测/run/systemd/system目录的这3行注释掉就可以;然后停掉logrotate.timer(systemctl stop logrotate.timer)。ident将是一个标记,省略的话即打印出进程的名字如下。

2023-07-09 11:22:18 794

原创 【notes1】VMware,linux命令,samba服务器,pip/office/pi/版本/dts

apt install python3-pip --fix-missing(断开vpn,cp /etc/apt/sources.list /etc/apt/sources.list.bak,python3 -m pip install --upgrade pip,apt-get update,pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com)如下设置win账号,因为默认禁止空密码登录。

2023-07-09 11:03:31 2397 1

原创 【uboot1】MMC,内存,boot,网络

一般用uboot中的nfs(Network File System)命令将Ubuntu中文件下载到开发板DRAM中,在使用之前需要开启Ubuntu主机NFS服务(/etc/init.d/nfs-kernel-server restart),且新建一个NFS使用的目录,以后通过NFS访问的文件都要放到这目录中。所以使用命令setenv修改的是DRAM中的环境变量值,修改以后要使用saveenv命令将修改后的环境变量保存到flash中【如下提示看出环境变量保存到了MMC(0)中,也就是SD卡中。

2023-07-04 01:47:10 259

原创 【jenkins1】gitlab与jenkins集成

GitLab配置Access Token,用于jenkins连接GitLab获取GitLab API接口:点击右上角用户头像Edit profile,再点击左侧Access Tokens ,命名为gitlab_jenkins,Select scopes全部勾选上,点击创建产生如下字符串。官网https://www.jenkins.io/下载jenkins,可选择适合你自己系统的版本,也可选择不依赖于系统的docker(前提本机安装了docker)或war包(本机安装了java),如下开启。

2023-07-04 01:41:49 1243

原创 【docker1】指令,docker-compose,Dockerfile

文章目录1.pull/image,run/ps(进程),exec/commit2.save/load3.docker-compose3.1 link3.2 docker-compose .yml4.Dockerfile4.1 ENV4.2 LABEL5.k8s5.1.整个流程5.2 三个基础概念5.3 service之间如何互相通信5.4 service的虚拟ip到公网ip1.pull/image,run/ps(进程),exec/commitDocker是主要应用于linux和后台应用的虚拟机(和vm

2023-07-04 01:33:57 3941 1

原创 【git1】指令,commit,免密

硬还原前面回滚掉的版本,commithash因为被回滚掉了,用git log 空(每次提交commit信息)查不到,用git reflog 空(所有操作信息)查,三个区都回滚了保持一致。一般不用git commit -m,直接git commit进入vi界面(进入前要git config core.editor vim设一下vi模式),vi如下写法,注意在最上面写。(会出现Auto-merging自动合并,git pull = git fetch + git merge),进行讨论删除,再。

2023-07-04 01:25:57 1968 1

原创 【database3】oracle:数据交换/存储/收集

文章目录1.生成数据:crontab2.ftp:ftp是tcp/ip协议族中一员,分客户端和服务端2.1 安装:linux操作系统的用户也是ftp的用户,可以配置专用的ftp用户,专用的ftp用户只能用于ftp,不能登录操作系统2.2 ftp命令:get,put登录ftp服务器:linux命令行输入:ftp ip地址,然后输入用户名和密码(adduser ,passwd ),必须先开启ftp服务查看/下载/上传文件:ftp的传输模式分ASCII码和二进制两种,二进制可传输任何文件,而ASCII码方式只能传

2023-07-04 01:20:35 394 1

原创 【database2】redis:优化/备份/订阅

1.3.小结果集适合建索引。如果占表超过50%不适合建索引,因为数据量达到一定量后会走全表扫描:原因是mysql内部有一个优化器进行最优策略即聚集索引和非聚集索引查询原理,数据量太大会先走非聚集索引,然后才走聚集索引获取数据。太频繁加个redis。4.有limit 1,查到一行就不继续往下走。5.数据库创建完一次连接后会永久处于连接状态,已经永久连接了,apache还给数据库不断发连接,给数据库增加了压力,大公司会解决这个。6.

2023-07-04 01:18:20 208 1

原创 【database1】mysql:DDL/DML/DQL,外键约束/多表/子查询,事务/连接池

文章目录1.mysql安装:存储:集合(内存:临时),IO流(硬盘:持久化)1.1 服务端1.2 客户端2.DDL/DML:char不用动态变化,效率高3.DQL:select(相当于System.out)第一个但在倒数第二执行,备份4.约束和自增长:字段约束(字段的赋值规范)/主键约束(唯一非空且一张表只有一个主键)5.单表缺点和外键约束:多从外 引出6.三种多表关系:中间表两外键7.多表查询:表..join表on7.1 外连接:左外=左表+内连接8.子查询:优先于主查询产生结果9.事务:一组操作,要么同

2023-07-04 01:04:46 977 1

原创 【c++5】_ooci.h/cpp,_mysql.h/cpp

【代码】【C++5】_ooci.h/cpp,_mysql.h/cpp。

2023-07-03 01:24:17 133

原创 【c++4】_public.h/cpp

文章目录1._public.h2._public.cpp3._cmpublic.h1._public.h#ifndef _PUBLIC_H#define _PUBLIC_H 1#include "_cmpublic.h"//全路径文件名,大小,时间的结构体struct st_fileinfo{ char filename[301]; int filesize; char mtime[21];};//1111111111111111111.读取某目录下的全部的文件clas

2023-07-03 01:23:50 1061

原创 【c++3】crontab,ftp

(设置被动模式的高端口范围为5500-6000,passive命令为on,完成后必须init 6重启,netstat -na --ip,firewall-cmd --list-ports,防火墙配置不好可以直接关闭防火墙):列出服务器目录中的文件名,如:nlist /home/w /tmp/tmp.list,表示把服务器上/home/w目录下的文件列出来,结果输出到本地的/tmp/tmp.list文件中,输出文件名是全路径。(dir命令可以使用通配符“*”和“?上面strbuffer[…

2023-07-03 01:14:39 205

原创 【c++2】进程 & 信号 & dbus

一个进程执行了exit系统调用退出时会向父进程发送SIGCHLD信号,而其父进程并没有为它收尸(调用wait或waitpid来获得它的结束状态,如进程ID、终止状态等等)的进程,ps显示有< default >。:D-Bus的对象都含有一个接口org.freedesktop.DBus.Properties,可以通过其方法Gel获取某个接口的某个属性值:busctl call service 对象 org.freedesktop.DBus.Properties Get ss 接口 属性。

2023-07-03 01:12:26 630

原创 【c++1】函数重载,类和对象,引用,string类,vector容器,类继承和多态,/socket

文章目录1.函数重载:writetofile(),C++true和false,C0和非02.类和对象:vprintf3.引用:别名4.string类:string str,str=,str.c_str()5.vector容器:std::vector<.>.;1.函数重载:writetofile(),C++true和false,C0和非0C++动态内存分配:在C语言中,动态分配内存用malloc()函数,释放内存用free()函数。C++中new和delete。C++函数重载:C中不允许函

2023-07-03 01:09:44 2222

原创 【c5】proc文件系统,内存分配,数据类型/移植/对齐,内核中断,通过IO内存访问外设,PCI

【这种情况多数发生在中断处理上,当一个中断发生后,在中断回调函数中希望尽可能短和尽可能快执行,所以把那些费时间的,不是很紧要的任务放稍后执行即放在中断回调函数后执行】。rmmod就没有/proc/下接口了,"hello proc"有11个字符(连空格和换行符),所以show next调用了11次。非延迟工作队列效果跟tasklet类似,把API换成没有delayed的即可。如下delta连1次jiffies值都没达到。再去执行其他操作,可使用。执行指定操作,可使用。

2023-07-03 00:56:29 863 1

原创 【c4】设备读写,同步和互斥,ioctl,进程休眠,时间和延时,延缓

hc_devp[n]就是定义的字符设备结构,container_of函数:通过成员(cdev)地址获取整个结构地址。如下一个进程写没问题,但是有两进程写的话:第一个进程运行到kzalloc时,第二个进程也执行了kzalloc,这种情况下只有第二个进程地址保存在c中,第一个进程分配的内存空间地址就丢失了,造成了内存泄漏。第一个进程运行到kzalloc时(第77行),第二个进程调用了kfree,这时第一个进程执行到copy_from_user会出现问题。(这两种情况统称为同步问题)。同理make

2023-07-03 00:48:30 237

原创 【c3】内核模块,设备号,字符驱动

udev接到这事件后就会获取这些设备信息,这些信息大部分保存在/sys/class/xx文件系统(sysfs)中。udev获得到这些信息后就会根据获得到的信息以及udev规则在/dev下生成对应设备节点。linux系统中有一个后台程序udev(用来自动生成设备节点的软件),设备文件->设备号->cdev。/sys是一个基于RAM的FS,和 /proc差不多。如下make后显示的第一行就是make命令。编译模块之前要如下安装内核源码树目录。

2023-07-03 00:45:35 1769 4

原创 【c2】编译预处理,gdb,makefile,文件,多线程,动静态库

文章目录1.最简单的内核模块:必须包含module.h2.内核模块参数:权限位是用在sysfs文件系统里3.分配设备号:字符设备&块设备3.1 字符设备申请主设备号:三个函数,三个宏3.2 块设备申请主设备号:hello_major为0是系统自动分配的主设备号即register_blkdev函数分配,将ret返回值赋给hello_major4.最简单的字符设备的驱动程序:控制外部设备都是通过读写dev下设备文件实现5.驱动模块加载后自动生成设备节点:让系统udev自动生成/dev目录下的设备节点,u

2023-07-02 01:21:38 2467

原创 【c1】数据类型,运算符/循环,数组/指针,结构体,main参数,static/extern,typedef

文章目录1.数据类型:单双引号,char(1B),int(4B),double(8B)2.常量和变量:memset,const3.输入和输出:scanf函数4.运算符:前先加1,sizeof5.if:上下,else if6.switch:选择结构7.循环:continue8.数组:存数据类型相同的数据,\0,数组下标越界导致core dump段错误9.库函数:/usr/include,libgcc.a10.指针:变量的地址,&,空指针段错误10.1 p是地址,*p是指向的内容:01指0x01(十六进

2023-07-02 01:21:27 2283

原创 【web2】jquary,bootstrap,vue

文章目录1.案例_隔行换色2.js中的正则表达式3.案例_表单校验4.jquery框架引入5.jquery版本介绍6.jquery对象7.jquery的页面加载事件8.jquery基本选择器引入9.层级选择器10.属性选择器11.基本过滤选择器12.表单属性过滤选择器1.案例_隔行换色<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title>

2023-07-02 01:16:58 1508 1

原创 【web1】标签,css,js

File-New-Project-Static Web,右击New-HTMLFile。1.2 文本标签:字体属性1.3 a标签:anchor(锚) 超链接1.4 列表标签:list (嵌套)1.6 标签分类:div,span1.7 表格标签:快捷键,table(嵌套)1.8 合并单元格:rowspan=“2”百度服务器不会理你。2.4 css属性:背景/文本/字体/边框/浮动/展示如下7是接着6后面,看浏览器窗口大小,动态调整。

2023-07-02 01:16:49 1239 1

原创 【java3】lambda,Stream流,File类,乱码,流/Properties,Tcp/文件上传/UUID/Junit,反射/注解,类加载器,设计模式,req/res,c/s,ajax,dns

文章目录1.函数式编程引入2.lambda表达式语法3.lambda表达式解释4.lambda表达式运用1.函数式编程引入package com.itheima01.boot;/** 函数式编程 语法 (JDK8)* 函数(公式) -> 方法* 作用: 简化代码编写* 1. lambda表达式* 1. 标准语法* 2. 简略语法* 2. 运用: Stream流* 3. 方

2023-07-02 01:09:26 873 2

原创 【java2】堆栈/队列/数组/链表/红黑树,List/set子接口,hashcode/hashset,Map/内部接口,统计字符个数/斗地主,Collections/异常,线程创建/同步

如下查询慢:知道张三在哪,不能马上知道王五在哪,挨个查。如下增删虽然不用整个动(如删除李四,只需要将箭头指向王五就行),但是还是要,效率还是慢。但是直接删除张三或马六头尾元素快。:每个节点最多两个子节点。:左小右大(二分法)。:左右尽量相等(一边的节点层次不会超过另一边的两倍)。:插入或查询一节点时,树的每一行只需要和这一行的一个节点比较(因为左小右大),复杂度完全依赖树深度。树的行数即高度=logn【n为节点总数,2的树行数次方为n】,BST读和写的复杂度都为logn。:查找时用二分查找法(和BST像)

2023-07-02 01:05:05 521 1

原创 【java1】if/switch/for/while,数组,属性/方法,可变参数/构造器,this/super/继承,抽象/初始化,接口/多态,权限修饰符,包装类/集合/泛型/内部类

文章目录1.jdk安装2.idea安装3.JVM4.HelloWorld5.1.jdk安装如下软件链接:https://pan.baidu.com/s/11Uw-bnuFmITCWU5Ne5z_sw 提取码:dgtr。双击如下jdk1.8安装,安装到D:\development\jdk1.8,弹出新框jre安装到D:\development\jdk1.8\jre1.8带bin,db,lib称为根目录。此电脑右击属性(可查看计算机多少位)-高级系统设置-环境变量,在下面框的系统环境变量新建如下

2023-07-01 18:38:50 1247 1

原创 【python3】matplotlib,模块,进/线程,文件/xml,vr升级

如下耗时从小到大。:下图为数据的存储:1个int数占4个字节(char或B)(1B=8bit),如下1放在4个字节中。如下int型按顺序存放即方便查找。下图左边为基本形式,右边为元素外置形式(存地址)。分为,下图为,不用改变原数据结构,多一个加一个。构造方法:如下红框是主进程,没有等子线程结束就结束了。线程池适合需要大量线程完成任务,但实际处理时间较短。4.文件/xml:os.walk4.1 增:写入文件内容给文本文件4.2 改:批量修改图片大小4

2023-03-26 20:33:27 1855 1

原创 【python2】文本分类综合(rnn,cnn,word2vec,TfidfVectorizer),中文纠错代码解析(pycorrector)

文章目录1.中文评论情感分析(keras+rnn)1.1 需要的库1.2 预训练词向量1.3 词向量模型1.4 训练语料 (数据集)1.5 分词和tokenize1.6 索引长度标准化1.7 反向tokenize1.8 构建embedding matrix1.9 padding(填充)和truncating(修剪)1.10 用keras搭建LSTM模型1.11 结论1.12 错误分类2.新浪新闻分类(tensorflow+cnn)3.搜狐新闻文本分类(word2vec)3.1 数据的准备3.2 word2v

2021-02-19 08:29:58 8297 19

原创 【python1】图像操作,验证码识别,拼接/保存器,字符分割识别,移动物检测,ckpt转pb,keras_yolov3_gpu训练自己数据集

文章目录1.安装2.画图3.几何变换3.1 位计算3.2 遮挡3.3 通道切分合并3.4 金字塔3.5 缩放3.6 平移3.7 旋转3.8 仿射变换3.9 透视变换4.形态学5.模糊(平滑)6.色彩空间转换7.二值化8.图像梯度9.canny边缘检测10.视频操作10.1 读取摄像头视频10.2 读取视频文件10.3 视频写入10.4 视频提取指定颜色11.直方图12.模板匹配13.直线/圆/轮廓检测14.人脸检测15.数字验证码识别16.图像拼接/保存器1.安装pip install opencv-

2020-06-01 14:35:21 2884 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除