自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(152)
  • 资源 (7)
  • 收藏
  • 关注

原创 Linux系统日志管理-- rsyslog

rsyslog

2024-03-06 10:07:42 3811

原创 根文件系统之initramfs

我们可以说直接访问设备驱动读取其上边的文件系统(设备上的文件系统是挂载在自己的根目录),不就可以了吗;Tmpfs是linux 系统中基于内存/交换分区作的文件系统,与ramdisk不同的是,ramdisk是作为块设备,基于ext的文件系统,所以不可绕过的是page cache的内存复制,具体可以参考前面写的关于ramdisk, 对tmpfs来说就是直接操作内存做为文件系统的,而不是基于块设备的。在grub下,可以通过菜单选择不同的启动方式,可以选择不同的内核,不同的initramfs,不同的根文件系统。

2024-01-31 20:19:54 1627

转载 python3: error while loading shared libraries: libpython3.7m.so.1.0: cannot open shared object file:

最优雅的路径添加方式了吧

2022-11-23 10:57:59 6411

转载 linux 应用最终是怎么调到底层驱动的

Linux系统调用怎么和内核或底层驱动交互的:https://www.cnblogs.com/Ph-one/p/8482919.html学习Linux系统下驱动程序开发已有大半年时间,心中一直有个疑惑:那就是诸如open、write、read等系统调用是怎么和内核或底层驱动建立起联系的呢?今天将自己的一些粗略的理解总结如下。 学过Linux系统下驱动程序开发的都知道,大部分的基础性的驱动操作都包括3个重要的内核数据结构,称为file_operations,file,和inode。我们需要对这

2022-04-28 15:41:03 620

原创 framebuffer驱动详解

1.framebuffer介绍1、什么是framebuffer(1)裸机中如何操作LCD(2)OS下操作LCD的难点显存放在内核中还是应用中是个问题,之前讲的应用和内核之间传递数据用的是copy_from_usr,copy_to_usr,只能满足小流量的传输,显示图片并以24帧每秒播放不适合用此方法。我们用的方法是mmap,在内核空间申请一段内存作为显存,然后把这段内存的物理地址映射到应用的地址空间来。相当于应用中也有一块内存,但是这两块内存的虚拟地址不一样。但是对应同一块物理地址。(3)fram

2022-04-25 23:05:51 2139

转载 Linux内核

文章目录参考文章:进程:内存空间管理:进程间通信,同步,互斥手段其他有些内容还是记一笔参考文章:进程:任务调度:https://zhuanlan.zhihu.com/p/100030111进程地址空间:https://zhuanlan.zhihu.com/p/66794639任务调度算法和优先级控制:https://zhuanlan.zhihu.com/p/124313667中断处理机制:https://zhuanlan.zhihu.com/p/83709066内存空间管理:虚拟地址转换,

2022-04-24 16:22:32 267

原创 Linux设备驱动模型

文章目录前言1.linux设备驱动模型简介2.设备驱动模型的底层架构3.总线式设备驱动组织方式4.platform平台总线工作原理4.平台总线实践环节前言1.linux设备驱动模型简介1、什么是设备驱动模型(1)类class、总线bus、设备device、驱动driver(内核代码中有4个结构体)(2)kobject和对象生命周期(自动管理生命周期)(3)sysfs(虚拟文件系统,在内核空间和用户空间间建立关系,把内核的结构体变量的一些值以文件的形式展现出来,通过echo、cat操作属性节点

2022-04-18 16:57:19 3618

原创 奇怪的GNU C知识增加了

文章目录前言1.GNU C的__attribute__机制2.\_asm\_3.\_\_builtin\_*,GCC自带的内建函数前言1.GNU C的__attribute__机制在看Linux源码时总会碰到__attribute__ ,(之前也零散的碰到了在uboot中),其实这个是GNU C的一个机制。可以设置函数属性、变量属性、类型属性。格式:__attribute__ ((attribute-list))。参数:函数属性(Function Attribute)类型属性(T

2022-04-15 14:55:37 359

转载 linux tty

转自 https://www.cnblogs.com/hzl6255/p/9533327.html,很好的介绍tty的文章1. TTY介绍TTY(TeleType)指Linux中的一类终端(Terminal)设备, 是一种字符设备在Linux中, tty可分为如下几类串行端口终端(serial port terminal): 指使用计算机串行端口连接的终端设备, /dev/ttySn伪终端(pseudo terminal): 通常是通过ssh登陆的终端, /dev/pts/*控制终端(cont

2022-04-02 15:20:04 417

转载 Linux /proc & /sys以及其他伪文件系统

Linux

2022-04-02 14:47:47 383

原创 linux的子系统

Linux子系统

2022-03-25 21:02:14 6172 1

转载 Linux设备树

文章目录前言1 前言2 概念设备树框架引用KEY3 DTS文件的格式前言参考:https://blog.csdn.net/gzxb1995/article/details/108751514关于设备树详细的语法规则请参考《Devicetree SpecificationV0.2.pdf》和《Power_ePAPR_APPROVED_v1.12.pdf》这两份文档。1 前言如何去描述设备这一定是设备驱动需要考虑的重要问题。早先,linux中ARM架构使用源文件中的宏、结构等去描述设备,不过现在

2022-03-10 16:05:22 1563

原创 uboot中start.S的_TEXT_BASE

uboot中start.S有以下语句:_TEXT_BASE: .word TEXT_BASE但是他从哪来呢?猜测1:主Makefile中有对其定义,并且export为环境变量,我一开始认为环境变量可以作用到整个工程,但其实不然,Makefile的make也是一个应用程序,其make的整个过程中环境变量是有效的,但是make之后,失效,并且只可以在上层Makefileexport供下层Makefile使用,同级别都不能使用。也就是说他export的变量只在当前这次运行的进程中有效。和shell一

2022-02-20 22:22:25 705

转载 正则表达式

文章目录前言语法普通字符非打印字符特殊字符限定符定位符选择反向引用前言先放常用的基础吧语法正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里与正则式的的含义是不同的。构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表

2022-02-13 22:32:27 307

转载 uboot FIT

文章目录前言1.前言1.http://www.wowotech.net/u-boot/fit_image_overview.htmlhttps://harmonyhu.com/2018/07/01/uboot-ITS/http://www.wowotech.net/sort/u-boothttps://www.itmangoto.cn/2018/05/18/arm-uboot-fit-img/https://blog.csdn.net/ooonebook/article/details/

2022-02-04 16:20:08 275

原创 uboot配置,编译,移植

文章目录前言1.开发板厂商提供的uboot的配置及编译前言uboot是通用的启动代码,我们编译移植最好找到和自己的开发板最相近的版本,比如厂商已经匹配的uboot,uboot分类:官方版,SoC厂商,开发板厂商。我们可以根据自己入手的开发板做一次移植,再根据官方给出的uboot做一次移植,从而很好的学习此方面的知识。1.开发板厂商提供的uboot的配置及编译以下内容基于x210开发板:配置:make x210_sd_config出现:Configuring for x210_sd boa

2022-02-03 22:28:01 2580

原创 autotools

文章目录前言1前言makefile可以很好的帮我们管理工程,但是大型的工程很难编写makefile,用autotools通过config的方式来帮助生成makfile文件,makfile看文章:https://blog.csdn.net/weixin_44705391/article/details/1227302941...

2022-01-31 17:16:16 916

原创 Makefile

工程编译工具

2022-01-28 17:12:26 771

转载 udev设备文件系统

文章目录前言udevmdev前言udev&mdev设备文件系统有devfs,mdev,udev这三种udev设备管理器,提供设备事件,(如Windows的设备管理器一样,插入设备,触发设备事件,如果我们了解udev,就可以利用设备事件来做一些事情,可以写脚本,由udev触发,比如当一个游戏手柄连接后加载一个指定的驱动程序,或者当你用于备份的驱动器连接后,自动执行备份工作)。为什么udev被普及,是因为devfs有缺点:(静态文件和devfs)有几个缺点:1.不确定的设备映射。特

2022-01-27 15:50:04 3404

原创 Ubuntu配置开发环境

文章目录前言一前言对已经配置的开发环境做一个记录,不然有些装的东西老是忘记一

2022-01-25 16:32:35 1316

原创 uboot命令集&环境变量

1.printenv/print 打印环境变量2.set/setenv 设置环境变量,设置环境变量到DRAM,要是需要设置到flash中需要使用save命令。save的过程:var保存到flash中:3.save4.reset:重启5.fastboot:插上USB线uboot上执行fastboot之后,接下来的所有命令都是在Windows上执行的:最常用的三个命令:查看设备:fastboot devices烧录命令:fastboot flash bootloader android2.3

2022-01-24 22:59:09 1780

原创 电机控制开发

文章目录前言3.STM32定时器4.直流有刷电机5.直流有刷驱动板电流电压采集6.舵机控制7.步进电机8.无刷直流电机9.直流无刷驱动板温度电压采集10.编码器详解1.控制系统与电机的关系2.PID算法的通俗解说3.PID控制器参数整定4.编码器的使用5.直流电机速度环控制实现6.直流电机电流环控制实现7.直流电机位置环控制实现8.有刷电机多环控制实现9.步进电机速度环控制实现10.步进电机位置环控制实现11.步进电机位置速度双环控制实现12.步进电机梯形加减速实现13.步进电机S形加减速实现14.步进电机

2022-01-06 16:46:43 7821

原创 文件系统FatFs

串行FLASH文件系统FatFs官网:http://elm-chan.org/fsw/ff/00index_e.htmlfatfs移植需要用户支持的函数:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Zbx27O4-1641193300295)(<img src="https://img-blog.csdnimg.cn/5c8f3e1ce73a4db8a55a0d55555fbf95.png?x-oss-process=image/watermark,type_

2022-01-03 15:04:01 798

原创 pcb绘制

文章目录前言1.原理图1.加入元器件2.连线3.生成pcb:4.下单项目pcb文件1.待更新前言本文展示在立创上画pcb之后下单,以及绘制的一些pcb板子源文件1.原理图1.加入元器件1.打开立创eda新建工程:https://lceda.cn/2.打开左侧元件库,搜索我们需要的原件,比如搜索nodemcu,由于系统库只提供了俩,不是我们需要的,所以我们在用户贡献库中找找看,我们要的是esp8266芯片的,点击一种一款在右边可以看到其示意图,如图所示(尽量找有pcb图的图):搜不到图的

2021-12-29 18:28:01 1110

原创 PID控制理论

文章目录前言概述入门进阶使用前言简单的认识pid和使用pid,至于如何优化P、I、D三个参数,提高鲁棒性,需要学习控制理论,工业应用目前95%使用。https://www.bilibili.com/video/BV1B54y1V7hp?from=search&seid=227773174318710325&spm_id_from=333.337.0.0概述1.初始:https://zhuanlan.zhihu.com/p/74131690(2)理解P(比例环节)作用:基础

2021-12-27 20:39:08 4526

原创 卡尔曼滤波

文章目录前言1.概要2.基本滤波知识储备3.通俗公式理解1.卡尔曼公式理解:2.调节超参数3.卡尔曼滤波的使用4.从理论到实践前言啥都不懂,为了飞控项目,先学起来。https://www.bilibili.com/video/BV1Rh41117MT?p=3&spm_id_from=pageDriver经典控制理论、现代控制理论、自动控制理论挖坑,大学不好好学,后悔去吧1.概要适用系统:线性高斯系统(线性:叠加性,齐次性。高斯:噪声满足正态分布)宏观意义:滤波既是加权理想状态:信号

2021-12-27 15:13:48 1559

原创 stm32库开发集

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言绪论GPIORCC中断EXTISystickUSARTi2cspiadcdacDMATIM\RTC\WDGSDIOUSBCRCCAN前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考绪论keil5寄存器启动文件GPIORCC中断EXTISys

2021-12-21 17:02:48 1257

原创 写一个freeRTOS

文章目录前言新建工程链表任务的定义与任务切换的实现临界段的保护空闲任务与阻塞延时的实现支持多优先级任务延时列表的实现支持时间片前言官网:www.freertos.org野火教程笔记:1.freertos实现2.freertos应用开发新建工程keil中新建工程,选择如下:新建分组如下:配置时钟和debug:选择25M的来由:system_ARMCM3.c中的时钟配置:#define __XTAL ( 5000000UL) /* Oscillat

2021-11-23 22:22:31 395

原创 freeRTOS应用开发

文章目录前言移植创建任务freeRTOS的启动流程任务管理消息队列信号量互斥量事件软件定时器任务通知内存管理中断管理CPU使用率统计前言官网:www.freertos.org野火教程笔记移植创建任务freeRTOS的启动流程任务管理消息队列信号量互斥量事件软件定时器任务通知内存管理中断管理CPU使用率统计...

2021-11-23 14:11:48 1540

原创 ARM 开发板供电置锁-01

文章目录前言前言解决X210开发板的软开关按键问题软启动电路详解(1)210供电需要的电压比较稳定,而外部适配器的输出电压不一定那么稳定,因此板载了一个稳压器件MP1482.这个稳压芯片的作用就是外部适配器电压在一定范围内变化时稳压芯片的输出电压都是5V。(2)MP1482芯片有一个EN(Enable)引脚,这个引脚可以让稳压芯片输出或关闭输出。EN为高电平时有输出电压,EN引脚为低电平时稳压芯片无输出。(3)两个因素可以影响EN引脚的电平:第一个是POWER按键(SW1),POWER按

2021-11-04 16:31:28 286

原创 S5PV210部分sfr合集

/* S5PC110 device base addresses */#define ELFIN_DMA_BASE 0xE0900000#define ELFIN_LCD_BASE 0xF8000000#define ELFIN_USB_HOST_BASE 0xEC200000#define ELFIN_I2C_BASE 0xE1800000#define ELFIN_I2S_BASE 0xE2100000#define ELFIN_ADC_BASE 0xE1700000

2021-10-31 11:23:11 209

原创 ARM外设 cortex-a8

文章目录前言总结前言system1.RTC2.clock3.pwm4.watchdog5.DMA6.ADCconnect7.IIS8.MMC /SD9.USB10.UART11.IIC12.SPI13.GPIOmemory14.SRAM/ROM15.onenand16.nand17.ddr总结可能是这样:system的学习:RTC、clock、pwm、watchdog、DMA、keypad?、ADCconnect的学习:IIS、MMC /SD

2021-10-30 14:13:58 1461

原创 shell脚本

文章目录前言前言挖坑提示:以下是本篇文章正文内容,下面案例可供参考

2021-10-29 20:17:53 222

原创 ARM体系结构

文章目录前言1.SRAM空间2.汇编程序和C程序互相调用:bl Cfunction3.-nostdlib4.Makefile5.数据手册上的图集合.ARM的模式、寄存器、异常向量表异常处理前言杂乱的底层知识,帮助理解程序运行1.SRAM空间BL0+BL1+BL2重启后会在svc模式,这时只有sram可以使用,也就是裸机下没有去初始化ddr的话,只有96kb的内存可以使用,我们需要为c程序提供运行环境,就要设置栈,在sram空间中,栈是被规定在特定位置的:我们设置时需要设置svc的头地址,并且栈

2021-10-29 19:45:03 2117

原创 ARM汇编指令集

ldr,strldr(load register)指令将内存内容加载入通用寄存器。str(store register)指令将寄存器内容存入内存空间中。(ARM采用RISC架构,CPU本身不能直接读取内存,而需要先将内存中内容加载入CPU中通用寄存器中才能被CPU处理。ldr/str组合用来实现 ARM CPU和内存数据交换)8种寻址方式寄存器寻址 mov r1, r2(C语言中的r1=r2)立即寻址(立即数) mov r0, #0xFF00(加#表示是一个数字)寄存器移位寻址 mov

2021-10-27 17:17:21 4918 1

原创 Linux命令集

文章目录前言磁盘空间相关前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考磁盘空间相关df -h 显示已挂载的分区列表du -h 列出文件或文件夹的大小。Du -h 文件名,可以列出这个文件有多大,单位会根据文件大小变化,不像ls -l以字节为单位。sed和awk:正则表达式,匹配加替换。格式化文件系统mkfs

2021-10-27 14:50:12 226

原创 Linux使用,安装以及一些出错情况

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言LinuxWindows嵌入式设备前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考Linux1.虚拟机强制关机后打不开:1.出现获取所有权提示的时候仍然打不开,可以找到虚拟机安装目录,搜索.lck文件,记住是文件不是文件夹,删除文件即可;2.出现还原

2021-10-27 14:03:15 1207

原创 linux备份

备份为gz格式,速度快,压缩率比bz2低:tar cvpzf backup.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.gz --exclude=/mnt --exclude=/sys --exclude=/media /恢复:tar xvpfz backup.tgz -C /需要额外创建目录mkdir procmkdir lost+foundmkdir mntmkdir sys备份为bz2格式,

2021-08-19 22:07:10 81

原创 5.Qt查漏补缺

1.杂项1.字符串显示可能会乱码,解决://str.toUtf8() 转换成 QByteArray //QByteArray.date() 转换成 char * 显示 QString str;str.toUtf8().data(); 2.对象树(见第一篇文章)要求:(1).动态分配空间 new(2).指定了父对象(3).祖宗类是QObiect3.信号和槽的重载二义性(见第一篇文章)2.注意Qt4和Qt5的区别,Qt4我用在ARM上,区别如下:1.connect用

2021-08-13 22:37:19 86

原创 3.Qt消息机制和事件

9.Qt消息机制和事件好文来自https://www.cnblogs.com/weizhixiang/p/5824345.html一,事件  鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。  Qt 程序需要在main()函数创建一个QApplication对象,然后调用它的exec()函数。这个函数就是开始 Qt 的事件循环。在执行exec()函数之后,程序将进入事件循环来监听应用程序的事件。当事件发生时,Qt 将创建一个事件对象。Qt 中所有事件类都继承于QEvent。在事

2021-08-13 11:44:49 475

Linux_kernel.rar

Linux_kernel.rar

2021-03-16

busybox.rar

busybox.rar

2021-03-08

busybox.rar

busybox.rar

2021-03-08

三星Linux内核 android_kernel_2.6.35_smdkv210.tar.bz2

三星Linux内核

2021-03-07

kernel.tar.bz2

Linux内核2.6.35.7版本

2021-03-07

动静态链接库制作.rar

动/静态链接库制作示例

2021-02-27

静态链接库制作示例.rar

静态链接库制作示例

2021-02-27

空空如也

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

TA关注的人

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