首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    hisi mmz模块驱动讲解

    os内存指:由linux操作系统管理的内存;mmz内存:由mmz驱动模块进行管理供媒体业务单独使用的内存,在驱动加载时可以指定该模块管理内存的大小: insmod hi_osal.ko mmz=anonymous...#ifndef MMZ_V2_SUPPORT unsigned int id; #endif char name[HIL_MMB_NAME_LEN+1]; //该mmb模块使用者名字...mmz驱动模块支持多个mmz区域,只要在加载mmz.ko时通过参数传递即可,一般情况下只有一个mmz区域。...2、mmb、mmb_info和mmb_userdev_info关系 下图展示了mmz驱动和应用申请数据结构之间的关系: ?...由于mmz大部分为媒体业务独立使用,内存在媒体硬件模块流转,应用无需访问,这时不用映射,只有当应用需要访问时才需要进行映射。

    2.1K22

    rfid-rc522模块中文资料_驱动模块

    TxModeReg 0x12 //定义发送过程的数据传输速率 #define RxModeReg 0x13 //定义接收过程中的数据传输速率 #define TxControlReg 0x14 //控制天线驱动器管教...TX1和TX2的逻辑特性 #define TxAutoReg 0x15 //控制天线驱动器的设置 #define TxSelReg 0x16 //选择天线驱动器的内部源 #define RxSelReg...0x24 //控制ModWidth的设置 #define RFU25 0x25 //保留 #define RFCfgReg 0x26 //配置接收器增益 #define GsNReg 0x27 //选择天线驱动器管脚...(TX1和TX2)的调制电导 #define CWGsCfgReg 0x28 //选择天线驱动器管脚的调制电导 #define ModGsCfgReg 0x29 //选择天线驱动器管脚的调制电导 #define...2.STM32对RC522寄存器的操作 上面说了,单片机是向RC522的寄存器操作来驱动RC522的,所以会有这几种基本操作: 读取RC522指定寄存器的值 向RC522指定寄存器中写入指定的数据 置位

    3.2K20

    Linux驱动开发-编写超声波测距模块的驱动

    这款超声波模块内部自带了时间计算电路,型号是HC-SR04 ,它可提供 2cm-400cm 的非接触式距离感测功能,距精度可达高到 3mm; 整个模块包括了超声波发射器、 接收器与控制电路。...下面是超声波模块与开发板的连线方式: 2....示例代码 下面是超声波测距模块的驱动代码,将超声波模块的输出脚接在开发板支持中断的IO口上,配置为上升沿触发,当超声波输出脚检测到高电平就进去中断服务函数,在中断服务函数里调度工作队列,最终在工作函数里完成高电平的时间长度获取...,计算测量的距离,直接在驱动代码里打印出来。..._linux_csb_init); /*驱动入口--安装驱动的时候执行*/ module_exit(tiny4412_linux_csb_cleanup); /*驱动出口--卸载驱动的时候执行*/

    1.8K30

    Linux驱动开发-编写RFID-RC522射频刷卡模块驱动

    淘宝上MFRC522的成品模块非常多,购买都会送几张白卡(IC卡),完成读写实验。...本模块可直接装入各种读卡器模具。模块采用电压为3.3V,通过SPI接口简单的几条线就可以直接与用户任何CPU主板相连接通信,可以保证模块稳定可靠的工作、读卡距离远。...当前文章介绍如果在Linux系统下编写MF-RC522模块驱动,配合应用层,完成IC卡号读取,扇区读写,密码验证等等。...当前开发板采用友善之臂Tiny4412,芯片是三星的EXYNOS4412,驱动代码没有采用SPI子系统,直接控制IO口模拟SPI时序完成与MF-RC522之间通讯。...驱动代码示例 3.1 rc522.c 源代码 #include #include #include #include

    2.8K40

    驱动开发:取进程模块的函数地址

    在笔者上一篇文章《驱动开发:内核取应用层模块基地址》中简单为大家介绍了如何通过遍历PLIST_ENTRY32链表的方式获取到32位应用程序中特定模块的基地址,由于是入门系列所以并没有封装实现太过于通用的获取函数...,本章将继续延申这个话题,并依次实现通用版GetUserModuleBaseAddress()取远程进程中指定模块的基址和GetModuleExportAddress()取远程进程中特定模块中的函数地址...,该功能在《驱动开发:内核取应用层模块基地址》中详细介绍过原理,这段代码核心原理如下所示,此处最需要注意的是如果是32位进程则我们需要得到PPEB32 Peb32结构体,该结构体通常可以直接使用PsGetProcessWow64Process...DriverUnload = UnDriver; return STATUS_SUCCESS; } 替换DriverEntry入口函数处的ProcessID并替换为当前需要获取的应用层进程PID,运行驱动程序即可得到该进程内...Ntdll.dll的模块基址,输出效果如下; GetModuleExportAddress(): 实现获取特定模块中特定函数的基地址,通常我们通过GetUserModuleBaseAddress()可得到进程内特定模块的基址

    42740

    Linux-insmodrmmodlsmod驱动模块相关命令(10)

    insmod:加载模块 参数: -f  不检查目前kernel版本与模块编译时的kernel版本是否一致,强制将模块载入。 -k  将模块设置为自动卸除。 -m  输出模块的载入信息。...-o   模块名称>  指定模块的名称,可使用模块文件的文件名。 -p  测试模块是否能正确地载入kernel。 -s  将所有信息记录在系统记录文件中。 -v  执行时显示详细的信息。...-x  不要汇出模块的外部符号。 -X  汇出模块所有的外部符号,此为预设置。...实例:  insmod first_drv.ko 除了insmod外,还有modprobe 也是加载模块,不同的是它在加载某模块时,会同时加载该模块所依赖的其他模块。...参考资料:http://www.linuxso.com/command/insmod.html rmmod:卸载模块 参数: -a  删除任何现在无需的模块。

    2.2K70

    驱动开发:取进程模块的函数地址

    在笔者上一篇文章《驱动开发:内核取应用层模块基地址》中简单为大家介绍了如何通过遍历PLIST_ENTRY32链表的方式获取到32位应用程序中特定模块的基地址,由于是入门系列所以并没有封装实现太过于通用的获取函数...,本章将继续延申这个话题,并依次实现通用版GetUserModuleBaseAddress()取远程进程中指定模块的基址和GetModuleExportAddress()取远程进程中特定模块中的函数地址...,该功能在《驱动开发:内核取应用层模块基地址》中详细介绍过原理,这段代码核心原理如下所示,此处最需要注意的是如果是32位进程则我们需要得到PPEB32 Peb32结构体,该结构体通常可以直接使用PsGetProcessWow64Process...Driver->DriverUnload = UnDriver;return STATUS_SUCCESS;}替换DriverEntry入口函数处的ProcessID并替换为当前需要获取的应用层进程PID,运行驱动程序即可得到该进程内...Ntdll.dll的模块基址,输出效果如下;图片GetModuleExportAddress(): 实现获取特定模块中特定函数的基地址,通常我们通过GetUserModuleBaseAddress()可得到进程内特定模块的基址

    45140

    驱动开发:内核取ntoskrnl模块基地址

    模块是程序加载时被动态装载的,模块在装载后其存在于内存中同样存在一个内存基址,当我们需要操作这个模块时,通常第一步就是要得到该模块的内存基址,模块分为用户模块和内核模块,这里的用户模块指的是应用层进程运行后加载的模块...,内核模块指的是内核中特定模块地址,本篇文章将实现一个获取驱动ntoskrnl.exe的基地址以及长度,此功能是驱动开发中尤其是安全软件开发中必不可少的一个功能。...使用ARK工具也可看出其代表的是第一个驱动模块。...图片那么如何使用代码得到如上图中所展示的基地址以及大小呢,实现此功能我们需要调用ZwQuerySystemInformation这个API函数,这与上一篇文章《驱动开发:判断自身是否加载成功》所使用的NtQuerySystemInformation...: 0x%p \n", g_KernelBase);DbgPrint("模块大小: 0x%p \n", g_KernelSize);Driver->DriverUnload = UnDriver;return

    65420

    树莓派基础实验35:USB TO TTL模块实验

    USB TO TTL模块 ? USB TO TTL模块 ? CH340G模块原理图 (一)串口通信介绍 串口 串口,即串行接口,与之相对应的另一种接口叫并口,并行接口。...在相同的数据传输速率下,并口的确比串口更快,但由于并口的各个连接线之间容易互相干扰,高速情况下难以同步各连接线的数据,而且硬件成本也相对串口更高(线多),因而串口取代并口成为了现在的主流接口,较具代表性的要数...(二)模块介绍 CH340G芯片,比国产PL2303稳定,该系列芯片是STC官方推荐的USB转TTL芯片,不会出现由于不同的驱动或不同的电脑等导致不兼容现象。...若驱动和接线都对,模块不能正常通讯则可对调RXD和TXD两条线试试。 ? 四、实验步骤 第1步: 连接电路。...第3步: 将USB插上笔记本后,笔记本上要安装串口驱动程序(CH340G驱动),安装好后在设备管理器中可以看到串口,名称为“COM3”。 ?

    3K10
    领券