单片机技术网|技术阅读
登录|注册

您现在的位置是:单片机技术网 > 技术阅读

技术阅读

  • 万字长文教你设备树语法 | 设备树实例解析

    2024-07-15

    一、设备树简介1. 设备树在 ARM 架构的引入 在之前使用 S3C2440 开发板移植 Linux 3.4.2 内核时,修改了很多关于 c 文件去适配开发板,和开发板相关的文件放在arch/arm/mxch-xxx目录下,因此 linux 内核 arm 架构下添加了很多开发板的适配文件:这些 c 文件仅仅用来适配某款开发板,对于 Linux 内核来说并没有提交什么新功能,但是每适配一款新的开发板就需要一堆文件,导致 Linux 内核越来越臃肿:终于 Linus 忍不住天天 merge 这些鬼东西,向 arm 社区发出了一封邮件,第一句话就足矣表现不满:"This whole ARM thing is a f*cking pain in the as...

  • tql!推荐我认识的几个Linux巨佬!

    2024-07-15

    大家好,我是Mculover666,今天给大家几位嵌入式/Linux领域特别牛的原创技术号主,都是各大IT公司的技术大牛,还有大牛编写的书即将面世,有想学习底层Linux、跳槽、转行的朋友,可以关注起来!码哥字节 在一家互联网金融公司担任「技术专家」,极客邦签约作者。擅长 、、、、、、等后端技术。用风趣的文笔将知识点或淡或浓的撕开,拿捏关键点,分享升级之路的成长经验和正确提高技术的方法论。幽默风趣《》,拥抱硬核技术和对象,面向人民币编程。关注公众号,回复靓仔,即可获取「码哥 Redis 高手心法.pdf」。▼点击下方名片关注公众号▼小麦大叔 ...

  • 移植NXP官方 linux 5.4 内核到i.MX6ULL开发板

    2024-07-15

    一、NXP官方linux内核1. 下载 NXP官方linux仓库地址为:https://github.com/Freescale/linux-fslc/tree/5.4-2.1.x-imx。选择该分支下载zip包即可,不要整个仓库下载,太大了:2. 编译 安装库:sudo apt-get install lzopsudo apt-get install libncurses5-dev设置临时环境变量(编译器版本为7.5.0):export ARCH=armexport CROSS_COMPILE=arm-linux-gnueabihf-清理构建:make distclean查看arch/arm/configs目录下imx6ull相关的单板:配置:make imx_v7_defconfig配置好之后编译:make -j32编译成功后,进入arch/arm/boot目录可以看到编...

  • VMware安装Fedora 35 Workstation及使用体验

    2024-07-15

    一、Fedora Fedora为硬件、云和容器创建了一个创新的、免费的和开源的平台,使软件开发人员和社区成员能够为他们的用户构建定制的解决方案。Fedora Linux(第七版以前为Fedora Core)是由Fedora项目社区开发、红帽公司赞助,目标是创建一套新颖、多功能并且自由(开放源代码)的操作系统。Fedora对于用户而言,是一套功能完备、更新快速的免费操作系统;而对赞助者Red Hat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到Red Hat Enterprise Linux中。Fedora 是商业化的Red Hat Enterprise Linux发行版的上游源码,Fedora相对Arch...

  • 基于Arch Linux打造日常使用操作系统

    2024-07-15

    写在前面 使用Arch Linux的原因有三:(1)某天意外的发现了win10记录我所有的活动(2)作为一个小码农,LInux真香(3)纯净的Arch,支持高度的自定义,想换啥换啥本文最终完成的效果:电脑配置信息如下:一、安装chrome yay google-chrome无法显示中文:安装中文字体即可正常显示:yay noto-fonts-cjk二、安装中文输入法 中文输入法使用rime,这个输入法不联网,所以不必担心隐私安全。yay ibus-rime安装之后退出当前用户,重新登录,打开系统设置,添加新的中文输入法:三、命令行下载工具 比较推荐多线程下载工具axel:yay axel四、clash for...

  • 基于RTOS的软件开发理论

    2024-07-15

    引言:软件开发,大多数人依靠的是经验,缺乏理论,比如遇到问题知道怎样改可以修复问题,但不明白深层原因。有些阶段,选择高校的理论教程读读,比网红博主拼凑的技术总结,更能醍醐灌顶,提高水平。实践检验真理,但理论能指导实践。1、RTOS的特点操作系统是计算机中最重要的软件,类似管家,把不同的软件任务安排给硬件资源去执行。为保证服务质量,需要对任务进行合理安排,访问硬件也进行一定的安全维护,保证硬件资源不闲置,不争抢冲突,但允许合理的插队。RTOS的专业的描述:1、执行时间的可确定性是实时操作系统的基本特性。采用合理的算法...

  • VMware安装Arch Linux+Gnome桌面

    2024-07-15

    一、下载Arch镜像 官方下载地址:https://www.archlinux.org/download/。目前最新发布的是2022.03.01版本,kernel版本是5.16.11,官方给出了很多直接下载的镜像源,这里我选择阿里源下载。二、新建虚拟机 首先需要在VMware创建一个虚拟机,选择arch镜像:设置虚拟机操作系统类型:设置虚拟机名称:分配硬盘大小(最低8GB,看个人喜好,后续可以扩容):设置虚拟机配置:创建完成:设置引导方式UEFI:三、安装Arch 启动虚拟机,开始arch linux安装:启动后如图所示:1. 测试网络ping www.baidu.com2. 查看时间timedatectl status3. 硬盘分区3.1. 查...

  • 浅谈 ELF 格式解析

    2024-07-15

    1. 前言对 ELF 格式的理解,是成熟程序员的标志之一。然而对于大多数想学习 ELF 格式的朋友来说,枯燥的书籍、文章根本读不下去,读下去了没有需求或项目实践也很快遗忘,只残留了字符串表、节区表之类的空洞概念。本文从一个简单的 ELF 格式解析应用项目入手,带读者从实操角度掌握一个成熟程序员应该掌握的大多数有关 ELF 格式的知识。实现一个完整的 linker & loader 对理解 ELF 格式并无过多裨益,反而徒增旁枝末节(如果对完整的 linker & loader 感兴趣的话,可以阅读 TencentOS tiny 中的 elfloader 实现,代码紧凑、易读)。本文适宜的读者...

  • 什么是热爱?

    2024-07-15

    克劳德 • 莫奈《睡莲》    如果要让我给热爱下个定义的话,我想,当我想去做一件事情的时候,没有任何顾虑,就是单纯的想去做这件事,这应该被称之为热爱吧。    之前在吃饭时和大佬聊到关于招人的事情,大佬问我是不是喜欢我现在的工作,稍加考虑之后,我说:我这可能不是喜欢,是热爱。(大佬每天沉迷于解决Linux内核层面的bug并乐在其中)    其实这个时候,我对热爱并没有定义,我只是觉得用喜欢来描述不太够,想用热爱这个词来描述。    最近过去的这一周,我逐渐的体验到了什么是热爱,于是给出了开头对于热爱的定义。   ...

  • 基于小熊派使用 FreeRTOS+SPI+DMA 驱动 TFT-LCD

    2024-07-15

    一、文章前言二、SPI+DMA 配置三、FreeRTOS 配置四、代码编写五、实验现象基于小熊派使用 FreeRTOS+SPI+DMA 驱动 TFT-LCD一、文章前言入手了一块小熊派开发板,看到他板子上搭载了一块 TFT-LCD 编写编写驱动代码来使用 TFT ,该 TFT 通过 ST7789 驱动芯片进行驱动,本文通过 CubeMX 软件配置硬件 SPI+DMA 方式来驱动 ST7789,同时配置 FreeRTOS 方便控制 DMA, 文章 ST7789 的驱动代码参考 Mculover666 大神的博客:【STM32Cube_17】使用硬件SPI驱动TFT-LCD(ST7789)[1]二、SPI+DMA 配置先看一下小熊派 TFT 接口原理图:TFT原理图建立一个适合小熊...

  • LVGL PC模拟器初体验

    2024-07-15

    一、LVGL LVGL官网:https://lvgl.io/。LVGL全称Light and Versatile Graphics Library,轻量化和多功能的图形库,遵循MIT开源许可协议,具有以下特性(what LVGL can do for you)。1. 对硬件的要求CPU:16、32、64位主频:推荐16 MHzFlash/ROM空间: > 64 kB (推荐180 kB)RAM空间: 8 kB (推荐24 kB)1 Frame buffer(显存):在内部SRAM和外部RAM均可显存大小至少要大于水平像素点(推荐1/10屏幕大小)C99语法2. 功能特性控件:支持30多种控件显示设备:支持任意分辨率屏幕输入设备:在同一个屏幕上支持多个输入设备3. 在线demo官方提供了丰富的demo在...

  • 盘点电子工程师的常用工具

    2024-07-14

        电子工程师是一个对从事集成电路、电子电气设备等相关产品生产、研发工作的技术人员的统称,一般分为硬件工程师和软件工程师。    硬件工程师主要要了解电路方面的知识,知道常用电子元器件的作用,原理,会使用电子测量工具,会使用电子生产工具,还要会装配,测试,生产工艺,维修等等,是技术与手动操作的结合。    软件工程师则精通电路知识模拟电路,数字电路,会分析电路图,设计电路图,制作PCB,了解各类电子元器件的原理,用途,型号,精通单片机开发技术,会使用编程语言(汇编语言、C语言),能很熟练的用电脑作为辅助设计...

  • STM32平衡自行车项目,你也可以试试!文末附代码

    2024-07-14

        STM32平衡小车大家应该见到过很多了,作为学生或者DIY爱好者做一辆小型的mini平衡小车还是可以实现的。给大家带来博主老倪制作的迷你的平衡自行车项目,相信我们能从中学到一些新东西。在本文将会介绍平衡自行车的具体制作过程,包括机械、电路和代码。    文末获取平衡自行车完整的代码。下图是本项目要说的简易mini版平衡小车。自行车平衡理论模型分析1 倒立摆    很显然我们知道自行车在左右方向上不稳定,这是一个很常见的物理模型——倒立摆。    顾名思义,倒立摆的意思就是倒着的摆,比如一个倒着的杆,    倒立摆的特...

  • PCB检测的基本常识

    2024-07-14

        PCB板的检测是时候要注意一些细节方面,以便更准备的保证产品质量,在检测PCB板的时候,我们应注意下面的小常识。PCB检测常识1、严禁在无隔离变压器的情况下,用已接地的测试设备去接触底板带电的电视、音响、录像等设备来检测PCB板    严禁用外壳已接地的仪器设备直接测试无电源隔离变压器的电视、音响、录像等设备。虽然一般的收录机都具有电源变压器,当接触到较特殊的尤其是输出功率较大或对采用的电源性质不太了解的电视或音响设备时,首先要弄清该机底盘是否带电,否则极易与底板带电的电视、音响等设备造成电源短路,波及集成电路...

  • 嵌入式行业那些坑与出路

    2024-07-14

    嵌入式的坑烧钱    嵌入式的学习十分烧钱,这就让人有点望而却步。我是做DSP起步的,更是能体会到嵌入式绝对是一个拿钱搭梯子的学习行业。    在我的学习过程中身边有不少的人投向了CS行业,也就是纯软件开发,比如网页、手机应用、数据库等。他们有一台联网的电脑几乎可以搞定,也是基于这个原因,我当时也想做纯软件开发。当时老师想让我们买开发板,我都没钱。    在CS行业有一些资深的玩儿家,买一台服务器就算可以了。    然而做嵌入式的你,需要买开发板,买模块,做到天人合一,软硬结合,等着做稍微高端点了,你又萌生出自...

  • 如何中断单片机的中断?

    2024-07-14

        如果外部中断来的频率足够快,上一个中断没有处理完成,新来的中断该如何处理?    中断一般是由硬件(例如外设、外部引脚)产生,当某种内部或外部事件发生时,MCU的中断系统将迫使 CPU 暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去,所有的Cortex-M 内核系统都有一个用于中断处理的组件NVIC,主要负责处理中断,还处理其他需要服务的事件。嵌套向量式中断控制器(NVIC: Nested Vectored Interrupt Controller)集成在Cortex-M0处理器里,它与处理器内核紧密相连,并且提供了中...

  • 嵌入式工程师吃青春饭吗?

    2024-07-14

    来自学生的疑问四连“老师,咱嵌入式可以干多少年?”“老师,咱加班多吗?身体吃的消吗?”“老师,我现在都30岁了,现在转行还来的急吗?”“老师,听说咱是吃青春饭的,以后怎么办呢?”国内开发者状态    有人说:“工程师虽然是高薪,但是经常加班,最终出现职业病,比如:腰间盘突出、三高、高度近视等,相比自己的身体,挣再多钱有什么用。”事实,情况并不是所有都这样。    首先,国内的开发管理存在不规范的现象,开发人员之间互相配合、协同开发的效率很低,分工不明确,一个人要做好几个人的事;    其次,客户需求不明确,...

  • 一位大学生讲述代码辛酸史:我是何时开始突飞猛进的

    2024-07-14

        在啃掉一本本计算机经典书籍和写下大量代码以后。疫情原因回不去学校,作为一个马上毕业,即将入职TX的大四生,分享一下自己的学习历程吧。    本人在大学之前从未接触过编程,最开始的编程学习还是在高考完后,从书店买了本C Primer Plus,然后暑假开始啃,前前后后也就看了几十页。    大一上的时候,来到了华师大,还没有转专业到计算机,一直在自学C语言和看一些计算机入门书籍(编码、计算机科学概论)。    当时也很迷茫,不知道以后道路如何,所以也学了一些杂七杂八的东西(前端 python啥的),所幸的是,当时坚持把C Pri...

  • C语言中结构体struct的用法

    2024-07-14

    定义结构体变量    下面举一个例子来说明怎样定义结构体变量。 struct string  {     char name[8];     int age;     char sex[2];     char depart[20];     float wage1, wage2, wage3, wage4, wage5;  }person;    这个例子定义了一个结构名为string的结构体变量person。还可以省略变量名person,做如下定义: struct string  {     char name[8];     int age;     char sex[2];     char depart[20];     float wage1, wage2, wage3, wage4, wage5; ...

  • 了解STM32启动过程,好优化程序

    2024-07-14

    1 概述说明    每一款芯片的启动文件都值得去研究,因为它可是你的程序跑的最初一段路,不可以不知道。通过了解启动文件,我们可以体会到处理器的架构、指令集、中断向量安排等内容,是非常值得玩味的。    STM32作为一款高端 Cortex-M3系列单片机,有必要了解它的启动文件。打好基础,为以后优化程序,写出高质量的代码最准备。    本文以一个实际测试代码--START_TEST为例进行阐述。整体过程    STM32整个启动过程是指从上电开始,一直到运行到 main函数之间的这段过程,步骤为(以使用微库为例):①上电后硬件设置SP、PC②设置系...

  • 车规级芯片是什么?

    2024-07-14

        汽车电子产品的价格普遍比较贵,其中的主要原因之一就是使用了车规级的电子元件,但什么样的电子元件才是车规级的器件呢? 

  • 嵌入式工程师最后怎么转型避开内卷的?

    2024-07-14

    嵌入式开发相关技术    嵌入式工程师分布在各行各业上面,这其中包括了消费电子、工业电子、汽车电子和军用电子等。从功能上面看,嵌入式本身包括了51、STM32、MCU、SOC、SOC+baseband等很多形式。    从开发的结构上看,有些同学专注于底层,比如boot;有些同学专注于内核、编译器、cpu、驱动;还有一些同学专注于上层,比如协议、服务器、计算、存储、交互等等,这一层的开发工程师其实和普通的pc开发工程师是一样的。    一般来说,嵌入式的开发比其他软件开发要求高一些。除了编译器、内核、调试比较复杂之外,他们常常还需要了解CP...

  • 老外制作6V至30000V变压器全过程,看后你觉得靠谱吗?

    2024-07-14

  • PID算法原理介绍

    2024-07-13

    先来彻底搞懂PID到底是啥?    PID,就是“比例(proportional)、积分(integral)、微分(differential)”,是一种很常见的控制算法。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。    PID已经有107年的历史了,它并不是什么很神圣的东西,大家一定都见过PID的实际应用。比如四轴飞行器,再比如平衡小车......还有汽车的定速巡航、3D打印机上的温度控制器....来看下通过PID实现机器人骑自行车的文章:。  ...

  • 假如代码是用中文写的,是什么体验?

    2024-07-13

        据说上世纪某些天才程序员是直接用数字01编程的,也就是二进制编程。后来为了更好的向普通人推广,逐渐有了汇编语言,以及之后的高级语言如C语言等。    实际上高级语言已经接近人类使用的自然语言了,如今也已经有了低代码这种东西。    那么,将来可以直接用自然语言编程吗?如果可以实现,那时候人人都是程序员,或者说已经没有了程序员这个职业了。你只需要用汉语或者英语等自然语言,把逻辑描述出来。    有一点,汉语博大精深,绝对是个让人头疼的问题,想想就觉得很累,简单举个例子:要你管和不要你管,是一个意思大败敌人...

  • C语言中结构体struct的用法

    2024-07-13

    定义结构体变量    下面举一个例子来说明怎样定义结构体变量。 struct string  {     char name[8];     int age;     char sex[2];     char depart[20];     float wage1, wage2, wage3, wage4, wage5;  }person;    这个例子定义了一个结构名为string的结构体变量person。还可以省略变量名person,做如下定义: struct string  {     char name[8];     int age;     char sex[2];     char depart[20];     float wage1, wage2, wage3, wage4, wage5; ...

  • 总结了一些编程的好习惯

    2024-07-13

    1 多看官方文档    不要被这几个字吓到,官方文档其实都是宝藏。     一个成熟的技术诞生,可以没有博客没有书籍,但一定会有一个官方文档,毋庸置疑,它一定是最准确、最实时的资料。编写官方文档的人,也通常就是这些技术或者软件的开发者,他们是对这些东西最了解的人,所以编写的文档不仅质量非常高,通常内容也都是最新的。    因此,官方文档远比网上的各种博客和论坛等更适合入门学习。当我们遇到很多问题和技术细节的时候,认真将官方文档过一遍,你会发现很多问题和认识模糊的地方都会清晰起来。     程序员都应该掌握...

  • 合并BootLoader固件与APP固件的方法

    2024-07-13

    前言嵌入式固件一般分为BootLoader和App,BootLoader用于启动校验、App升级、App版本回滚等功能,BootLoader在CPU上电第一阶段中运行,之后跳转至App地址执行应用程序。因此,在发布固件的时候,会存在BootLoader固件和App固件;此时我们期望是将BootLoader固件和App固件合并成为一个固件,这样在量产时只需烧录一次即可。传统方式一些传统的方法都是“土办法”,没什么毛病,但比较繁琐。项目种类增加,或者版本发布频繁时更加体现出繁琐性,且易出错,操作稍微失误可能导致固件不完整;烧录不完整的固件,机子变“砖头”。烧录两次,分别烧录BootL...

  • 讲解肖特基二极管和稳压二极管的特性

    2024-07-13

  • 动图演示常用通信协议原理

    2024-07-13

        这些显示电子系统中信号波形的动图,有助于帮助我们理解传输的机理。1SPI传输▲ 图1  SPI 数据传输▲ 图1.2  SPI数据传输(2)▲ 图1.3  SPI时序信号2I²C传输▲ 图1.2.1  I2C总线以及寻址方式3UART传输▲ 图1.3.1  PC 上通过UART来调试MCU▲ 图1.3.2  RS-232通过电平转换芯片与MCU通讯    串口通信相关文章:。4红外控制▲ 图1.4.1  红外控制信号也是一个串行通讯信号    红外通信相关文章请移步此处:。▲ 图1.4.2  红外信号接收与放大整形电路▲ 图1.4.3  一个使用红外接收光电管控制继电器进行鱼食投喂电路5串并转换电路...