
linux
文章平均质量分 59
liebecl
不断前行~
展开
-
中断向量表概述
目录中断中断源什么是中断向量表?中断向量中断函数中断的优先级中断服务程序的设计中断所谓中断是指CPU在正常执行程序的过程中,由于内部/外部事件的触发或由程序的预先安排,引起CPU暂时中断当前正在运行的程序,而转去执行为内部/外部事件或程序预先安排的事件的服务子程序,待中断服务子程序执行完毕后,CPU再返回到被暂时中断的程序处(断点)继续执行原来的程序,这一过程成为中断。中断源触发中断的事件则被称作中断源。什么是中断向量表?中断向量表就是中断向量的列表。中断向量表在内存中保存,其中存放着中断源(原创 2022-07-30 21:08:08 · 8404 阅读 · 0 评论 -
进程与线程
文章目录进程与线程概述进程进程概述进程间通信线程线程与进程的关系和区别火车类比过程数据组成进程与线程概述不管是基于windows,linux还是其他平台,或者C还是java等编程语言,都会最后得到运行的程序,都会使用到进程与线程。程序是一种静态概念,是保存在磁盘上的一系列文件。进程是一种动态概念,是运行中的程序,是资源分配的最小单元,一个程序包括一个或多个进程。线程是CPU运算调度的最小单元,也可以当做轻量级的进程,一个进程可以包含一个或者多个线程。进程进程概述多进程是指操作系统能同时运行多原创 2022-07-29 13:25:52 · 127 阅读 · 0 评论 -
linux系统中TCP/UDP套接字编程概述
目前linux系统中使用的比较普遍的网络通信协议是TCP和UDP,下面就讲一下两个协议的通讯原理。主要是分为客户端和服务器端,客服端用于发送数据,而服务器端用于接收数据,一个服务器端可以对应多个客户端。目录UDP通信协议UDP通信协议概述UDP通信协议原理图API函数socket函数bind函数recvfrom函数sendto函数TCP通信协议TCP通信协议概述TCP通信协议原理图API函数connect函数write函数read函数UDP通信协议UDP通信协议概述UDP全称用户数据报协议(User原创 2022-07-22 13:50:56 · 697 阅读 · 0 评论 -
在ubuntu 18.04下安装Nvidia显卡驱动的黑屏问题
目录安装环境问题解决办法安装环境ubuntu 18.04ROG 幻16 3060问题禁用ubuntu 自带显卡驱动Nouveau,具体流程网上查询根据系统推荐,安装了nvidia-driver-510重启电脑后,出现黑屏解决办法开机进入ubuntu恢复模式,然后进入root模式删除禁用ubuntu 自带显卡驱动Nouveau时添加的配置文件先挂载系统可读写mount -o remount,rw /删除之前创建的文件rm -f /etc/modprobe.d/black原创 2022-03-10 16:06:48 · 7477 阅读 · 8 评论 -
在ubuntu 18.04下linux版本的搜狗输入法
目录安装步骤安装步骤安装fcitxsudo apt-get install fcitx将简体中文和英文添加到安装的y语言键盘输入法系统设定为fcitx,应用到整个系统,重启电脑安装linux版搜狗输入法sudo dpkg -i sogoupinyin_版本号_amd64.deb如果报错,需要安装依赖sudo apt -f install重启电脑即可——————2022.3.10...原创 2022-03-10 15:41:17 · 389 阅读 · 0 评论 -
Ubuntu 18.04安装ROS melodic教程
文章目录原创 2022-01-10 10:26:16 · 269 阅读 · 0 评论 -
总线设备驱动模型
关键字:热插拔,跨平台移植性 随着技术的不断进步,系统的拓扑结构也越来越复杂,对热插拔,跨平台移植性的要求也越来越高,2.4内核已经难以满足嵌入式Linux技术这些需求。为适应这种形势的需要,从Linux 2.6内核开始提供了全新的设备模型。关键字:总线,驱动和设备 总线:供设备和驱动匹配 驱动:在总线上挂载驱动 设备:在总线上挂载设备总线模块程序/*Copyright (c)...原创 2018-02-08 00:16:39 · 308 阅读 · 0 评论 -
基于平台总线的按键设备驱动
平台总线 将设备和驱动分离开来,便于移植,提供设备与驱动的匹配。设备模块的程序/*Copyright (c) 2018 Caokaipeng,All rights reserved.*/#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>#inclu...原创 2018-02-10 00:20:36 · 260 阅读 · 0 评论 -
飞凌嵌入式OK6410按键设备驱动的模型
飞凌嵌入式OK6410按键设备驱动的模型包含以下几个点 (1)混杂设备驱动模型 按键是一种混杂设备,也是一种字符设备。 (2)linux中断处理技术 按键通过产生中断来让驱动程序加以识别。 (3)按键驱动硬件操作实现 把按键对应的控制寄存器设定为中断模式,通过读取数据寄存器判断是否按键已经按下。 (4)中断分层处理原创 2018-02-04 23:27:56 · 609 阅读 · 1 评论 -
bootm报错之解决
bootm挂载nfs文件的系统的时候报错,错误如下: Failed to execute /linuxrc. Attempting defaults… Kernel panic - not syncin 解决:发现是bootagrs启动命令被改动了,更改为nfs挂载启动即可。 setenv bootargs noinitrd console=ttySAC0,115200 init=/init原创 2018-01-28 00:17:39 · 749 阅读 · 0 评论 -
linux开发入门之环境的搭建
linux之路漫漫而修远兮,吾将上下而求索。硬件准备:OK6410开发板,win7 PC机,路由器; 软件准备:VM虚拟机,linux发行版Red Hat。(1)SD卡制作引导启动程序 本人是用的飞凌的板子,有一个SD_Writer的工具可以制作。 事先准备一个4G或者8G的SD卡,通过读卡器插到PC机,双击SD_Writer打开工具。 按照1,2,3步即可完成制作。 1.S原创 2017-12-07 23:52:47 · 258 阅读 · 0 评论 -
浅谈单片机、ARM和DSP的异同
犹记得当年读书的时候,老师说单片机、ARM、DSP有互通之处,都是CPU,但听老师讲都听不懂。 我该如何理解他们,并找出他们的异同呢?我们来看看行内人的看法: ICer,从事ARM CPU的SOC设计 按我的理解说几句吧,希望能说薄一点。 首先,说CPU,中央处理器,本质就是一个集成电路,实现的功能就是从一个地方(如rom)读出一个指令,从一个地方(如ram)转载 2017-09-20 23:30:45 · 7646 阅读 · 0 评论 -
内核模块的Makefile文件
编译内核模块需要Makefile文件,示例如下:obj-m := helloworld.o //与内核模块代码的名字保持一致,生存目标.o文件KDIR := /home/kernel/linux-ok6410 //内核的路径all: make -C $(KDIR) M=$(PWD) modules CROSS_COMPILE=arm-linux- ARCH=arm原创 2017-11-28 23:06:19 · 342 阅读 · 0 评论 -
我的第一个内核模块
内核模块的编写一般分为三步: 1.头文件 2.模块的加载 3.模块的卸载#include <linux/init.h>#include <linux/module.h>static int hello_init(void){ printk(KERN_WARNING"Hello,world!\n"); return(0);}static void hello_exit(vo原创 2017-11-22 23:59:23 · 225 阅读 · 0 评论 -
在应用程序中移植linux内核链表
1.链表简介 链表是一种常用的数据结构,它通过指针将一系列数据节点连接成一条数据链。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。2.内核链表结构 struct list_head { struct list_head *next, *原创 2017-12-15 00:20:45 · 462 阅读 · 0 评论 -
初探字符设备驱动
在linux系统中,驱动程序通常采用内核模块的程序结构来进行编码。因此,编译/安装一个驱动程序,其实质就是编译/安装一个内核模块。通过字符设备文件,应用程序可以使用相应的字符设备驱动程序来控制字符设备。模型如下: —————————————— 2017.12.25 23:49原创 2017-12-25 23:48:53 · 200 阅读 · 0 评论 -
RedHat版linux系统启动后的环境配置命令
重启smb服务器 /etc/init.d/smb restart重启nfs服务器 /etc/init.d/nfs restart重启tftp服务器 /etc/init.d/xinetd restart关闭linux防火墙 /etc/init.d/iptables stop setenforce permissive—————————— 2018.01.12 0:10原创 2018-01-12 00:15:19 · 287 阅读 · 0 评论 -
飞凌嵌入式OK6410开发板的LED驱动程序
led.c代码 -> 驱动代码#include #include #include #include #include #include "led.h"//定义led的控制寄存器地址#define GPMCON 0x7F008820//定义led的数据寄存器地址#define GPMDAT 0x7F008824//控制寄存器虚拟地址unsigned int *led原创 2018-01-17 00:51:00 · 740 阅读 · 0 评论 -
模拟字符设备驱动编程以及相关运行
根据字符设备驱动的模型 1.驱动初始化 2.实现设备操作 3. 驱动注销示例代码如下:#include #include #include #include #include /*静态分配cdev*/struct cdev mdev;dev_t devno;int dev1_regs[5];int dev2_regs[5];原创 2018-01-08 23:17:30 · 221 阅读 · 0 评论 -
I2C中关于ACK和NACK的几点东西
在最近的编程过程中,会经常使用I2C来读写数据,用示波器来查看I2C的波形,所以想总结一下I2C中关于ACK和NACK的几点东西。I2C简介I2C是由Philips公司发明的一种串行数据通信协议,仅使用两根信号线:SerialClock(简称SCL)和SerialData(简称SDA)。I2C是总线结构,1个Master,1个或多个Slave,各Slave设备以7位地址区分,地址后面再跟1位读写位原创 2017-08-01 23:23:03 · 10003 阅读 · 1 评论