合集-驱动开发

摘要:一、安装VMware 首先先下载 Vmware Workstation ,我这里下载的是最新版17Pro,下面这个链接是阿里云盘下载地址。 https://www.aliyundrive.com/s/c7R9LyVVNEq 永久激活码选其一: JU090-6039P-08409-8J0QH-2YR7 阅读全文
posted @ 2023-06-29 21:07 烟儿公主 阅读(337) 评论(2) 推荐(0) 编辑
摘要:一、完成VMware Tools安装 双击VMwareTool 打开Ubuntu终端快捷键Alt+Control+T 切换汉语的快捷键是Alt+空格 ls 打印出当前所在目录中所有文件和文件夹 cd 桌面 进入桌面文件夹 sudo ./vmware-install.pl 安装tool,输入之前设置的 阅读全文
posted @ 2023-07-13 13:38 烟儿公主 阅读(178) 评论(0) 推荐(0) 编辑
摘要:一、Linux文件系统结构 Linux下都是文件,所以没有Windows一样的盘,有的只有文件夹。 cd / // 进入根目录 ls // 查看根目录"/"下的文件及文件夹 /bin :存储了很多系统命令, /usr/sbin 也存储了许多系统命令。 /sbin :超级用户 root 的根目录文件。 阅读全文
posted @ 2023-07-13 17:36 烟儿公主 阅读(181) 评论(0) 推荐(0) 编辑
摘要:一、Hello World 1、在用户根目录下创建一个C_Program,并在这里面创建3.1文件夹来保存Hellow World程序; 2、安装最新版nvim ①sudo apt-get install ninja-build gettext cmake unzip curl ②sudo apt 阅读全文
posted @ 2023-07-17 13:44 烟儿公主 阅读(166) 评论(0) 推荐(0) 编辑
摘要:一、Ubuntu和Windows文件互传 ① 开启Ubuntu的FTP服务: 下载vsftpd:sudo apt-get install vsftpd; 打开vsftpd.conf:sudo nvim /etc/vsftpd.conf; 确保这两行代码没有被注释: 之后重启FTP服务: ② Wind 阅读全文
posted @ 2023-07-24 17:07 烟儿公主 阅读(226) 评论(0) 推荐(0) 编辑
摘要:1. ROM代码 这是ST官方写的代码,在STM32MP1出厂时就已经烧录进去,不能被修改。ROM代码是上电以后首先执行的程序,它的主要工作就是读取STM32MP1的BOOT引脚电平,然后根据电平来判断当前启动设备,最后从选定的启动设备里面读取FSBL代码,将FSBL代码放在对应的RAM空间。 ST 阅读全文
posted @ 2023-07-25 09:03 烟儿公主 阅读(261) 评论(0) 推荐(1) 编辑
摘要:一、TF-A的使用 TF-A是什么? TF-A 全称是 Arm Trusted Firmware,TF-A是为了保证安全,arm退出的可信固件,简称TF-A。它的作用就是隔离硬件,为硬件提供一个安全环境并提供安全服务。 1. 系统源码获取 STM32MP1Dev - STM32MP1 OpenSTL 阅读全文
posted @ 2023-07-30 08:59 烟儿公主 阅读(576) 评论(0) 推荐(1) 编辑
摘要:由于Ubuntu出现了一些问题,后面都是使用正点原子官方版本。 一、U-boot使用 1. U-boot源码 Linux 系统要启动需要通过 bootloader 程序引导,也就说芯片上电以后先运行一段 bootloader 程序。这段 bootloader 程序会先初始化 DDR 等外设,然后将 阅读全文
posted @ 2023-07-31 11:08 烟儿公主 阅读(833) 评论(1) 推荐(0) 编辑
摘要:一、U-boot工程目录分析 如果要分析uboot源码,首先要将uboot源码进行编译,编译需要在Ubuntu进行,把uboot文件放在一个目录下。 编译完成后的文件是这样: 我们需要看的文件夹如下。 1. arch 文件夹 从上图可以看出有很多架构,比如 arm、 m68k、 x86 等,我们现在 阅读全文
posted @ 2023-08-01 11:21 烟儿公主 阅读(269) 评论(0) 推荐(0) 编辑
摘要:通过对 uboot 启动流程的梳理,我们就可以掌握一些外设是在哪里被初始化的,这样当我们需要修改这些外设驱动的时候就会心里有数。 一、链接脚本 u-boot.lds 分析 uboot 的启动流程,首先要找到“入口”,找到第一行程序在哪里。程序的链接是由链接脚本来决定的,所以通过链接脚本可以找到程序的 阅读全文
posted @ 2023-08-02 15:42 烟儿公主 阅读(602) 评论(0) 推荐(0) 编辑
摘要:一、ST 官方 U-boot 编译测试 1. ST 官方 uboot 源码打补丁 1.1 获得 ST 官方的 uboot 源码 https://www.cnblogs.com/toutiegongzhu/p/17578847.html 这里可以看如何下载uboot源码。解压完后输入以下命令: cd 阅读全文
posted @ 2023-08-03 17:27 烟儿公主 阅读(447) 评论(0) 推荐(0) 编辑
摘要:一、编译 ST 的 Linux 系统 1. 压缩源码 首先先下载 ST 官方源码,之前章节已经下载过了,直接输入以下命令: cd linux/atk-mpl/stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24/sources/arm-ostl-linux-gn 阅读全文
posted @ 2023-08-04 15:20 烟儿公主 阅读(452) 评论(0) 推荐(0) 编辑
摘要:一、根文件系统简介 根文件系统一般也叫做 rootfs,这个是属于 Linux 内核的一部分。 根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所挂载(mount)的第一个文件系统,内核代码的映像文件保存在根 阅读全文
posted @ 2023-08-08 20:56 烟儿公主 阅读(2793) 评论(0) 推荐(1) 编辑
摘要:一、字符设备驱动简介 字符设备是 Linux 驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。比如我们最常见的点灯、按键、 IIC、 SPI,LCD 等等都是字符设备,这些设备的驱动就叫做字符设备驱动。 Linux 应用程序对驱动程序的调用 阅读全文
posted @ 2023-08-11 14:53 烟儿公主 阅读(318) 评论(0) 推荐(0) 编辑
摘要:一、Linux 下的 LED 驱动原理 Linux 下的任何驱动,最后都是要配置相应的硬件寄存器。 1. 地址映射 MMU 全称叫做 MemoryManage Unit,也就是内存管理单元。 现在的 Linux 支持无 MMU 处理器。MMU 主要完成的功能为: 1、完成虚拟空间到物理空间的映射。 阅读全文
posted @ 2023-08-14 15:54 烟儿公主 阅读(165) 评论(0) 推荐(0) 编辑
摘要:一、新字符设备驱动原理 因为 register_chrdev 和 unregister_chrdev 两个函数是老版本驱动文件,现在可以用新字符设备驱动 API 函数。 1. 分配和和释放设备号 使用 register_chrdev 函数注册字符设备的时候只需要给定一个主设备号即可,但是这样会带来两 阅读全文
posted @ 2023-08-15 19:18 烟儿公主 阅读(119) 评论(0) 推荐(0) 编辑
摘要:一、什么是设备树? 设备树(Device Tree),描述设备树的文件叫做 DTS(DeviceTree Source),这个 DTS 文件采用树形结构描述板级设备,也就是开发板上的设备信息: 树的主干就是系统总线, IIC 控制器、 GPIO 控制器、 SPI 控制器等都是接到系统主线上的分支。I 阅读全文
posted @ 2023-08-16 19:30 烟儿公主 阅读(1271) 评论(0) 推荐(0) 编辑
摘要:一、修改设备树文件 首先进入该目录下 /linux/atk-mpl/linux/my_linux/linux-5.4.31/arch/arm/boot/dts 打开 stm32mp157d-atk.dts 文件,在根节点 "/" 最后输入以下内容: stm32mp1_led { compatible 阅读全文
posted @ 2023-08-17 14:56 烟儿公主 阅读(186) 评论(0) 推荐(0) 编辑
摘要:一、pinctrl 子系统 1. 什么是 pinctrl 子系统? 首先回顾一下如何初始化 LED 所使用的 GPIO: ①、修改设备树,添加相应的节点,节点里面重点是设置 reg 属性, reg 属性包括了 GPIO相关寄存器。 ②、获取 reg 属性中 GPIOI_MODER、 GPIOI_OT 阅读全文
posted @ 2023-08-18 20:41 烟儿公主 阅读(380) 评论(0) 推荐(0) 编辑
摘要:一、蜂鸣器驱动原理 常用蜂鸣器分两种,有源蜂鸣器和无源蜂鸣器。 它们俩的区别:有源蜂鸣器具有内置的振荡器和驱动电路,无源蜂鸣器没有;源蜂鸣器只需简单的数字信号来控制,无源蜂鸣器需要外部电路或微控制器来提供特定频率的脉冲信号。 在 Linux 下做的工作:①设备树中添加蜂鸣器节点,在蜂鸣器节点中加入 阅读全文
posted @ 2023-08-22 19:46 烟儿公主 阅读(211) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
🚀
回顶
收起
  1. 1 夏日大冒险 暴躁的兔子
夏日大冒险 - 暴躁的兔子
00:00 / 00:00
An audio error has occurred.

作词 : 暴躁的兔子

作曲 : 暴躁的兔子

编曲 : IOF

混音:Gfanfan

出品:网易飓风

夏天 不要再浪费时间

实现 你承诺过的改变

别再 找一堆借口拖延

现在就和我一起飞向海边

人生苦短 你应该学会如何作乐

低着头还怎么应对挫折

人应该为自己活着

不用去迎合

要去寻欢作乐

撮合我的浪漫和悲欢

把这荒诞人生都塞满

生活难免磕磕绊绊

对抗生活的平庸就是浪漫

学会取悦自己逆风翻盘

去反抗变态的三观

把条条框框都砸烂

建立新的规则推翻谈判

无可救药的人呐

和我一起去海边

看那日出和晚霞 海天一线

看阳光穿越地平线

现实交织的明天

就在这个夏天

为自己改变

别怕山高路远

去冒险

我真的不care你是否会喜欢我

不跟风被定义的美 全都是灾祸

我才不讨好大多数绝不与示弱

过好你的生活

你管我应该怎么快活

没有人能有资格审判

别人的生活和牵绊

快闭上你的高谈阔论

乘风破浪吧 理想的风帆

我就是肆意张扬又如何

我就是锋芒毕露又如何

我就是离经叛道又如何

我就是要出格 你管我要如何

我就是与众不同又如何

我就是特立独行又如何

我就是不知好歹又如何

你管我怎样出格 你管我如何

无可救药的人呐

和我一起去海边

看那日出和晚霞 海天一线

看阳光穿越地平线

现实交织的明天

就在这个夏天

为自己改变

别怕山高路远

不知进退的人呐

和我一起去海边

聊聊曾经的理想 一起想当年

那曾想改变世界的人

是否还满腔热忱

不羁的我们放肆着

反抗那命运的指针

解放灵魂

推广:网易飓风

企划:贾焱祺

监制:徐思灵

出品人:谢奇笛