自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 AutoSAR入门到精通讲解-总目录

一、AutoSAR-CP建立一套优秀的软件底层代码,使得各大主机厂都能通用,同时使汽车软件开发更加标准化、规范化、安全化、快速化和经济化。

2022-09-06 11:53:06 5352 2

原创 Linux Kernel入门到精通系列讲解 - 总目录

在学习Linux ARM之前,需要先准备开发环境,方便后续进行开发。可以根据自身情况,选择性阅读该章节。学习该章节之前,你应该了解一下网络概念,明白为什么要讲这些,才能更有方向的去理解学习。Linux ARM平台开发系列讲解(设备树篇) 4.1.1 设备树的原理详解。本项目完全开源,仅供学习使用,如需其他用途,请与本人联系。),本章节你可以学习到。摄像头V4L2子系统。摄像头V4L2子系统。摄像头V4L2子系统。摄像头V4L2子系统。摄像头V4L2子系统。摄像头V4L2子系统。摄像头V4L2子系统。

2022-03-14 15:53:14 8249 2

原创 Linux Kernel入门到精通系列讲解(RV-U-boot 篇) 4.1 RISC-V快速移植启动一个U-boot

是否完成了移植,所以我们先不改任何配置,下一章节,我将会带着从零开始添加一块自己的。的可以先跳回去学,因为它们是互相依赖的关系。根目录下执行下列命令(我这里由于我编写了脚本,我直接执行了。在很久以前,我其实已经在本专栏很详细的分析过。之前的阶段已经初始化完毕了,所以我们不需要。删除,修改后的设备树如下(注意,我们是依赖。,这里我们由于是快速体验,顺便也验证。仓库里面的脚本,如果使用的是我提供的。官网自行下载,也可以使用我们的。地址开始启动的,设备树位置是在。,它们的设计理念都差不多,对。

2024-05-18 21:27:10 25

原创 Linux Kernel入门到精通系列讲解(OpenSBI 篇) 3.3 OpenSBI 源码分析之domain

上一章节已经分析过了domain的入口和它做了些什么,具体可以返回上一章节查看,这一章节主要分析一下它里面的部分细节。设备树中该属性主要是配hart 是否支持cold boot,这个之前也讲过。由于我们使用了设备树,先来看一下设备树中,是怎么去配置。4. OpenSBI Naruto Pi的使用。这种,这是配置各个模块的内存空间的,很好理解。分成了两个域,参数里可以看到哪几个。的初始化流程,这一章节我们单独把。打算负责功能安全类似的,,这个很好理解,不说了。上一章节我们讲完了整个。涉及到了多核可以实现。

2024-05-09 22:08:13 153

原创 Linux Kernel入门到精通系列讲解(OpenSBI 篇) 3.2 OpenSBI 源码分析之初始化

不支持就走warm boot,注意了,这里的cold和warm并非实际意义上的冷启动和热启动,我的理解他应该叫做。汇编将所有为初始化做准备的条件都准备好了,正式进入初始化步骤,本小节就继续讲解初始化过程。,这样在初始化的时候它会调用相对应的回调函数,然后去初始化我们的配置。打印我们配置的信息这里就不分析了,就是把刚刚我们初始化的成果打印出来。的运行模式,这个模式是有之前汇编里传进来的,对于。采用平台的方式去配置初始化的一些外设,以。更合适,因为它就是初始化的多于少的区别。初始化,其它的外设初始化不是。

2024-05-08 22:53:44 121

原创 Linux Kernel入门到精通系列讲解(OpenSBI 篇) 3.1 OpenSBI 源码分析之汇编

接下来的这段汇编非常的长,它主要是去将每一个hart的信息做初始化或者保存,比如从设备树中获取的下一级boot的地址,权限模式等。程序的传入参数,一般用不到,我理解应该是自定义,暂时没找到地方去使用后面这三个参数。函数预先初始化部分操作,一般就是来获取设备树的指针。传入的值,如果用宏定义了设备树的路径,则将其首地址覆盖到。采用的是设备树启动,所以这里一定要去获取设备树地址。模式,另外两种未曾涉及过,暂时不深入讲解。下,能够进行一些硬件的初始化操作,加上。段,设置堆栈,临时异常处理函数,就是让。

2024-05-07 23:40:02 76

原创 Linux Kernel入门到精通系列讲解(QEMU-虚拟化篇) 2.3 创建OpenSBI虚拟化环境

前几章节在创建虚拟机时存在几个小问题,这里我纷纷列出来,如果不做的话,可能会导致。上一章节我们已经添加了几个外设,这一章节我们打算为移植。,方便用户快速移植,同时也提供了三种模式,具体我会在。具体完整实现可以参考代码仓库。移植章节介绍,本章节仅仅是修改Qemu。移植步骤,请点击总目录,查看。)程序,它提供了许多开源的。改动差不多就是这些,具体的。做环境准备,顺便修复一些。程序,他负责加载跳转。

2024-04-28 23:09:56 74

原创 Linux Kernel入门到精通系列讲解(QEMU-虚拟化篇) 2.2 新增加CPU外设之UART、中断控制器和pFLASH

可以看到,串口已经输出了数据,到这里,说明前面你都移植成功了,如果失败的,继续仓库仓库源码,然后根据我写的步骤去实现。(平台中断控制器),具体实现如下,直接复制粘贴即可,需要注意中断控制器的基地址的修改。已经初始化完成了,具体实现可以查看代码仓库,本章节我们将在上一章节的基础之上去增加。后的第一个代码存储区)、中断控制器和。里面都有支持,后面可以直接移植。5.编写测试程序和链接脚本测试。中断控制器的注册很简单,在。3.添加pFLASH。

2024-04-21 20:50:16 118

原创 Linux Kernel入门到精通系列讲解(QEMU-虚拟化篇) 2.1 新增加一个RISC-V CPU(NARUTO-PI)

如下是我初始化的一些设备,具体实现如下,后续还会初始化更多外设,这里我贴的源码可能多初始化了一些外设,不要紧,大家可以看代码仓库,代码仓库的更多,反正只要知道每一步干了啥,后续自己想添加外设也知道怎么添加就行。,他主要是实现将刚刚我们创建的实例去做初始化并且还初始化一些外设之类的,比如。空间代码如下,很简单,就两行代码,具体看下面代码。即可,里面很丰富,至少我找三人都验证过,照着做就能成功。,我这里就不做他的介绍了,我主要介绍怎么去使用它的。结构体,主要配置名字,类和两个函数,一个是。

2024-04-21 19:56:14 382

原创 Linux ARM平台开发系列讲解(QEMU-体验篇) 1.2 新添加一个Linux kernel设备树

用了一个默认的设备树文件,该章节呢我们就把这个默认的设备树文件增加进入我们的。文件,将我们的Makefile加入编译列表,修改后内容如下,末尾增加了一行。,但是细心的小伙伴就会发现,我们用默认的。源码中,以后就用设备树的方式构建源码。3. 在kernel中添加新的SOC。是没有找到设备树源文件的,但是又发现。4. 在kernel中添加设备树。可以看到,我们已经输出了新的。启动时候它使用了设备树。2. 导出DTB文件。

2024-04-14 17:00:24 326

原创 Linux ARM平台开发系列讲解(QEMU-体验篇) 1.1 编译QEMU 构建RISC-V64架构 运行Linux kernel

8.6 复制Linux kernel module到rootfs。10. 完整启动Linux kernel和挂载rootfs。8.4 配置rootfs(注意所有文件路径自定义即可)的使用,这样也方便环境统一调试,本章节就讲解如何在。注意,如果需要环境变量永久生效,可以把下面命令写入。位机器,以及两个平台上的应用程序,如果不使用。在开始编译之前需要部署一下依赖,安装以下依赖。简直太适合不过了,所以,我打算开一章节来教。5.2 编译交叉编译工具链源码。文件,以下命令的路径都是之前。等),重点是免费,用来学。

2024-04-13 23:11:29 164

原创 Linux ARM平台开发系列讲解(u-boot篇) 5.1 u-boot的启动流程分析(ARMv8-a)

1. 概述对于嵌入式来说,bootload对于开发人员来说并不陌生,但是在不同芯片架构中,bootload程序所做的一些操作是有所不同的,比如常见的STM32Cotex-M和RK3568之间的启动流程所做的操作是有所不同的。本小节就来概述一下U-boot2. 源码下载U-boot3. 基础知识了解各种架构的bootload,都需要掌握一些基础知识,比如汇编亦或者一些关键词,接下来就先了解一下关键词,方便后续学习起来不会误解。U-boot本质上就是一个单片机程序,所以对应不同的硬件设计和CPU。

2024-03-31 21:49:18 331

原创 Linux ARM平台开发系列讲解(CAN) 2.14.4 FlexCAN Controller 介绍

编写驱动时一些注意的点基本都讲解完了,下一章节就会开始编写驱动,所以该章节还是非常重要的,需要理解好才能在下一章节顺利理解。,这一点在嵌入式中是必须养成的习惯。下面我就简略介绍一下。开始,这样你才知道它有哪些功能,这样也才能去写。可能有删减,略有不同是正常的,参考实际即可。,理解它所说的这些模式到底是什么意思,比如。协议,部分厂家在此基础上还衍生出各自的。使用章节的读者应该多多少少感受到了,在。也做了统一集成框架,本章节,就以。初始化的步骤如下,注意初始化。有很多家的,常见的就是。,所以不同的芯片里面的。

2023-02-20 23:26:54 450 1

原创 Linux ARM平台开发系列讲解(GMSL摄像头篇)1.3 MAX9295 GMSL注意事项

就是这样的结构,官方给出的构造如下,这里需要配置摄像头的电源开关,摄像头和。芯片是串行器,一般可能会集成在摄像头内部,比如这里提到的。2. MAX9295给摄像头上电。

2023-02-17 23:14:30 1615 2

原创 Linux ARM平台开发系列讲解(CAN) 2.14.3 CANFD协议介绍

1. 概述前面章节介绍了CAN2.0协议,CAN现在主要是用在汽车领域,随着CAN的发展, 又衍生除了CANFD协议,该协议是在CAN的基础之上进行了升级,CAN2.0的最高速率是1Mbps,有限的速率导致CAN总线上负载率变高,所以CANFD就出现了,CANFD目前最高支持10Mbps。除此之外,CANFD还拥有动态波特率数据传输的特点(CAN2.0与CANFD物理层完全相同)。学习该章节前建议配合前面CAN2.0协议章节一起看。2. CANFD使用场景前面提到了CANFD。

2023-02-17 22:48:53 1144

原创 Linux ARM平台开发系列讲解(调试篇) 1.2.2 如何编译IMX8MPUS-SDK

1. 概述今天给大家介绍一下米尔科技IMX8MPLUS的SDK,由于走的是NXP原厂的yocto,所以可以说是极其难用,坑特别多,但是想到可能有看我写的文章的同学用的该开发板,我觉得应该记录一下,能帮一个是一个吧,本来想回家继承祖业,但是又想继续搞技术,所以又开始回归行业,最近由于在开发新的芯片,所以文章更新速度慢了一些,希望以后我开发的芯片有小伙伴有机会用到吧,哈哈哈,言归正传,开始介绍。2. 资源下载链接可以根据下面链接下载本章节所有资源,都已经测试完毕。3. 构建yocto使用yocto构建。

2023-02-10 23:59:45 811 2

原创 Linux ARM平台开发系列讲解(调试篇) 1.7.1 RK3399Pro环境搭建及其编译

的获取和编译烧录方法,帮助快速上手。6. 更换文件系统为Ubuntu。3. SDK编译环境搭建。4. SDK解压及其编译。

2022-10-11 14:08:56 794 2

原创 Linux ARM平台开发系列讲解(调试篇) 1.3.2 RK3399移植Ubuntu文件系统步骤

1. 概述由于项目需要,需要在RK3399上移植Ubuntu文件系统,前面章节也细讲过Ubuntu的移植,可以去参考本专栏的,当然本篇也会细讲RK3399上移植Ubuntu的过程。2. 文件系统下载Ubuntu的文件系统Ubuntu官方已经帮我们编译好了,我们只需要去做一些移植工作即可,镜像可以在Ubuntu官网下载,。如下图,下载版本。3. 解压Ubuntu文件Ubuntu03_ubunturoot4. 在主机Ubuntu里安装QEMUQEMU相当于要启动Ubuntu的虚拟机,将其挂载到PC。

2022-09-25 21:30:46 1701

原创 Linux ARM平台开发系列讲解(网络篇)1.9 以太网帧格式IEEE802.3介绍

作为驱动开发人员,如果是纯设备开发,理论上不需要了解这些协议也能开发,但是要提升为一个高手,有些知识是必须去理解消化的,该章节就讲解一下以太网帧格式(字段比较,结果相同表示帧有效,结果不同接收方认为发生了错误,进而将帧丢弃。如下图所示,每层数据向下传输时都会进行封装,帧有效数据来源于上级网络层。),广播发送给所有设备,而组播只发送给网络中一组类似的节点。这是网络层传递给数据链路层的帧,其长度为。字段中,不能包含广播地址或组播地址。表示的是有效数据长度,并不包含填充(,循环冗余校验)结果的帧的帧尾。

2022-09-21 16:20:33 652

原创 Linux ARM平台开发系列讲解(调试篇) 1.4.3 S32G274A CAN和LLCE CAN调试

1. 概述本章节讲述这颗芯片中的CAN和LLCE CAN模组调试步骤,本章节使用的板卡为NXP官方,有15路LLCE CAN和4路普通CAN2. 设备树配置CAN,设备树默认是开启CAN的,但有一路CAN1LLCE CAN3. 驱动编译中,LLCE CAN驱动默认是关闭不加载的,所以需要手动添加编译,具体可以参照用户手册,但是手册里也没有提到,这里总结一下研究成功的步骤。LLCE CAN由四部分驱动去构成,分别为LLCE CAN驱动、LLCE CAN报文日志驱动、LLCE核心驱动和LLCE。

2022-09-15 15:22:07 1405

原创 Linux ARM平台开发系列讲解(CAN) 2.14.2 CAN调试工具安装及其使用

1. 概述在Linux ARM芯片下,一般情况,SOC内部会自带CAN的驱动设备驱动开发人员基本只需要设备树里使能一下,基本就能用了,所以,掌握调试CAN的方法更为关键。本章节就讲述一些调试CAN的工具和使用方法。2. 工具安装。

2022-09-15 11:30:13 980

原创 Linux ARM平台开发系列讲解(CAN) 2.14.1 CAN基础协议分析

1. 概述CAN的全称为,也就是控制局域网络,简称为CAN。CAN最早是由德国BOSCH(博世)开发的,目前已经是国际标准(ISO 11898),是当前应用最广泛的现场总线之一。BOSCH主要是做汽车电子的,因此CAN一开始主要是为汽车电子准备的,事实也是如此,CAN协议目前已经是汽车网络的标准协议。当然了,CAN不仅仅应用于汽车电子,经过几十年的发展,CAN协议的高性能和高可靠性已经得到了业界的认可,目前除了汽车电子以外也广泛应用于工业自动化、医疗、工业和船舶等领域。学习CAN。

2022-09-13 15:20:52 577 2

原创 Linux ARM平台开发系列讲解(互斥体) 3.5.1 Linux内核互斥体描述

互斥访问表示一次只有一个线程可以访问共享资源,不能递归申请互斥体。就可以使用信号量进行互斥访问了,虽然可以通过信号量实现互斥,但是。提供了一个比信号量更专业的机制来进行互斥,它就是互斥体—驱动的时候遇到需要互斥访问的地方建议使用。中也有互斥体,将信号量的值设置为。2. 互斥锁的API。

2022-09-08 17:53:30 213

原创 Linux ARM平台开发系列讲解(信号量) 3.4.1 Linux内核信号量描述

的时候说明停车场满了。停车场满的时你可以等一会看看有没有其他的车开出停车场,当有车开出停车场的时候停车数量就会减一,也就是说信号量减一,此时你就可以把车停进去了,你把车停进去以后停车数量就会加一,也就是信号量加一。但是,信号量的开销要比自旋锁大,因为信号量使线程进入休眠状态以后会切换线程,切换线程就会有开销。,那么这个信号量就是计数型信号量,计数型信号量不能用于互斥访问,因为它允许多个线程同时访问共享资源。因此,可以通过信号量来控制访问共享资源的访问数量,如果要想进房间,那就要先获取一把钥匙,信号量值减。

2022-09-08 17:25:46 197

原创 Linux ARM平台开发系列讲解(自旋锁) 3.3.1 Linux内核自旋锁描述

1. 概述原子操作只能对整形变量或者位进行保护,但是,在实际的使用环境中怎么可能只有整形变量或位这么简单的临界区。举个最简单的例子,设备结构体变量就不是整型变量,我们对于结构体中成员变量的操作也要保证原子性,在线程A对结构体变量使用期间,应该禁止其他的线程来访问此结构体变量,这些工作原子操作都不能胜任,需要本节要讲的锁机制,在Linux内核中就是自旋锁。2. 自旋锁特性分析。

2022-09-08 15:04:38 445

原创 Linux ARM平台开发系列讲解(原子操作) 3.2.1 Linux内核原子操作

首先看一下原子操作,原子操作就是指不能再进一步分割的操作,表面上的含义是当一个原子变量被操作时,不可能有第二个线程或进程在对其操作,在没有原子操作的概念的时候,大多数都是使用标志位或者状态机去防止内存竞争,有了原子锁,就可以使用原子锁去解决类似的应用场景。的结构体来完成整形数据的原子操作,在使用中用原子变量来代替整形变量,此结构体定义在。函数,只不过原子位操作不像原子整形变量那样有个。的数据结构,原子位操作是直接对内存进行操作,没有抢到原子变量,执行了原子变量繁忙的逻辑。,说明设备被占用,返回。

2022-09-08 10:43:18 555

原创 Linux ARM平台开发系列讲解(Linux并发与竞争) 3.1.1 Linux并发与竞争概述

当然是内存啊,可以把共同要访问的这段内存叫做临界区,所谓的临界区就是共享数据段,对于临界区必须保证一次只有一个线程访问,也就是要保证临界区是原子访问的,我们都知道,原子是化学反应不可再分的基本微粒,这里的原子访问就表示这一个访问是一个步骤,不能再进行拆分。如果多个线程同时操作临界区就表示存在竞争,我们在编写驱动的时候一定要注意避免并发和防止竞争访问。系统是个多任务操作系统,会存在多个任务同时访问同一片内存区域,这些任务可能会相互覆盖这段内存中的数据,造成内存数据混乱。就先拿到了临界区的资源,线程。

2022-09-07 12:25:24 492

原创 AutoSAR入门到精通讲解 (AppL) 2.1 AutoSAR-CP AppL概述

中(实际上汽车里面也是这么做的)。将车灯开关、调光控制器和左右顶灯(这里我只画了一个)放到一个。中由车身顶部的一个芯片控制;将左右车门开关(这里我只画了一个)和车门开关逻辑单元放到专用的车门。成员之间不是直接通信的,它们之间的通信是通过虚拟功能总线(,分别位于车身前部的车门控制器和位于车身顶部的顶灯控制器。的通信就是通过外部总线(一般为。2. AppL的成员结构。3. SWC成员间的通信。在最上层,该章节就描述一下。

2022-09-06 19:48:59 3365 3

原创 AutoSAR入门到精通讲解 (AuroSAR-CP描述) 1.1 AutoSAR-CP简介

MATLAB:主要是应用层做算法用的,比较方便实用:主要用来搭建设计APPL的框架架构: 主要用来配置BSW和自动生成RTE的返回总目录。

2022-09-06 15:16:06 17747 3

原创 Linux ARM平台开发系列讲解(交换机) 2.6 Marvell 88EA6321/88EA6320 交换机编译

本章节会记录`S32G274A`调试以太网交换机`Marvell 88EA6321`的一些步骤

2022-09-02 16:43:36 1064 1

原创 Linux ARM平台开发系列讲解(GMSL摄像头篇)1.2 MAX9296 GMSL链路配置

串行器 +解串器组成,软件需要做的就是写这三部分的驱动,让摄像头数据能到达。3. 配置解串器和串行器的GMSL链路。串行器和解串器上电成功之后,就可以配置。软件配置(注意软件只可以配置速率,2. 9296上电,使能芯片。的版本和速率,比如版本是配置。配置成功之后,就会出现串行器。的链路,其它同类型的。设备地址,我设置的是。...

2022-08-31 10:55:20 7924 17

原创 Linux ARM平台开发系列讲解(GMSL摄像头篇)1.1 GMSL协议介绍

1. 概述Maxim集成公司发布了GMSL作为汽车行业视频应用程序的通信链接。GMSL基于SerDes( 串行器-解串器)技术,这意味着它在传输端使用序列化,在接收端使用反序列化。它是专门为高级驾驶员辅助系统(ADAS)和摄像头监控系统(CMS)而设计的。它可以提供高达6GB/秒的视频传输速度。它使用STP或同轴电缆,它们既便宜,又对EMC干扰非常强大,使用50Ω同轴电缆或者100Ω屏蔽双绞线(STP)时,长度可达15m甚至更长。2. GMSL的通信机制下图为GMSL在ADAS。

2022-08-23 14:36:44 5581 5

原创 Linux ARM平台开发系列讲解(调试篇) 1.6.4 NVIDIA AGX Xavier以太网MAC TO MAC模式

内核发展了那么多年,早已经将这种场景集成到了内核里,具体添加方式如下,本次针对。具体详细描述,可参考本专栏的网络篇和交换机篇,这里就简单的提一句,想要使用。速率和双工状态固定死,使其和交换机的模式一模一样,双方就可以建立通信了。2. MAC TO MAC原理。3. 开启无PHY模式进入内核。模式,本章节记录调试过程。模式,简单来说就是字面意思,以太网部分需要与交换机。,其他芯片也是一样的。修改设备树文件,将与。

2022-08-23 10:17:04 1054

原创 Linux ARM平台开发系列讲解(入门篇) 1.6.3 NVIDIA AGX Xavier刷机方法

1. 概述可以在Ubuntu下使用其刷机工具直接运行脚本刷机,该工具非常好用,可以利用USB直接更新固件,例如设备树之类的都可以更新,一定要掌握,非常好用。2. 文件下载准备进入如上述提到的下载连接后,下载这几个文件在Ubuntu下,每个版本操作都几乎一模一样,文件名不一样罢了。3. 文件分区管理创建如下文件夹将对应的源码存放进去并解压4. 烧录刷机。......

2022-08-22 15:59:40 437

原创 Linux ARM平台开发系列讲解(网络篇) 2.5 Marvell 88EA6321/88EA6320 交换机注册框架分析

的成员,它是用来描述交换机的各种功能的,需要用户自己去完成,同时它也是交换机配置的核心。这一节就概述Linux 交换机驱动需要注意到的一些知识点。,通常来自切换驱动程序的探测函数。下列成员是用户必须去实现的回调。4. struct dsa_switch 结构体中ops成员填充。成员填充如下代码,此外,有注册必然有注销,注销函数就是。从驱动程序的角度来看,交换机注册意味着将有效的结构。3. 88EA6321注册成员函数填充。2. DSA注册常用的成员函数。,用法和注册函数一样。...

2022-08-17 14:54:59 799

原创 Linux ARM平台开发系列讲解(网络篇) 2.4 Marvell 88EA6321/88EA6320 交换机内核驱动初始化分析

1. 概述驱动是开源的,可以从Linux内核版本5.10前后找到,下载后参考学习2. 驱动流程框图3. 驱动入口分析由于是采用SMI通信配置的,所以这里实际上可以将其当作一个PHY去配置驱动,这里主要是获取设备树节点然后将设备节点传入probe函数中4. probe函数probe主要是去初始化和将交换机注册进入交换机子系统。...

2022-08-16 11:31:35 1004

原创 Linux ARM平台开发系列讲解(网络篇) 2.3 Marvell 88EA6321/88EA6320 Switch 设备树的配置分析

1. 概述交换机设备树主要是要配置它的端口数量,每个Port的物理模式(例如Mac to Phy)、双工模式、连接速度、地址和与之连接的PHY地址等等,这一节就以88EA6321做例子解析一下DSA设备树,以主控S32G274A为例。2. 参考文档Linux5.10中,有Marvell3.设备树配置。...

2022-08-15 18:09:00 1275 14

原创 Linux ARM平台开发系列讲解(网络篇) 2.2 Marvell 88EA6321/88EA6320 Switch 寄存器解读篇

1. 概述本章解读一些常用到的Marvell寄存器,首先得拿到手册,由于NDA限制,这里就不发下载链接了。2. 芯片寻址模式88e6321支持两种芯片寻址访问模式,分别是多芯片寻址模式()和单芯片寻址模式()。...

2022-08-10 09:06:07 1327

原创 Linux ARM平台开发系列讲解(入门篇) 1.4.2 S32G274A PCIe调试

5. S32G274A 扫描PCIE总线。3. S32G274A PCIE原理图。4. S32G274A 开启PCIE。的一些调试记录,方便后续使用借鉴。2. PCIE调试工具安装。

2022-08-05 09:43:47 1221

原创 Linux ARM平台开发系列讲解(PCIE) 2.13.5 PCIE的配置过程

1. 概述前两节介绍了PCI访问桥设备和非桥设备的方法,本节就讲述PCIE的配置过程2. TLP事务层格式。

2022-08-03 14:43:04 1391

OV13850Linux驱动源码

OV13850Linux驱动源码,包含datasheet等等

2022-07-11

marvell 88ea6321/6320 交换机Linux驱动程序源码

marvell 88ea6321/6320 Linux驱动程序源码,包含数据手册等等

2022-06-21

WK2124 Linux驱动

包含wk2124 Linux驱动

2022-06-06

makefile.zip

makefile能满足基本开发要求,可根据自行需求扩展,免费提供给大家,希望大家也相互交流,打造最厉害的makefile,为嵌入式开发贡献一份力量

2020-08-11

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

TA关注的人

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