Linux学习第60天:Linux驱动开发的一些总结
今天是Linux驱动开发的最后一个章节,题目中标明是60天完成的,其实在实际学习及笔记的整理中不止是60天。中间有过断更,有时断更的时间还是挺长的。这是在整个Linux驱动开发学习中最不满意的地方。
题目为Linux学习,其实这个题目有点大,目前为止,所有的内容都是Linux驱动开发的相关内容。关于以后的QT界面UI的开发,我将单独的开辟一个专辑进行学习和整理。
Linux的学习是基于正点原子阿尔法开发板,其他厂商的开发板驱动开发学习可参考进行。
简简单单总结以下几点:
1.跟着视频学。正点原子配套视频中原子哥将的非常详细,内容也较多。自己在前半部分都是按照视频一步一步进行的,感觉收获颇大。但是后期没有按照视频学习,仅仅是看文档写笔记,感觉收获没有以前多。仅仅是有了一个初步的感念。并且后期没有进入Linux的实操,造成了一些基本的操作可能都是问题。所以我个人的建议,对于初学者而言,在通读驱动手册或了解大体内容以后再按照视频一步一步的操作2遍以上,保证会有一个更清晰的认知,对驱动开发的流程、对工具的使用以及对驱动开发的一些思维都会上一个新的层次。
2处理好学习和工作,学习和身体的关系。学习和工作有时候是一个不可调和的矛盾,究其原因主要是时间的冲突。原子哥可以深入工作到凌晨三四点,那份专注值得我们学习。但对身体的损伤是不可逆的。为什么要单独的提出这一点,主要是因为笔者平时是一个跑步爱好者,对于自身身体健康可能更为关注。一次通宵对身体的损害半年的时间可能都恢复不了,何况经常性的通宵代码,对身体的损伤可想而知。那份专注的精神是我们要学习的。但是笔者不提倡。
3.学习是一个不断重复的过程。现在回头去看整个的学习过程,感觉异常的漫长。收获而言是肯定有的,但是没有一开始想的那么多。学习是一个不断重复的过程,简简单单的过一遍,能学到的东西毕竟有限,后续还需要更深入的学习。
4.有选择的学,有目的的学。重点关注工作中会用到的知识,其余的可以简单了解即可。这样既可以让自己快速上手,有可以最大程度的减轻自己学习的压力。
5.一定要多敲代码。实践出真知,只有一遍又一遍不懈的敲代码,才能不断的提升自己的编程水平。有人说只要学会了复制粘贴就学会了编程,这种认知也只能当做一种调侃而已,不要当真。真正有水平有能力的大牛,都是噼里啪啦自己敲代码的。脑中有思路,手指就会不断自动的敲动代码才是作为一个合格程序员的必备素质。
路漫漫其修远兮,吾将上下而求索。与君共勉。
相关文章:
Linux学习第60天:Linux驱动开发的一些总结
今天是Linux驱动开发的最后一个章节,题目中标明是60天完成的,其实在实际学习及笔记的整理中不止是60天。中间有过断更,有时断更的时间还是挺长的。这是在整个Linux驱动开发学习中最不满意的地方。 题目为Linux学习,其实这个题目有…...
OPP || 继承和抽象类 || 访问控制
OPP面向对象程序设计 数据抽象:类的接口声明和定义实现分离继承:类构成的(树型)层次关系动态绑定:忽略相似类型区别,用统一的方式使用 基类派生类: 继承:类名 冒号 访问说明符 …...
蓝牙音视频远程控制协议(AVRCP) command跟response介绍
零.声明 本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下: 第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。 第二篇:Trans…...
MySQL的InnoDB存储引擎中的Buffer Pool机制
目录 Buffer Pool 简介 定义 为什么需要Buffer Pool 图解重点知识 Buffer Pool 的组成 数据页(Data Pages) 索引页(Index Pages) 插入缓冲页(Insert Buffer Pages) undo页(Undo Pages&a…...
5. MongoDB 文档插入、更新、删除、查询
1. 插入文档 文档的数据结构和JSON基本一样。所有存储在集合中的数据都是BSON格式。 BSON是一种类似JSON的二进制形式的存储格式,是Binary JSON的简称。常用的插入文档方法包括: db.collection.insertOne():插入单个文档db.collection.inse…...
⌈ 传知代码 ⌋ DETR[端到端目标检测]
💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…...
Oracle之触发器
简介 触发器在数据库里以独立的对象存储,他与存储过程不同的是,存储过程通过其他程序来启动运行或直接启动运行而触发器是由一个事件来启动运行,即触发器是当某个事件发生时自动式运行。并企,触发器不能接收参数。所以运行触发器…...
从零搭建微前端架构:解耦大型项目的终极方案
随着前端应用的复杂度不断提升,单体前端应用(Monolithic Frontend)的维护和扩展难度也日益增加。微前端(Micro-Frontend)作为一种新兴架构理念,旨在将大型前端项目拆分为多个独立、可独立部署的微应用,从而提升项目的可维护性和灵活性。这篇文章将带你从零开始搭建一个微…...
24/8/17算法笔记 MPC算法
MPC算法,在行动前推演一下 MPC(Model Predictive Control,模型预测控制)是一种先进的控制策略,它利用未来预测模型来优化当前的控制动作。MPC的核心思想是,在每一个控制步骤中,都基于当前系统状…...
GROUP_CONCAT 用法详解(Mysql)
GROUP_CONCAT GROUP_CONCAT 是 MySQL 中的一个聚合函数,用于将分组后的多行数据连接成一个单一的字符串。 通常用于将某个列的多个值合并到一个字符串中,以便更方便地显示或处理数据。 GROUP_CONCAT([DISTINCT] column_name[ORDER BY column_name [ASC…...
Golang httputil 包深度解析:HTTP请求与响应的操控艺术
标题:Golang httputil 包深度解析:HTTP请求与响应的操控艺术 引言 在Go语言的丰富标准库中,net/http/httputil包是一个强大的工具集,它提供了操作HTTP请求和响应的高级功能。从创建自定义的HTTP代理到调试HTTP流量,h…...
SQLALchemy 分页
SQLALchemy 分页 1. 使用SQLAlchemy的`slice`和`offset`/`limit`SQLAlchemy 1.4及更新版本SQLAlchemy 1.3及更早版本使用第三方库注意事项在Web开发中,分页是处理大量数据时一个非常重要的功能。SQLAlchemy是一个流行的Python SQL工具包和对象关系映射(ORM)库,它允许开发者…...
快速上手体验MyPerf4J监控springboot应用(docker版快速开始-本地版)
使用MyPerf4J监控springboot应用 快速启动influxdb时序数据库日志收集器telegrafgrafana可视化界面安装最终效果 项目地址 项目简介: 一个针对高并发、低延迟应用设计的高性能 Java 性能监控和统计工具。 价值 快速定位性能瓶颈快速定位故障原因 快速启动 监控本地应用 idea配…...
C语言 之 strlen、strcpy、strcat、strcmp字符串函数的使用和模拟实现
文章目录 strlen的使用和模拟实现函数的原型strlen模拟实现:方法1方法2方法3 strcpy的使用和模拟实现函数的原型strcpy的模拟实现: strcat的使用和模拟实现函数的原型strcat的模拟实现: strcmp的使用和模拟实现函数的原型strcmp的模拟实现 本…...
CAPL使用结构体的方式组装一条DoIP车辆识别请求报文(payload type 0x0002)
DoIP车辆识别请求(payload type 0x0002)报文的格式为: /******************************************************** +--------+--------+--------+--------+ |version | inVer | type | +--------+--------+--------+--------+ | length …...
数据接入教学
数据接入教学 1、开通外部网络策略2、检查本地防火墙策略3、测试网络连通性4、工具抓包命令5、本地测试发送与监听 1、开通外部网络策略 保证外部网络联通、保证内部防火墙开通策略(可以关闭进行测试) 2、检查本地防火墙策略 关闭进行测试 停止firewa…...
炒作将引发人工智能寒冬
我们似乎经常看到人工智能的进步被吹捧为机器真正变得智能的一大飞跃。我将在这里挑选其中的一个例子,并确切解释为什么这种态度会为人工智能的未来埋下隐患。 这很酷,这是一个非常困难且非常具体的问题,这个团队花了3 年时间才解决。他们一定…...
clamp靶机复现
靶机设置 设置靶机为NAT模式 靶机IP发现 nmap 192.168.112.0/24 靶机IP为192.168.112.143 目录扫描 dirsearch 192.168.112.143 访问浏览器 提示让我们扫描更多的目录 换个更大的字典,扫出来一个 /nt4stopc/ 目录 目录拼接 拼接 /nt4stopc/ 发现页面中有很多…...
mfc100u.dll丢失问题分析,详细讲解mfc100u.dll丢失解决方法
面对mfc100u.dll文件丢失带来的挑战时,许多用户都可能感到有些无助,尤其是当这一问题影响到他们日常使用的软件时。但实际上,存在几种有效方法可以帮助您快速恢复该关键的系统文件。为了方便不同水平的用户,本文将详细解析各种处理…...
【C++】什么是内存管理?
如果有不懂的地方,可以看我以往文章哦! 个人主页:CSDN_小八哥向前冲 所属专栏:C入门 目录 C/C内存分布 C内存管理方式 new/delete操作内置类型 new/delete操作自定义类型 operator new与operator delete函数 new和delete实现…...
基于RL78 MCU的低功耗声音采集系统设计与实现详解
1. 项目概述:一个基于RL78的低功耗声音采集系统最近在整理一个老项目的技术文档,正好翻出来一个挺有意思的案例:一个基于瑞萨RL78系列MCU的低功耗声音采集与显示系统。这个项目的核心目标很明确,就是实现一个能够长时间、稳定地采…...
使用 curl 命令直接测试 Taotoken 聊天补全接口的步骤详解
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用 curl 命令直接测试 Taotoken 聊天补全接口的步骤详解 在开发或调试大模型应用时,有时我们希望在脱离特定编程语言…...
仿真流程专题——基于Workbench的随机振动工程实践与3σ准则应用
1. 随机振动分析入门:从理论到工程实践 第一次接触随机振动分析时,我和大多数工程师一样感到困惑——这种"不确定"的载荷到底该怎么分析?经过多个项目的实战,我发现用生活中的例子最容易理解:想象你在颠簸的…...
PFC2D5.0_从零构建边坡开挖与稳定性分析模型
1. PFC2D5.0边坡建模基础入门 第一次接触PFC2D5.0时,我被它强大的颗粒流分析能力震撼到了。这个软件就像是用数字乐高搭建地质模型,每个颗粒都像真实的砂石一样可以自由运动。记得刚开始做边坡模拟时,我连最简单的矩形试样都建不好࿰…...
从游戏到科研:手把手教你设计并运行一个n-back工作记忆测试
从游戏到科研:手把手教你设计并运行一个n-back工作记忆测试 工作记忆是人类认知功能的核心组成部分,它直接影响着我们的学习、推理和问题解决能力。在心理学和认知科学领域,n-back任务已经成为评估工作记忆容量的黄金标准之一。本文将带你从零…...
puma-dev与Webpack Dev Server集成:解决混合内容错误的终极方案
puma-dev与Webpack Dev Server集成:解决混合内容错误的终极方案 【免费下载链接】puma-dev A tool to manage rack apps in development with puma 项目地址: https://gitcode.com/gh_mirrors/pu/puma-dev 在现代Web开发中,puma-dev作为一款快速、…...
Vue3 表单深度解析
Vue3 表单深度解析 引言 随着前端技术的发展,Vue.js 已经成为最受欢迎的前端框架之一。Vue3 作为 Vue.js 的最新版本,带来了许多改进和新特性。其中,表单处理是 Vue3 中一个非常重要的部分。本文将深入解析 Vue3 表单的用法、特点以及最佳实践。 Vue3 表单概述 在 Vue3 …...
双足机器人推进系统建模与系统辨识技术解析
1. 双足机器人推进系统建模与验证概述在机器人动力学控制领域,系统辨识是建立精确数学模型的关键技术。本文以美国东北大学开发的Harpy v2双足机器人为研究对象,重点探讨其集成推进系统的推力与扭矩特性建模方法。这款机器人高约1.2米,重15公…...
C51外部代码空间读取技术:CBYTE/CWORD宏详解
1. C51外部代码空间读取技术解析在8051单片机开发中,经常需要从外部程序存储器(Code Space)读取数据,这是嵌入式系统开发中的一项基础但关键的操作。许多开发者在使用Keil C51工具链时,会遇到如何正确读取外部程序存储器的问题。本文将深入解…...
基于CircuitPython与RP2040打造可编程USB脚踏开关:从硬件到软件的完整指南
1. 项目概述:为什么你需要一个可编程的脚踏开关? 在剪辑视频、处理音频、写代码或者玩游戏的时候,你的双手是不是永远不够用?频繁地在键盘、鼠标、调音台或者剪辑软件的面板之间切换,不仅效率低下,还容易打…...
