自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Linux中断——嵌入式Linux驱动开发

先来简单了解一般中断的处理方法:①、使能中断,初始化相应的寄存器。②、注册中断服务函数,也就是向irqTable数组的指定标号处写入中断服务函数③、中断发生以后进入IRQ中断服务函数,在IRQ中断服务函数在数组irqTable里面查找具体的中断处理函数,找到以后执行相应的中断处理函数。在Linux内核中也提供了大量的中断相关的API函数,我们来看一下这些跟中断有关的API函数:1、中断号。

2024-04-15 17:05:15 814 1

原创 Linux内核定时器

学习过 UCOS或FreeRTOS的同学应该知道,UCOS或FreeRTOS是需要一个硬件定时器提供系统时钟,一般使用Systick作为系统时钟源。同理,Linux要运行,也是需要一个系统时钟的,至于这个系统时钟是由哪个定时器提供的,笔者没有去研究过Linux 内核,但是在CortexA7 内核中有个通用定时器,按照笔者学习FreeRTOS和STM32的经验,猜测Linux会将这个通用定时器作为Linux 系统时钟源。不过对于我们Linux。

2024-04-14 15:35:59 978 1

原创 pinctrl和gpio子系统详解——Linux驱动led实验

Linux 驱动讲究驱动分离与分层,pinctrl和gpio子系统就是驱动分离与分层思想下的产物,驱动分离与分层其实就是按照面向对象编程的设计思想而设计的设备驱动框架。大多数 SOC的pin都是支持复用的,比如I.MX6ULL的GPIO1_IO03既可以作为普通的GPIO使用,也可以作为I2C1的SDA等等。此外我们还需要配置pin的电气特性,比如上下拉、速度、驱动能力等等。。

2024-04-13 19:45:57 1095 1

原创 Linux设备树——Linux驱动开发

设备树(Device Tree),将这个词分开就是“设备”和“树”,描述设备树的文件叫做DTS(Device,这个DTS文件采用树形结构描述板级设备,也就是开发板上的设备信息,比如CPU数量、 内存基地址、IIC接口上接了哪些设备、SPI接口上接了哪些设备等等,如图树的主干就是系统总线,IIC控制器、GPIO控制器、SPI控制器等都是接到系统主线上的分支。IIC控制器有分为IIC1和IIC2两种,其中IIC1上接了FT5206和AT24C02。

2024-04-12 11:01:26 1087

原创 新字符设备驱动——Linux驱动开发

参考正点原子 i.mx6u 驱动开发指南。

2024-04-10 10:29:06 855 1

原创 字符设备驱动——Linux驱动开发

参考正点原子阿尔法开发板Linux驱动开发指南一、简介字符设备是 Linux 驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。比如我们最常见的点灯、按键、IICSPILCD等等都是字符设备,这些设备的驱动就叫做字符设备驱动。在 Linux中一切皆为文件,驱动加载成功以后会在“/dev”目录下生成一个相应的文件,应用程序通过对这个名为“/dev/xxx(xxx是具体的驱动文件名字的文件进行相应的操作即可实。

2024-04-09 23:09:03 975

原创 Linux移植教程——基于 I.MX6ULL 开发板

gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf ,在测试其他交叉编译版本时,发现可能编译失败,建议使用与笔者相同的版本。drivers/net/ethernet/freescale/fec_main.c 文件,找到 fec_probe 函数。我用的是 NXP 提供的 linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2。打开 drivers/net/phy/smsc.c ,找到 smsc_phy_reset ,改为。

2024-04-08 15:41:35 655

转载 ROM、RAM、FLASH、DDR、EMMC的简单解释

读取是以一次读取一块的形式来进行的,通常是一次读取512个字节。一、ROM:只读存储器,内容写入后就不能更改了,制造成本比较低,常用于电脑中的开机启动如启动光盘bios,在系统装好的电脑上时,计算机将C盘目录下的操作系统文件读取至内存,然后通过cpu调用各种配件进行工作这时系统存放存储器为RAM。现在很多智能电视已经逐步抛弃Nor或Nand,使用更为先进的eMMC芯片,然而普通编程器无法读写eMMC芯片,新开发的可支持eMMC芯片烧写的编程器性价比高,还能支持Nor、Nand芯片,支持全面、功能强大。

2024-04-05 21:03:56 21 1

原创 U-boot 配置、编译、移植——基于正点原子 i.mx6ull 阿尔法开发板

I.MX6UL/ULL 内部有个以太网MAC外设,也就是ENET,需要外接一个PHY芯片来实现网络通信功能,也就是内部MAC+外部PHY芯片的方案。ENET1 的网络PHY芯片为LAN8720A,通过RMII接口与I.MX6ULL相连,正点原子开发板的ENET1引脚与NXP官方的开发板基本一样,唯独复位引脚不同。从图33.2.7.1可以看出,正点原子开发板的ENET1复位引脚ENET1_RST接到了I.M6ULL的这个引脚上。

2024-04-05 19:08:59 969 1

原创 OTFS 的基本原理——OTFS 中的信号和信道表示

根据公式(2-4),接收信号是输入信号所有的反射路径信号的叠加,其中每个反射信号都延迟时间 τ,频移了多普勒频移 ν ,并且对于特定的 τ 和 ν ,信道响应的值为复基带多普勒变化的脉冲响应h(τ,ν)。信道几何形状变化指的是信号在传播过程中,由于环境的不同或者障碍物的存在,信号传播路径可能会发生变化,导致信号的传播路径呈现出不同的几何形状。这些特殊信号的表示形式便称为。:在通信信号传播的环境中,存在许多散射体,它们可以是建筑物、树木、地面等物体,会导致信号的多次反射和散射,影响信号的传播路径和特性。

2024-04-03 22:50:12 780 1

原创 SPI通信详解——STM32实验

SPI协议是由摩托罗拉公司提出的通讯协议,即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在ADCLCD等设备与MCU间,要求通讯速率较高的场合。二、物理层SPI通讯设备之间的常用连接方式见下图SPI通讯使用3条总线及片选线,3条总线分别为SCK MOSI MISO,片选线为,它们的作用介绍如下::从设备选择信号线,常称为片选信号线,也称为NSSCS,以下用NSS表示。当有多个SPI从设备与SPI主机相连时,设备的其它信号线。

2024-04-03 22:14:57 884 1

原创 IIC通信详解——STM32 IIC实验(野火指南者)

​iic是一种串行通信总线,使用多主从架构,由飞利浦公司在1980年代为了让主板、嵌入式系统或手机用以连接低速周边设备而发展。由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路 (IC) 间的通讯。二、物理层iic只由两条总线构成:,D代表Data也就是数据,用来传输数据的串行总线,C代表Clock也就是时钟,控制数据收发时序的串行总线物理层特点:(1)它是一个支持设备的总线。

2024-04-03 18:19:31 1369 1

原创 串口通信详解——STM32--USART实验

串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节的通信方式。串口是一种可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件。USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步串行接收/发送器。USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备。

2024-04-03 11:09:51 815 1

原创 OTFS 的基本原理——OTFS 技术简介

OTFS 技术是一种将信息符号复用到一种被称为时延-多普勒表示信号中去的调制方案。

2024-04-01 22:41:03 442

原创 Keil 5 工程模板——STM32标准库版(野火指南者)

STM32 模板工程创建过程。

2024-04-01 10:30:51 281

原创 Linaro下载与安装,交叉编译环境搭建——Linux驱动开发

交叉编译是在一个平台上生成另一个平台上的可执行代码。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。在PC上运行的操作系统一般都是x86架构的,比如Windows、虚拟机中的Linux,他们的编译工具链为gcc、ld、objcopy、objdump等,他们编译出的程序也只能在 x86 架构上运行;

2024-03-31 20:03:21 972

原创 Git、GitHub新手使用教程——三分钟学会白嫖源码

Git是一个开源的分布式版本控制系统(简单理解:让你的代码在云端存档,可以看到你代码的历史版本,支持多人协作等),可以有效、高速地处理从很小到非常大的项目版本管理。而GitHub是基于这个版本控制系统打造的网站,同时,你也可以在上面找到许多开源的内容。Git三大概念:提交commit、仓库repository、分支branch1.提交commit:将代码的变化以commit为单位记录下来,当你代码写崩的时候就可以回档到之前的某一次commit,简单来说就像是游戏存档。

2024-03-27 15:12:54 636

空空如也

空空如也

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

TA关注的人

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