Linux笔记
天堂陌客
综合性人才,全栈工程师
展开
-
Linux 驱动编写入门五步走
一、总体思路简述流程图笔记PS :高清可放大查看二、完成 关于 加载与卸载模块的函数(一)包含#include <linux/module.h> #include <linux/init.h>(二)函数示例static int __init hello_init(void) { printk("Hello, I'm ready!\n"); return 0; } static void __exit hello_exit(void) { pri原创 2020-08-08 12:59:27 · 587 阅读 · 0 评论 -
EasyARM-i.MX283A 更换内核开机LOGO
安装arm-fsl-linux-gnueabi-gcc 交叉工具链1获取安装包链接:https://pan.baidu.com/s/1-Dh9dLEhpvohoMMkgca6sQ提取码:xdrf2安装工具链mkdir -p /opt/freescale/usr/localtar zxvf gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz -C /opt/freescale/usr/local3添加环境变量在/etc/profil原创 2020-06-29 16:40:15 · 846 阅读 · 0 评论 -
linux与QT(ARM)的中文显示配置
ubuntu中文支持安装中文语言包打开 System Settings(系统设置)菜单,点击打开 Language Support(语言支持)选项卡。Install / Remove Languages,在弹出的选项卡中下拉找到Chinese(Simplified),即中文简体,在后面的选项框中打勾。然后点击Apply Changes 提交,系统会自动联网下载中文语言包。如果提示缺少安装包,在命令行输入:sudo apt-get update。(保证ubuntu 是联网的)。设置使用中文语言包L原创 2020-06-27 13:43:03 · 1200 阅读 · 0 评论 -
EasyARM-i.MX283A 开机自动自动登录并启动QT应用程序
参考自 https://blog.csdn.net/u014213012/article/details/72772061一、编译autologin.c程序在虚拟机下,交叉编译 autologin.c#include <unistd.h>int main() {execlp(“login”,“login”,"-f",“root”,0);return 0;}编译arm-none-linux-gnueabi-gcc autologin.c -o autologin得到可执行文件原创 2020-06-08 11:27:13 · 478 阅读 · 0 评论 -
EasyARM-i.MX283A 开发环境配置笔记
EasyARM-i.MX283A 开发环境配置笔记准备开发环境所需的文件:已上传网盘,自行下载链接:https://pan.baidu.com/s/1C3SB3UR5Yfn8huMj5kP7GA提取码:gy1y一、创建虚拟机使用:ubuntu-12.04-desktop-i386.iso链接:https://pan.baidu.com/s/1fVtGD74s7-raClCYlmS87g提取码:3622选择网络桥接模式 4GCtrl + alt + T 打开终端sudo apt-g原创 2020-06-06 16:55:14 · 1643 阅读 · 0 评论 -
linux驱动学习笔记 同步互斥阻塞
概述linux驱动如果多个进程同时访问,会导致不可预料的后果,所以需要一些机制来限制这种情况发生知识点原子操作信号量和互斥锁非阻塞原子操作atomic_dec_and_test函数执行的时候,不会跳转到别的线程运行,所以是安全的1、定义一个原子变量,并初始化为1atomic_t v = ATOMIC_INIT(1);2、原子变量自减1atomic_dec(&v)...原创 2019-11-23 15:33:22 · 137 阅读 · 0 评论 -
linux驱动学习笔记 异步通知
概述异步通知机制能让驱动主动通知应用程序做某些事,而不需要应用程序不断查询驱动的状态来决定做什么事异步通知需要用到信号处理的机制:重点如何注册信号处理函数 ?使用signal()谁发信号 ? 驱动程序发信号信号发给谁 ? 发给应用程序怎么发信号 ? 使用kill_fasync以按键程序为例先学习kill_fasync怎么使用static struct...原创 2019-11-22 10:19:31 · 123 阅读 · 0 评论 -
linux驱动学习笔记 led的驱动程序与驱动测试程序
先预习将要用到的知识点int main(int argc, char **argv)互斥锁设备类unlikely()IS_ERR 与 PTR_ERRcpu内存映射方式(Memory-mapped)copy_from_usermain函数的参数解析第一个参数,int型的argc,为整型,用来统计程序运行时发送给main函数的命令行参数的个数,在VS中默认值为1。第二个参数,c...原创 2019-11-18 17:31:54 · 709 阅读 · 0 评论 -
linux学习笔记 poll
概述在没有poll机制的情况下,大部分时间程序都处在read中休眠的那个位置。如果我们不想让程序停在这个位置,而是希望当有按键按下时,我们再去read,因此我们编写poll函数,测试程序调用poll函数根据返回值,来决定是否执行read函数。本文参考博文:https://www.cnblogs.com/lifexy/p/7508633.htmlpoll机制作用:相当于定时器,设置一定时间使进...原创 2019-11-15 17:25:50 · 174 阅读 · 0 评论 -
linux驱动学习笔记 中断方式的按键驱动
前言最近在根据韦东山老师的视频来学习linux驱动;看视频经常想睡觉(韦东山老师课程讲的非常好,想睡觉是个人原因。。。);于是就干脆直接拿源码来分析,一边分析一边写博客,这样学习不易犯困,还能留下记录方便日后归纳复习。首先根据硬件确定驱动所需功能如图所示,我们需要实现以上四个按键的中断方式驱动。复制所需要用到的包含#include <linux/module.h>#i...原创 2019-11-14 10:58:59 · 356 阅读 · 1 评论 -
linux学习笔记:搭建第一个最简单的根文件系统
搭建根文件系统需要准备哪些东西?一、根文件系统需要第一个应用程序busybox集成了init,为了得到这个busybox程序作为根文件系统的init,所以我们需要对busybox进行编译安装二、内核启动第一个应用程序的过程1、确定标准输入、标准输出、标准错误设备内核的init/main.c的756行,打开了dev/console 作为标准输入、标准输出、标准错误设备。所以我们需要...原创 2019-11-05 10:28:21 · 304 阅读 · 0 评论 -
linux 配置、内核启动
怎么查看有哪些默认配置在内核代码里面查找配置find -name “defconfig” * -nR可以看到arch/arm/configs下有很多defconfig相关的文件,在里面找到和我们单板相近的xxx_defconfig进行make xxx_defconfig所有的配置项写到了.config文件里去,所有的结果被保存到了.config然后再make menuconfig会...原创 2019-10-30 00:07:56 · 391 阅读 · 0 评论 -
使用SSH Secure Shell Client连接Linux时,出现algorithm negotiation failed的解决方法
网上的方法是 修改sshd的配置文件 /etc/ssh/sshd_config步骤如下:cd到etc/ssh目录cd etc/ssh/修改sshd_config的写权限:sudo chmod 777 sshd_config修改sshd_configvi sshd_config在sshd_config的末尾加入以下内容Ciphers aes128-cbc,aes192-cbc,...原创 2019-06-21 16:24:49 · 2937 阅读 · 0 评论