Linux
文章平均质量分 73
无止境x
现为中科院工程师,更多内容关注微信公众号《科学无止境》。
研究生期间的算法工程师,毕业后进入中科院从事科学装置和系统的研究,分享AI和云计算领域的内容,一个有点自己想法的IT从业者,欢迎关注交流!
展开
-
使用公钥+私钥:MobaXterm设置无密码登录
MobaXterm有记住密码功能,连接远程主机不会提示密码,使用方便。这对大多数人来说已经足够,对无密码登录(密钥登录)没有需要,请跳过本节内容。如果你有以下情况,建议开始阅读以下内容:①远程主机未开启密码登录支持,仅支持密钥登录;②可能存在多终端设备(如Windows、Mac、手机等)连接远程主机的情况;③重视个人隐私,不希望有软件记录远程主机密码;P.S. 本节操作步骤较多,慢慢操作,不要 "迷路"哦~目录一、什么是密钥对二、生成密钥对三、保存公钥和私钥...原创 2021-09-14 17:19:12 · 33331 阅读 · 12 评论 -
linux虚拟机磁盘添加并设置分区
linux是一款使用范围最广的开源服务器系统,下面我们介绍一下linux虚拟机添加磁盘并使用磁盘的方法。 我们以xenserver上的CentOS为例,首先选中虚拟机,然后点击右侧的存储(storage)。 点击添加(Add)。 我们将磁盘容量设定为15G,然后点击Add。 磁盘添加完成后,我们将CentOS系统开机。开机后,进入root,执行命令fdisk -l 你会发现新添加的磁盘没有任何分区,但是可能容量与实际不太一样,这主要和计算方法有关,没有大碍。原创 2021-09-06 23:33:06 · 3163 阅读 · 0 评论 -
Linux虚拟机添加新硬盘
一、在VMware添加新硬盘添加完成二、虚拟机中windows对于虚拟的磁盘的挂载方法比较的简单,和在实际的电脑中操作一样,只要在“设备管理器”中将新建的虚拟磁盘进行分区格式化后即可正常使用基于windows中设置较为简单,故而没有截图1、右击“我的电脑”-“管理”-“磁盘管理”,然后会看到新分配的磁盘没有分区2、右键“新加卷”(未分区的磁盘),选择“新建”,按照向导,一步步,选择硬盘分区模式、格式化硬盘即可使用三、虚拟机中Lin...原创 2021-09-03 11:25:14 · 5664 阅读 · 0 评论 -
Linux磁盘与分区命名:sda, sdb, sdc, sda1, sda2
Linux设备名称Linux磁盘和分区的名称可能与其他操作系统不同。您需要知道在创建和挂载分区时Linux使用的名称。下面是基本的命名方案:第一个软盘驱动器命名为/dev/fd0。第二个软驱命名为/dev/fd1.检测到的第一个硬盘名为/dev/sda。检测到的第二块硬盘命名为/dev/sdb,以此类推。第一个SCSI CD-ROM命名为/dev/scd0,也称为/dev/sr0。每个SCSI磁盘上的分区通过在磁盘名后面加上一个十进制数字表示:sda1和sda2表示...原创 2021-09-03 10:55:00 · 30063 阅读 · 0 评论 -
如何选择文件系统:EXT4、Btrfs 和 XFS
老实说,人们最不曾思考的问题之一是他们的个人电脑中使用了什么文件系统。Windows 和 Mac OS X 用户更没有理由去考虑,因为对于他们的操作系统,只有一种选择,那就是 NTFS 和 HFS+。相反,对于 Linux 系统而言,有很多种文件系统可以选择,现在默认的是广泛采用的 ext4。然而,现在也有改用一种称为 btrfs 文件系统的趋势。那是什么使得 btrfs 更优秀,其它的文件系统又是什么,什么时候我们又能看到 Linux 发行版作出改变呢?首先让我们对文件系统以及它们真正干什么有..原创 2021-09-02 16:34:07 · 4902 阅读 · 0 评论 -
SSH连接时出现Host key verification failed的原因及解决方法
一、问题现象 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@vfc-ding02 ~]# scp -p22 ./data.zip root@10.0.7.123:/data/ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARN...转载 2021-08-31 10:45:53 · 8537 阅读 · 1 评论 -
嵌入式开发工程师修炼步骤
ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:(1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9)(2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定)(3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。从事嵌入式软件开发的好处是:(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非转载 2017-08-22 15:21:33 · 454 阅读 · 0 评论 -
进程与线程的一个简单解释
进程与线程的一个简单解释来源:阮一峰-伯乐在线进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的电力有限,一原创 2017-09-01 09:30:30 · 122 阅读 · 0 评论 -
图像缩放算法——近邻取样插值
近邻取样插值原理: 缩放后图片 原来的图片 对于缩放后图片中的某点 (Dx, Dy) 对应于原图片中的点 (Sx, Sy),它们之间存在如下的比例关系: (Sx-0)/(SW-0)=(Dx-0)/(DW-0) (Sy-0)/(SH-0)=(Dy-0)/(DH-0) 因此,已知缩放后图片中的任意一点 (Dx,转载 2018-01-12 15:52:25 · 1819 阅读 · 0 评论 -
LCD显示图片的函数-ARM体系-2440
void Paint_BMP(int x0,int y0,int level,int vertical,const unsigned char *bmp)/*在屏幕上画图*/{ int x,y; UINT32 col; int p = 0; UINT16 *addr; for( y = 0 ; y < 272 ; y++ ) { for(原创 2017-08-21 16:25:54 · 1543 阅读 · 0 评论 -
LCD显示文字的函数-ARM体系-2440
/**lcd显示汉字*输入参数:* x:开始位置横坐标* y:开始位置纵坐标* color:字体颜色* ch[]:文字* */void Draw_Text16(int x, int y, int color, const unsigned char ch[]) { unsigned short i, j ; unsigned char mask, t原创 2017-08-21 16:19:28 · 1553 阅读 · 1 评论 -
中断-timer0
Init.c/* * init.c: 进行一些初始化 */ #include "s3c24xx.h" void disable_watch_dog(void);void clock_init(void);void memsetup(void);void copy_steppingstone_to_sdram(void);void init_led(void);void t原创 2017-07-26 15:56:22 · 2510 阅读 · 0 评论 -
存储-SDRAM
设置SDRAM,将程序复制到SDRAM,然后跳到SDRAM继续执行项目工程见资源下载@******************************************************************************@ File:head.s@ 功能:设置SDRAM,将程序复制到SDRAM,然后跳到SDRAM继续执行@**************原创 2017-07-27 14:41:05 · 493 阅读 · 0 评论 -
嵌入式产品开发流程
嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需求分析到总体设计,详细设计到最后产品完成的过程。但是,与普通电子产品相比,嵌入式产品的开发流程又有其特殊之处。它包含嵌入式软件和嵌入式硬件两大部分,针对嵌入式硬件和软件的开发,在普通的电子产品开发过程中,是不需要涉及的。嵌入式产品的研发流程具体如下图: 下面,针对嵌入式产品的开发过程中的各个阶原创 2017-08-18 19:18:20 · 712 阅读 · 0 评论 -
S3C2440开发板上BMP图片的显示之一
一、BMP图片的格式分析1、BMP文件的大致组成BMP文件的数据由四个部分组成:位图文件头部、位图信息头部、彩色表和图像数据阵列字节。其中彩色表不是必须的,比如24位真彩色位图就没有彩色表。(1)位图文件头部的组成(前面14个字节)(2)位图信息头部的组成(从14字节开始,14-53共40个字节)(3)下面以一个文件的分解为例,加深对各个分量的理解。第一个文转载 2018-01-12 14:39:17 · 434 阅读 · 0 评论 -
S3C2440开发板上BMP图片的显示之二
S3C2440开发板上BMP图片的显示之二二、BMP图片显示测试程序设计1、测试程序结构设计(1)目的确认对BMP结构的认识,加深对RGB颜色格式的理解。能够在液晶上显示一个160 x 128 大小的图片。(正好与液晶的大小相同) (2)实现方案添加一个命令mptest。在命令处理程序中,先打开图片文件,读入前面54个字节转载 2018-01-12 14:49:31 · 473 阅读 · 0 评论 -
S3C2440开发板上BMP图片的显示之三
三、BMP图片显示功能扩展1、图片显示的功能扩展(1)能够调整图片的显示区域,比如我准备了一张 480x384的图片,液晶屏大小只有它的九分之一,要通过键盘控制,“看到整张图片”。(2)能够显示单色、16色、256色、24位真彩色图片。(3)能够对图片进行缩小显示,比如前面那个480x384的图片,能够缩小比例显示在液晶屏上。这个实现应该不难,但是放大就比较麻烦了,转载 2018-01-12 15:06:19 · 624 阅读 · 0 评论 -
libjpeg库的用法
libjpeg用法博客分类: Linux C编程C语言编程Linux 转自:点击打开链接libjpeg库简介 libjpeg是一个完全用C语言编写的库,包含了被广泛使用的JPEG解码、JPEG编码和其他的JPEG功能的实现。这个库由独立JPEG工作组维护。最新版本号是6b,于1998年发布。可以参考维基百科关于libjpeg的介绍http://zh.w转载 2018-01-13 09:34:41 · 12147 阅读 · 2 评论 -
Qt中利用定时器QTimer准实时显示当前日期和时间
Qt中利用定时器QTimer准实时显示当前日期和时间Qt中利用定时器QTimer准实时显示当前日期和时间Qt中,QDate类对应日期,QTime类对应时间。这两种类可以获取当前时间,但需要一个定时器来准实时显示当前日期和时间。下面说明方法:1. 在工程中声明一个全局QTimer对象[cpp] view plain copy转载 2018-01-15 11:57:29 · 1396 阅读 · 0 评论 -
VMware Ubuntu安装详细过程
VMware Ubuntu安装详细过程:https://blog.csdn.net/u013142781/article/details/50529030转载 2018-07-20 15:17:13 · 243 阅读 · 0 评论 -
linux下查看和添加PATH环境变量
https://www.cnblogs.com/aaronLinux/p/5837702.html$PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接。 编辑你的 PATH 声明,其格式为: PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3...转载 2018-07-21 10:17:17 · 406 阅读 · 0 评论 -
ubuntu下如何安装Tensorflow
ubuntu下如何安装Tensorflow:https://www.cnblogs.com/tsingke/p/7171270.htmlAI这个概念好像突然就火起来了,年初大比分战胜李世石的AlphaGo成功的吸引了大量的关注,但其实看看你的手机上的语音助手,相机上的人脸识别,今日头条上帮你自动筛选出来的新闻,还有各大音乐软件的歌曲“每日推荐”……形形色色的AI早已进入我们生活的方方面面。深刻...转载 2018-07-21 15:43:58 · 4162 阅读 · 0 评论 -
Linux触摸屏驱动-jz2440
s3c_ts.c#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include struct s3c_ts_regs { unsigned long a原创 2017-08-16 15:06:10 · 536 阅读 · 0 评论 -
Linux USB 驱动开发-USB设备基础概念
Linux USB 驱动开发(一)—— USB设备基础概念 在终端用户看来,USB设备为主机提供了多种多样的附加功能,如文件传输,声音播放等,但对USB主机来说,它与所有USB设备的接口都是一致的。一个USB设备由3个功能模块组成:USB总线接口、USB逻辑设备和功能单元:a -- 这里的USB总线接口指的是USB设备中的串行接口引擎(SIE);b -- USB逻辑设备被USB系统软件转载 2017-08-18 16:31:09 · 330 阅读 · 0 评论 -
触摸屏-原理及流程回顾
1、工作原理首先我们要区分lcd和触摸屏,lcd是一个屏幕,触摸屏是贴在lcd上的两层膜。接下来我们说一下四线电阻触摸屏的原理:触摸屏就是上下两层膜,比如上层代表x轴(XM:负端,XP:正端),下层代表y轴(YM:负端,YP:正端)。当读取x轴坐标时,XP接3.3v,XM接地,从YM读取按下点的电压值作为模拟输入信号,再经过AD转换后就得到了x轴坐标。同理,当读取y轴坐标时,Y原创 2017-08-18 16:01:46 · 2164 阅读 · 0 评论 -
驱动-按键-中断模式
驱动-按键-中断模式eint_drv.c/*******驱动代码************/#include #include #include #include #include #include #include #include #include #include #include static struct class *eintdrv_cl原创 2017-08-09 15:57:28 · 309 阅读 · 0 评论 -
linux驱动模块组成
linux驱动针对S3C2440的GPG进行驱动程序设计驱动程序框架file_operations结构体设计file_operations结构体中的接口函数实现驱动程序初始化函数驱动程序退出函数file_operations结构体设计GPIO驱动程序需要实现以下几个接口函数open:用于支持应用程序的open操作release:用于支持应用程原创 2017-08-08 15:34:45 · 347 阅读 · 0 评论 -
中断-按键控制LED灯
三个按键分别控制三个LED灯初始化函数:/* * init.c: 进行一些初始化 */ #include "s3c24xx.h"/* * LED1,LED2,LED4对应GPF4、GPF5、GPF6 */#define GPF4_out (1<<(4*2)) //定义为01 输出#define GPF5_out (1<<(5*2))#define GPF6原创 2017-07-25 15:56:53 · 4199 阅读 · 1 评论 -
按键-LED
利用查询IO口的方式实现按键控制LED‘灯的亮灭#include "s3c24xx.h"#define LED_ON 0#define LED_OFF 1#define KEY1_POS (0)//按键1在IO端口的位置,此处为GPF0端口,则值为0#define KEY2_POS (2)//按键2在IO端口的位置,此处为GPF2端口原创 2017-07-25 16:01:56 · 419 阅读 · 0 评论 -
linux硬件设备操作函数 linux硬件设备操作函数
open(/dev/ietctl, O_RDWR) 这是文件I/O的常用函数,open函数,open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值,那么这个值代表的就是文件描述符。一般的写法是if((fd=open("/dev/ttys0",O_RDWR | O_NOCTTY | O_NDELAY)<0){pe转载 2017-08-09 15:34:56 · 450 阅读 · 1 评论 -
指针专项
用函数指针变量调用函数#include #include int Max(int x,int y){ int z; if(x>y){ z=x; } else{ z=y; } return z;}/*int main(){ int x,y,m; scanf("%d%d",&x,&原创 2017-08-02 10:19:52 · 329 阅读 · 0 评论 -
触摸屏驱动-JZ2440
测试方法:1、make menuconfig 去掉原来的触摸程序 ->Device Drivers->Input device support->generic input layer->Touchscreens s3c2410/s3c2440 tsmake uImage使用新内核启动2、在虚拟机中编译tslib2.1、解压缩tar xzf t原创 2017-08-16 11:21:35 · 689 阅读 · 0 评论 -
LCD驱动-JZ2440
怎样写LCD驱动程序1、分配一个fb_info结构体,使用framebuffer_alloc()函数2、设置fb_info中的参数,1)固定参数(fix)2)可变参数(var)3)设置操作函数 fbops4)其他设置 如调色板pseudo_palette和屏幕尺寸screen_size5)分配显存 dma_alloc_writecombine(),返回的是虚拟地址3原创 2017-08-16 11:16:44 · 439 阅读 · 0 评论 -
Linux驱动开发概述
Linux设备分类设备的驱动程序也要像裸机程序那样进行一些硬件操作,不同的是驱动程序需要"融合进内核里",因此需要在驱动程序中加入操作系统规定的接口,这些接口都是独立于设备的。虽然操作系统为驱动程序设计者带来了"麻烦",却为应用程序设计者带来了"便利"。Linux下设备分为三类:字符设备、块设备、网络设备。字符设备是指必须以串行顺序访问的设备,比如触屏;块设备是指可以以任意原创 2017-08-08 21:33:06 · 281 阅读 · 0 评论 -
指针的点运算和箭头运算(->)的区别
指针的点运算和箭头运算(->)(其实点运算是结构体变量访问其成员的操作符 箭头运算是结构体指针访问其指向的成员变量的操作符)突然发现指针的两个运算符我是不太清楚的,就翻书搞了下:其实点运算和箭头运算都可以当作访问指针所指向的 结构体或者类对象的成员是用的操作符。比如:struct song{int a;}原创 2017-08-01 16:18:01 · 10207 阅读 · 1 评论 -
Linux进程间六种通信方式
linux下进程间通信的几种主要手段: 1.管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信; 2.信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件生,除了用于进程间通信外,进程还可以发送信号给原创 2017-08-10 15:29:59 · 318 阅读 · 0 评论 -
UART-中断模式
代码downloadinit.c/* * init.c: 进行一些初始化 */ #include "s3c24xx.h" void disable_watch_dog(void);void clock_init(void);void memsetup(void);void copy_steppingstone_to_sdram(void);/* * 关闭WATCHD转载 2017-08-03 15:02:25 · 1057 阅读 · 0 评论 -
分离分层
bus_drv_dev模型: 简单说明:这张图就是全部了。device是与硬件相关的代码,driver是比较稳定的驱动代码。当修改硬件部分的时候,只修改dev里面的东西。=======================================================================================================原创 2017-08-18 15:16:49 · 417 阅读 · 0 评论 -
输入子系统代码测试
/* 参考drivers\input\keyboard\gpio_keys.c */#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #incl原创 2017-08-18 14:49:25 · 298 阅读 · 0 评论 -
为何引入输入子系统及其架构
1、为何引入input system? 以前我们写一些输入设备(键盘、鼠标等)的驱动都是采用字符设备、混杂设备处理的。问题由此而来,Linux开源社区的大神们看到了这大量输入设备如此分散不堪,有木有可以实现一种机制,可以对分散的、不同类别的输入设备进行统一的驱动,所以才出现了输入子系统。 输入子系统引入的好处:(1)统一了物理形态各异的相似的输入设备转载 2017-08-18 14:43:18 · 306 阅读 · 0 评论