首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏TencentOS-tiny

    LiteOS裸机驱动移植教程02 | LCD驱动移植及使用

    移植LCD裸机驱动到LiteOS 如果你对移植裸机驱动到LiteOS的方法还不了解,请先阅读这篇文章:LiteOS裸机驱动移植教程01 | 以LED为例说明裸机驱动移植方法。 LCD驱动文件 添加驱动文件路径 因为 LiteOS 的整个项目工程使用 make 构建,所以复制驱动文件之后,需要添加驱动文件的路径到 makefile 中,加入编译。 SPI驱动头文件路径 基于SPI驱动的LCD屏幕驱动文件lcd.c添加到HARDWARE_SRC中: ? LCD屏幕驱动头文件路径 至此,复制文件到LiteOS工程中,并将新复制的文件路径添加到makefile中,加入工程编译,就完成了驱动移植。 3. 本文中移植的LCD设备,并不需要专门的任务去操作LCD,所以应该在系统启动之前就进行初始化,然后每个任务都可以操作LCD设备进行显示。

    2.3K20发布于 2020-07-16
  • 来自专栏Linux驱动

    3.移植驱动到3.4内核-移植DM9000C驱动

    在上章-使内核支持烧写yaffs2,裁剪内核并制作补丁了 本章,便开始移植以前2.6内核的驱动到3.4新内核 ---- 1.介绍 首先内核更新,有可能会重新定义新的宏,去除以前的宏,以及更改函数名等 所以移植驱动的过程如下 : 1)编译 2)解决错误 ->2.1)头文件不对:去掉或改名 ->2.2)宏不对:改名使用新宏 ->2.3)有些函数没有了:改名使用新函数 2.移植内核自带的DM9000网卡驱动 machid=16a 3.移植厂家提供的DM9000C驱动 3.1我们发现内核自带的DM9000驱动版本只有1.31 如下图所示(位于drivers/net/ethernet/davicom/dm9000.c): ? 而我们板子的网卡硬件比较新,已经是dm9000c了,所以我们去移植厂家提供的DM9000C驱动 在之前学习2.6内核的驱动时,我们便移植过了厂家提供的DM9000C驱动了,链接入口:http://www.cnblogs.com 未完待续,下章再来移植其它驱动~

    1.3K20发布于 2019-05-24
  • 来自专栏Linux驱动

    4.移植驱动到3.4内核-移植总结

    函数里初始化 而获取信号量down()函数和释放信号量up()函数保持不变 (2.6内核下的信号量使用请参考:http://www.cnblogs.com/lifexy/p/7515488.html) 4.以移植 () 3)将class_device_unregister()函数改为device_create() 4)添加头文件 #include <linux/device.h> 5)然后再次编译测试程序,移植到板子上测试即可 5.移植LCD 1)编译驱动 2)去掉内核自带的lcd驱动 进入Device Drivers -> Graphics support -> Support for frame buffer devices framebuffer support //设为模块化 make uImage 编译内核 make modules 编译模块 然后将drivers/video下面的3个文件放入nfs文件系统里,如下图所示: (LCD驱动里的成员 insmod cfbfillrect.ko insmod cfbimgblt.ko insmod 9th_lcd.ko 使用echo和cat命令试验 5.1 安装tslib,试验 1)首先编译触摸屏驱动

    2.4K10发布于 2019-05-24
  • 来自专栏鸿蒙开发笔记

    OpenHarmony开发——器件驱动移植

    本章节讲解如何移植各类器件驱动。LCD驱动移植移植LCD驱动的主要工作是编写一个驱动,在驱动中生成模型的实例,并完成注册。 preload = 2; moduleName = "LCD_XXXX"; } } } }TP驱动移植本节描述如何移植触摸屏驱动 移植触摸屏驱动主要工作是向系统注册ChipDevice模型实例。创建触摸屏器件驱动在上述touchscreen目录中创建名为touch_ic_name.c的文件。 HDF WLAN分别为这两部分做了抽象,驱动移植过程可以看做分别实现这两部分所需接口。这些接口有:说明:详细的接口开发指导,请参考WLAN开发。 具体的移植步骤如下:创建HDF WLAN芯片驱动在目录/device/vendor_name/peripheral/wifi/chip_name/创建文件hdf_wlan_chip_name.c。

    41421编辑于 2024-08-06
  • 来自专栏鸿蒙开发笔记

    OpenHarmony开发——平台驱动移植

    驱动主要包含两部分,平台驱动和器件驱动。 开发HDF驱动中,请尽可能只使用HDF驱动框架提供的接口,否则会导致驱动丧失跨OS使用的特性。在开始驱动开发前,建议先了解 HDF驱动框架。 平台驱动移植在这一步,我们会在源码目录//device/vendor_name/soc_name/drivers目录下创建平台驱动,如果你要移植的SOC的厂商还没有创建仓库的话,请联系 sig_devboard ,移植平台驱动的主要工作是向模型注入实例。 本节我们会以GPIO为例,讲解如何移植平台驱动移植过程包含以下步骤:创建GPIO驱动 在源码目录//device/vendor_name/soc_name/drivers/gpio中创建文件soc_name_gpio.c

    50920编辑于 2024-08-05
  • 来自专栏全栈程序员必看

    linux 驱动移植_免驱动led灯好吗

    因为我们是做led驱动移植,而不是自己编写led的驱动代码。我们要移植的代码是linux-3.3.5源代码目录下的driver/leds的leds-gpio.c。 在这个虚拟的总线模型里,把总线、设备和驱动是分开的。这样做的好处是,基本上可以保证驱动的设备无关性,也使驱动有更好的移植性。 二.led驱动移植 上面对platform总线模型的简介中,咱们提到了,要移植的源文件的地方,你可以打开看看,这就是一个与具体平台无关的led灯的驱动程序。 进入配置界面后,选择Device Driver——>这个选项,咱们移植的是驱动嘛。 通过这篇对led驱动移植,对移植有了一个大概得了解,下一篇咱们介绍一下移植DM9000到tiny210,come on! 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    2.7K20编辑于 2022-11-08
  • 来自专栏TencentOS-tiny

    LiteOS裸机驱动移植教程01 | 以LED为例说明裸机驱动移植方法

    LiteOS裸机驱动移植系列 俗话说的好,光说不练假把式,上一个系列 LiteOS内核实战教程 中讲述了内核中任务如何管理、如何使用信号量同步多个任务的运行,如何用互斥锁保护共享资源,如何申请分配动态内存空间 在这个系列中,本教程将会带领大家,手把手添加一些常用的外设驱动到LiteOS系统中,掌握外设驱动移植方法。 2. 如何移植驱动到LiteOS 复制裸机驱动文件 LiteOS 工程 target 目录结构如下: ? 添加裸机驱动文件路径 因为 LiteOS 的整个项目工程使用 make 构建,所以复制驱动文件之后,需要添加驱动文件的路径到 makefile 中,加入编译。 LED驱动头文件路径 至此,复制文件到LiteOS工程中,并将新复制的文件路径添加到makefile中,加入工程编译,就完成了驱动移植。 4.

    2.1K40发布于 2020-07-16
  • 来自专栏鸿蒙开发笔记

    OpenHarmony开发——移植外设驱动子系统

    外设驱动子系统提供OpenHarmony专有的外部设备操作接口。本模块提供设备操作接口有:FLASH, GPIO, I2C, PWM, UART, WATCHDOG等。 OpenHarmony提供了两种驱动适配方式:使用外设驱动子系统、使用HDF驱动框架。由于轻量级系统的资源有限,这里建议使用IOT子系统方式。 移植指导厂商需要根据OpenHarmony提供的接口定义实现其功能,IOT子系统接口定义的头文件如下:base/iot_hardware/peripheral/├── BUILD.gn└── interfaces 移植实例在“config.json”中添加iot_hardware子系统。

    56020编辑于 2024-08-04
  • 来自专栏鸿蒙开发笔记

    OpenHarmony(鸿蒙南向开发)——小型系统芯片移植指南(三)驱动移植

    移植概述驱动主要包含两部分,平台驱动和器件驱动。 平台驱动移植在这一步,我们会在源码目录//device/vendor_name/soc_name/drivers目录下创建平台驱动,如果你要移植的SOC的厂商还没有创建仓库的话,请联系 sig_devboard ,移植平台驱动的主要工作是向模型注入实例。 ,移植平台驱动的主要工作是向模型注入实例。 LCD驱动移植移植LCD驱动的主要工作是编写一个驱动,在驱动中生成模型的实例,并完成注册。

    48020编辑于 2025-06-24
  • 来自专栏linux基础

    如何在linux系统上移植驱动

    在嵌入式linux上移植LCD(这里指彩色点阵式LCD)的驱动,通常说来,并不是很困难的事。最简单的方法,就是找到linux中,现有的LCD驱动的参数设置的代码,直接修改参数即可。 复杂点的方法,就要添加LCD驱动相关的结构体,设备描述,等。但不管怎么样,LCD的参数设置是最终肯定要面对的问题。 1075083208 如何在linux系统上移植驱动以下,就把LCD的参数设置的方法说明一下。 首先,参数设置设置的是什么?其实就是LCD屏的工作频率,垂直扫描频率,撗向扫描时间等等参数。 接下来,如何设置,在linux中,这些参数将会填写到LCD驱动相关的结构体中去。(不同体系的嵌入系统中,这个结构体的名称和所在文件不尽相同) 最后,就是手册中的参数与LCD结构体中的参数的对应关系。 (这是本博文最有价值的地方,这些公式找了好久才找到) OK,这样一来,参数的计算就不成问题了,LCD的驱动也就不成问题了。

    4.5K10发布于 2020-08-03
  • 来自专栏鸿蒙开发笔记

    OpenHarmony 移植案例与原理 - HDF驱动框架-驱动配置(1)

    HCS(HDF Configuration Source)是HDF驱动框架的配置描述源码,内容以Key-Value为主要形式。它实现了配置代码与驱动代码解耦,便于开发者进行配置管理。 在弱性能环境中,转换为配置树源码,驱动可直接调用C代码获取配置。 在高性能环境中,转换为HCB(HDF Configuration Binary)二进制文件,驱动可使用HDF框架提供的配置解析接口获取配置。 使用HCB模式的配置使用流程如下图,HCS经过HC-GEN编译生成HCB文件,HDF驱动框架中的HCS Parser模块会从HCB文件中重建配置树,HDF驱动模块使用HCS Parser提供的配置读取接口获取配置内容 【OpenHarmony】Uboot 驱动加载流程12.OpenHarmony构建系统--GN与子系统、部件、模块详解13.ohos开机init启动流程14.鸿蒙版性能优化指南.......1.2.6

    42520编辑于 2025-06-17
  • 来自专栏鸿蒙开发笔记

    OpenHarmony 移植案例与原理 - HDF驱动框架-驱动配置(2)

    【OpenHarmony】Uboot 驱动加载流程12.OpenHarmony构建系统--GN与子系统、部件、模块详解13.ohos开机init启动流程14.鸿蒙版性能优化指南.......2、hc-gen hc-gen -d $SourceHcbFileName小结本文介绍了HDF驱动框架配置管理的概念,介绍了HCS及其语法,并介绍了HCB及其用法,后续会介绍更多的HDF驱动框架知识。

    24120编辑于 2025-06-18
  • 来自专栏嵌入式与Linux那些事

    19.DM9000网卡驱动移植

    3.修改驱动的硬件相异性(设置基地址,寄存器,中断等) 3.1先来找找代码在哪里初始化DM9000C硬件的 进入dm9000c_init() -> dmfe_probe() 其中dmfe_probe 3.6修改中断   当使用了register_netdev()注册了网卡驱动net_device后,在内核中使用ifconfig就会进入net_device->open成员函数申请中断,激活队列等    (PS:若DM9000C无法驱动,可能是Tacc时间太短,导致读取不到数据,可以将Tacc设大一点)   与硬件相关的部分已经改好了,接下来开始编译 五、编译测试 编译之前,首先添加该驱动需要的内核头文件 #include <linux/irq.h> #include <asm/io.h> #include <asm/arch-s3c2410/regs-mem.h> 编译无误后,便开始测试DM9000C驱动程序 CONFIG_DM9000) += dm9dev9000c.o make uImage 使用新内核启动 ifconfig eth0 192.168.2.107 ping 192.168.2.1 可以ping通,说明移植成功

    1.3K20发布于 2021-05-20
  • 来自专栏全栈程序员必看

    wifi linux驱动_嵌入式系统Android移植

    背景:需要更换wifi厂家提供的驱动程序,此驱动不是insmod测试程序,而是需要编译进内核,开机自动挂载的。 insmod挂载驱动通常是将驱动源码,使用对应的交叉编译工具链编为xx.ko的文件,手动insmod xx.ko进行使用。 ---- 1:将驱动源码放入内核目录下的/drivers/net/wireless/realtek目录。 2:查看驱动源码目录下的Kconfig和Makefile是否齐全,一般厂家提供时会全部提供。 = $(shell pwd)/drivers/net/wireless/realtek/rtl8723BU 2.此驱动依赖一些底层驱动,需要在配置的时候选中cfg80211。 未完,待续。

    5K20编辑于 2022-11-08
  • 来自专栏鸿蒙开发笔记

    OpenHarmony 移植案例与原理 - HDF驱动框架-OSAL

    为了提升驱动代码在不同内核子系统间的可复用能力,OpenHarmony HDF(Hardware Driver Foundation)驱动框架提供了OSAL(Operating System Abstraction OSAL为驱动程序提供了任务、定时器、互斥锁、信号量等基础库相关接口,使驱动相关的实现不再依赖于具体的内核或POSIX接口,是实现驱动可迁移的基石。 OpenHarmony HDF驱动框架已经在LiteOS-M,LiteOS-A,Linux内核完成适配,可直接使用。 本文主要分析下驱动适配代码仓中的OSAL的相关接口,主要以适配LiteOS-M内核的OSAL接口为例。OSAL在HDF驱动框架中的位置,见HDF架构图。 小结本文介绍了HDF驱动框架子系统中的OSAL接口,后续会介绍更多的HDF驱动框架知识。

    42410编辑于 2025-06-17
  • 来自专栏物联网思考

    移植SFUD,驱动SPI FLASH ZD25WQ80

    1、关于SFUD SFUD (Serial Flash Universal Driver) 串行 Flash 通用驱动库,支持众多spi flash,关于SFUD的详细资料可参考:https://github.com 这也正是SFUD驱动的由来。 对应用来说只需要配置好spi,就可以读写flash了,因为SFUD提供了这些标准驱动。 3、关于SPI Flash ZD25WQ80 翻看ZD25WQ80的手册,可以发现ZD25WQ80是符合JEDEC的标准的,因此可以可以直接使用SFUD 这个驱动。 4、代码移植 4.1、SFUD代码结构 SFUD的代码结构也比较简单: ./demo里面是示例, ./docs里面是文档说明, ./sfud里面是源码, 我们移植也只关心. 配置完成后,就需要编写spi底层驱动了,这里涉及到两个函数sfud_spi_port_init和spi_write_read,分别是spi初始化和spi读写。

    1.7K20编辑于 2023-08-18
  • 来自专栏全栈程序员必看

    嵌入式Linux移植USB网卡驱动「建议收藏」

    操作系统:Ubuntu 12,04 交叉编译器:arm-none-linux-gnueabi gcc version 4.3.2 WIFI 模组:TP-LINK TL-WN725N 2.0 驱动版本 :8188eu_USB_Linux 因为我们是要移植到ARM开发板上,所以首先我们需要更改驱动的Makefile; CONFIG_PLATFORM_I386_PC = n CONFIG_PLATFORM_ANDROID_X86 当这些全部完成之后,执行make命令编译,就可以得到开发板上面的驱动文件8188eu.ko。 ,然后加载驱动 [root@FriendlyARM /sdcard]# insmod 8188eu.ko [root@FriendlyARM /sdcard]# ifconfig eth0 Link 193.940 ms 64 bytes from 172.21.15.1: seq=5 ttl=64 time=2.855 ms 到此,USB网卡驱动移植结束

    9.3K30编辑于 2022-11-08
  • 来自专栏嵌入式、安防、流媒体、AI分析

    EC200&UC200_Linux&Android_USB驱动移植说明

    EC200&UC200 需要用到2个驱动,这2个驱动都是内核自带的。 usb-serial-option, USB转串口驱动,生成/dev/ttyUSB0~2. 需要使能的内核选项如下 USB_SERIAL=y USB_SERIAL_WWAN=y USB_SERIAL_OPTION=y USB网卡驱动,模块可通过AT配置成rndis或者ecm,默认是ecm。 UC200&EC200和其他高通模块,都是用usb-serial-option驱动,但是USB interface的顺序不同. 所以如果客户之前移植过EC20/EC25的代码,会导致UC200&EC200的PPP口识别不到。 所以建议客户先还原drivers/usb/serial/option.c的修改,重新按照 EC200_UC200_usb_serial_option.patch移植

    5.2K30编辑于 2023-01-04
  • 来自专栏全栈程序员必看

    U-Boot移植(六) 网络驱动修改 LAN8720A

    这个时候就有个问题:换了PHY 芯片以后网络驱动怎么办? 为此,I.MX6U-ALPHA 开发板将 ENET1 和 ENET2的 PHY 换成了LAN8720A,这样就可以给大家讲解更换 PHY 芯片以后如何调整网络驱动,使网络工作正常。 0x0 ③、LAN8720 驱动 修改 ENET2网络驱动的话重点就三点: ①、ENET1 复位引脚初始化。 0x1 ③、LAN8720 驱动 下面开始修改文件。 ,打开文件drivers/net/phy/phy.c,找到函数 genphy_update_link,这是个通用 PHY 驱动函数,此函数用于更新 PHY 的连接状态和速度。

    2.8K11编辑于 2022-06-24
  • 来自专栏Linux驱动

    31.Linux-wm9876声卡驱动(移植+测试)

    本节学习目的 1)分析Linux中的OSS声卡系统 2)移植wm9876声卡 3)使用madplay应用程序播放mp3 1.声音三要素 采样频率 音频采样率是指录音设备在一秒钟内对声音信号的采样次数, 是因为, 当注册声卡系统的驱动后,才会有设备节点,此时这里的代码是没有驱动的,后面会分析到 3.2 再来看看“sound”字符设备的file_perations: ? 如下图所示,找到一个支持s3c24xx板卡的声卡驱动uda1341 ? 所以接下来,便修改S3c2410-uda1341.c的控制部分,来移植为wm8976驱动 4.移植wm8976驱动  首先进入uda1341的probe函数 static int s3c2410iis_probe 6.2使用madplay应用程序测试声卡 Madplay是一个根据MAD算法写的MP3播放器,而MP3属于高压缩比(11:1)的文件,所以需要madplay解码后才能给我们声卡播放,使用之前,需要先来移植

    5.9K71发布于 2018-01-08
领券