本文主要记录个人安装VMware+Windgb+Win7内核驱动调试的笔记。一、安装环境主机:Windows Vista Bussiness虚拟机:VMware 7GUestOS: Win7Windbg: 6.11二、虚拟机配置打开相应 vmware 虚拟机上的 “Virtaul Machine Settings““Hardware ”选项中 ----> 点击“Add" 添加一个
转载 8月前
33阅读
1. 总论  1.1 概念MMC - MultiMedia CardSD    - Secure Digital Card 1.2 分类按存储大小,普通SD卡(<=2GB,支持FAT12/FAT16),HCSD卡(>2GB,<=32GB,支持FAT32)按体积大小,普通SD卡,mini-SD卡,micro-SD卡(TF卡) 1.3 速度默认
进程几种状态:就绪态(运行态)、占有态、等待态(可中断,不可中断)、停止态、僵尸态。驱动程序无法立刻满足用户层的请求时如何处理:驱动程序应该(缺省的)进行阻塞进程,使其进入睡眠直到请求可以满足为止。阻塞型驱动操作:在阻塞型操作的驱动中,应用层调用read方法时,如果驱动中的数据不足或是没有数据可读,进程阻塞;当数据达到要求时,进程被唤醒并将数据返回给用户层。当应用层调用write的时候,驱动程序没
linux 设备驱动归纳总结(十): 1.udev&misc xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 不知不觉我的总结已经写得七七八八了,这一章节只是补充一下两个知识点:动态创建设备节点和杂设备类的注册。xxxxxxxxxxxxxxxxxxxxx
在进行详细的驱动分析之前,我们先预览一下代码结构。在linux源码的\drivers\mmc目录下,有三个文件夹,分别为:card、core、cast。那它们都有什么作用呢?一、card(区块层) 主要子文件:block.c、queue.h、queue.c. 作用:主要是按照 LINUX 块设备驱动程序的框架实现一个卡的块设备驱动;block.c:   在 该文件当中我们可
转载 2024-07-09 04:45:50
141阅读
一、地址映射我们知道 STM32 无法跑 Linux 系统,是由于它内部没有 MMU(内存管理单元),MMU 主要完成的功能如下:(1)完成虚拟空间到物理空间的映射。(2)内存保护,设置存储器的访问权限,设置虚拟存储空间的缓冲特性。Linux 内核启动的时候会初始化 MMU,设置好内存映射,设置好以后 CPU 访问的都是虚拟地址 。 如:I.MX6ULL 的 GPIO1_IO03 引脚的复用寄存器
一、uboot 与 linux 驱动1、uboot 本身是裸机程序(1) 裸机本来是没有驱动的概念的(狭义的驱动的概念就是,操作系统中用来具体操控硬件的那部分代码驱动)(2) 裸机程序中是直接操控硬件的,操作系统中必须通过驱动来操控硬件。这两个有什么区别?本质区别就是分层。2、uboot 的虚拟地址对硬件操作的影响(1) 操作系统(指的是 linux)下 MMU 肯定是开启的,也就是说,linu
启动方式启动方式选择串行下载内部 BOOT 模式启动设备选择镜像烧写 I.MX6U可以从 SD/EMMC、NAND Flash、QSPI Flash等启动,且需要在bin文件前面添加数据头。启动方式选择在拨码开关中,使用 BOOT_MODE[1:0]这两个引脚控制BOOT模式, BOOT_MODE1 和 BOOT_MODE0 在芯片内部是有 100KΩ下拉电阻的,所以默认是0。 BOOT 类型模式
一、Linux驱动开发与裸机开发的区别1、开发思维区别裸机驱动:(1)底层,跟寄存器打交道,有些MCU提供了库Linux驱动:(1)Linux下驱动开发直接操作寄存器不现实(2)根据Linux下的各种驱动框架进行开发。一定要满足框架,也就是Linux下各种驱动框架的掌握。(3)驱动最终表现就是 /dev/xxx(4)现在新的内核支持设备树。这是一个 .dts 文件,此文件,描述了板子的设备信息。(
uboot与linux驱动1.uboot本身是裸机程序(1)在裸机中本来是没有驱动概念的(狭义的驱动概念是指在操作系统中用来具体操控硬件的那部分代码驱动)。(2)裸机程序是直接操控硬件的,操作系统必须通过驱动来操控硬件。这两个有什么区别?本质区别就是分层。2.uboot虚拟地址对硬件操作的影响(1)操作系统(指的是linux)下MMU肯定是开启的,也就是说linux驱动中使用的都是虚拟地址,而纯
 1、uboot本身是裸机程序(1)裸机本来是没有驱动的概念的(狭义的驱动的概念就是操作系统中用来具体操控硬件的那部分代码驱动)(2)裸机程序中是直接操控硬件的,操作系统中必须通过驱动来操控硬件。这两个有什么区别?本质区别就是分层。2、uboot的虚拟地址对硬件操作的影响(1)操作系统(指的是linux)下MMU肯定是开启的,也就是说linux驱动中肯定都使用的是虚拟地址。而纯裸机程序
转载 2024-07-22 18:12:34
94阅读
1.3 体验Pro/E野火版5.0Pro/E野火版5.0与其他软件类似,操作程序时需打开软件,离开程序时需关闭软件;同样也具有一个用户操作的主界面。详细的内容请参照下面的章节。1.3.1 开启与关闭Pro/E开、关软件作为软件操作最为基础的操作,是读者入门首要学会的内容。软件的开启与关闭有多种方式,相关内容介绍如下。1.开启Pro/E野火版5.02.关闭Pro/E野火版5.0。1.3.2 Pro/
本次学习驱动基于A9开发板,核心板由一个主控芯片三星公司的exynos4412,该芯片是三星猎户座系列的MCU,基于ARM架构,4核处理器,每个额核心主频最高1.4GHZ。核心板上外扩有两个RAM,每个512M。以及一个外扩EMMC工艺的4GB的FLASH,以上是开发板的基本信息。1.检验开发板是否使用正常烧录用于检测的系统步骤:制作系统启动盘,用准备好的SD卡或者U盘,在电脑运行制作启动盘的软件
目录前言一 mmc相关的uboot命令mmc infommc part1 uboot分区计算2 fat分区计算3 ext4分区计算mmc listmmc devmmc read mmc write实践1:擦除环境变量mmc erase实践2 再擦一次环境变量saveenv命令二 下面是emmc驱动相关的内容,可以不用看了。三 mmc驱动预览总结前言    有很多东西,
文章目录前言1.uboot的虚拟地址对硬件操作的影响2.iNand/SD驱动解析3.驱动思想 1.uboot的虚拟地址对硬件操作的影响(1)操作系统(指的是linux)下MMU肯定是开启的,也就是说linux驱动中肯定都使用的是虚拟地址。而纯裸机程序中根本不会开MMU,全部使用的是物理地址。这是裸机下和驱动中操控硬件的一个重要区别。 (2)uboot早期也是纯物理地址工作的,但是现在的uboot
前言虽可使用Petalinux进行移植,简单方便,但为了更清楚明白的了解整个流程,还是尝试了一波手动移植。 流程对于手动移植,所需的文件为:BOOT.bin(FSBL+fpga_bit文件+u_boot.elf)、uImage、devicetree.dtb、uEnv.txt、文件系统文件放置位置说明:FLASH:BOOT.bin(FSBL+fpga_bit文件+u_boot.elf)E
转载 2024-08-06 18:55:03
333阅读
DSP C6713 EMIF FLASH 启动1. 启动流程2.程序设计3.BOOTMODE4.程序编码4.1 BootLoader工程4.2 App工程4.3 FLASH烧写工程5. 生成image文件6.烧录工具 1. 启动流程参考《tms320c6713b》page 98。 6713默认从EMIF片选为CE1的存储器中读取1K-Byte的代码运行。代码必须是大端模式。2.程序设计为了避
实现eMMC驱动 Android的步骤及代码解析 为了帮助你理解如何实现eMMC驱动 Android,我将分步骤向你介绍整个过程。下面是一个表格,概述了每个步骤及其相应的代码: | 步骤 | 描述 | 代码示例 | 代码解释 | |-----|------|---------|---------| | 1 | 寻找eMMC驱动的源代码 | ```git clone | 从Linux内核源代码
原创 2024-01-16 09:37:54
91阅读
文章目录前言一、地址映射二、I/O 内存访问函数读函数写函数三、 编程实战1、驱动文件2、应用文件3、加载驱动4、应用文件测试 前言在linux驱动中点亮LED,与裸机实验不同的是,在 Linux 下编写驱动要符合 Linux的驱动框架。一、地址映射MMU 全称叫做 MemoryManage Unit,也就是内存管理单元。 ①、完成虚拟空间到物理空间的映射。 ②、内存保护,设置存储器的访问权限,
Linux开机加载驱动时,涉及到了initramfs文件中包含的驱动以及硬盘中包含的驱动两个部分;而系统启动后手动加载驱动时只会用到硬盘中的驱动库,与initramfs无关。首先介绍下initramfs文件生成的原理及流程,然后在介绍下开机加载的流程及本地验证步骤。 一、 initramfs文件生成原理 1、 镜像安装时生成initramfs文件 在安装镜像时,会去扫描所安装的服务器中在位的设备,
  • 1
  • 2
  • 3
  • 4
  • 5