DRV
  • 2024-10-23UVM中Seq-Seqr-Drv之间的通信
    Wediscussedsequece_item,sequence,sequencer,anddriverindependently.Inthissection,wewilldiscusshowtheytalkwitheachotherandprovidesequenceitemsfromsequencetodriverviathesequencer.Beforeyoustartreadingthissection,makes
  • 2024-10-08【学习记录丨UVM】1.2驱动器driver(1)——最简单的driver及其实例化
    《UVM白皮书》关于driver的介绍一、只有driver——最简单的验证平台UVM是一个库,其中的driver等组件都是派生(extends)自UVM库中的类(class)。类中通过function和task实现组件功能。UVM常用类及树形结构_uvm树-CSDN博客 下边这张图展示了UVM常用的类之间的派生关系。可
  • 2024-09-21基于IDF的ESP32S3-LVGL DEMO移植
    简介ESP32-32出色的性价比,较好的性能与内存空间,可以好利用来完成GUI显示库的加载LVGLLVGL是一款比较流行的致力于MCU与MPU创建漂亮UI的嵌入式图形库,免费且开源。硬件硬件采用的是正点原子的ESP32-S3屏幕使用的是SPI通信方式,配合IO口控制(RST,A0),来实现LCD屏幕的驱动移植步骤
  • 2024-08-31S32的进阶之路->8,S32DS的WDOG看门狗配置
    硬件:S32K144开发板软件:S32DS2.2 1,S32K144硬件连接说明    看门狗定时器时间到没有喂狗就会触发系统复位,反之定时时间内喂狗会正常工作,可以避免程序跑飞等软硬件问题。IO口分配情况如下,S32K144开发板具有3个按键和4个LED灯,具体与芯片的引脚连接情况如下所示。 *
  • 2024-08-15Linux驱动入门实验班——SR04超声波模块驱动(附百问网视频链接)
    目录一、工作原理1.触发信号2.回响信号二、接口图​三、编写思路1.构造file_operations结构体2.实现函数,填充结构体3.编写入口函数4.编写中断处理函数5.编写定时器超时函数6.编写出口函数7.声明入口、出口函数以及协议 四、应用程序五、注意事项:六、源码驱动
  • 2024-06-18移植lvgl
    板子:stm32f407zgt6屏幕:浦阳1.69触摸屏(该款触摸屏幕显示芯片为:ST7789。触摸芯片为:CST816)教程:正点原子移植教程。一、踩坑点启动文件的stack_size要由0x400改为0x800,否则demo会白屏lv_task_tc()可以放在一个定时器中断函数中,每5ms进入一次中断。关键是修改lv_port_d
  • 2024-06-17LVGL btn组件
    /***************************************************filename:widget_line.c*author:[email protected]*date:2024/06/17*brief:移植LVGL,实现在屏幕上显示一个按钮,按钮上有一个标签,当用户通过触摸屏点击了该按钮,则显示一个新的屏幕对象*not
  • 2024-06-14N32G45XVL-STB之移植LVGL(8.4.0)
    目录概述1系统软硬件1.1软件版本信息1.2 ST7796-LCD1.3 MCUIO与LCDPIN对应关系2认识LVGL2.1 LVGL官网2.2下载V8.4.03移植LVGL3.1硬件驱动实现3.2添加LVGL库文件3.3移植和硬件相关的代码3.3.1驱动接口相关文件介绍3.3.2重新接口函数3.4配置.h文
  • 2024-06-11《DSP开发》TMS320F28XX-ADC模块
    1.1、特征1.2、功能框图2.1、ADC模块配置1、ADC时钟使能。ADC时钟没有使能的话,后续对ADC相关寄存器的配置值虽然被写入,但实际不会生效。2、校准ADC参考、DAC偏移和内部振荡器。Device_cal();3、配置ADC模块转换误差、参考模式、参考基准、时钟分频、ADC中断触发时刻,最
  • 2024-06-11STM32 + RT-Thread + LVGL
    一、基本信息MCU:STM32F103ZET6RT-Thread:5.0.2LVGL:8.3.11LCD:ST7735s编译环境:RTThreadstudio二、LVGL移植要求16、32或64位微控制器或处理器建议速度大于16MHz闪存/ROM:>64kB(建议180kB)内存:8kB(建议24kB)1个帧缓冲器:在MCU、外部RAM或显示控制器中LVGL的
  • 2024-06-09嵌入式Linux中驱动程序的基本框架
    在“嵌入式Linux中内核模块的基本框架”一文中,已经构建好了内核模块的基本框架结构,现在在该框架的基础上进一步扩展,就可以形成Linux下的字符型设备驱动基本框架,下面就详细进行讨论。在Linux系统中,设备驱动共分为三种类型,即字符型、块型和网络型。字符型设备以字节为最小操作单位,
  • 2024-04-20模拟器搭建流程
    第一个文件mmap_drvUbuntu中在客户端打开桌面文件mmap_drv这是个驱动文件,sudomake是编译命令,如果需要清理生成的驱动文件那就输入sudomakeclean.前面下驱动的指令已经完成并且安装第二个文件event_drvevent_drv文件也一样cd到他的位置然后sudomakeclean干净后再sudomake
  • 2024-04-05嵌入式Linux驱动开发-第一个驱动程序hello
    前言,没事就碎碎念以前跟着正点原子的文档做过一两个简单驱动程序实验,但是总感觉思路不够清晰,后面看韦东山的视频,发现二者结合起来刚好合适,其中韦东山视频理论和框架讲的清楚,正点原子的更像是他们开发板的使用手册。一开始学习驱动,我感觉比较合适的路线是先简单过一遍裸机,跟着正
  • 2024-03-24ra6m3之adc踩坑日志(基于rt-thread )
    问题描述1.已经用fsp工具正确配置Pins2.已经用fsp工具正确配置Stacks3.问题是根本没有在RT-ThreadStudio看到HAL相关的ADC代码,也没看到Settings里边的ADC配置选项问题分析RT-Thread跟Linux内核一样,采用Kconfig来配置驱动和组件,既然没有看到有ADC选项,可以考虑自己添加一个
  • 2024-03-14Dev TreeList 树形结构
    一.您将treeList.OptionsView.ShowCheckBoxes设置为True,树形结构前就会出现CheckBox选择框,如果您想达到选择父节点,子节点也同时选中的效果,需将treeList.OptionsBehavior.AllowRecursiveNodeChecking设置为True。  设置完即可看到效果,如图: 二.获取选中行数据privatevo
  • 2024-02-23在sequence 中 通过后门方式调用task
     可以使用void‘($cast(slaver_drv_use,uvm_top_find("xxxx")));在sequence中调用svt_axi_slave_agent(component) 的task。代码示意 svt_axi_slave_agent   slaver_drv_use;声明句柄void‘($cast(slaver_drv_use,uvm_top_find("uvm_test_top.te_env_inst.amba_s
  • 2024-01-14Linux 环境中使用 LVGL
    原文:https://www.cnblogs.com/jzcn/p/17011647.html之前有记录过在esp32中使用LVGL的笔记,需要的小伙伴可以了解一下,esp-idf移植lvgl8.3.3我之前整理的学习资料:https://www.cnblogs.com/jzcn/p/16647106.html一、准备材料开发板:一块linux的开发板或linux的虚拟机lvg
  • 2023-12-25nordic—RTC+PPI定时驱动某外设做非单次触发(本次测试为驱动GPIO口做电平翻转)
    简介:在nordic的开发中使用到RTC时,对于比较通道0/1/2/3的中断来说如果不进行相关配置(如SDK中例子,使用的RTC比较通道就只能触发一次,不能多次触发),会导致比较中断只进入一次,如果说是使用RTC+PPI+ADC进行采样或者RTC+PPI+GPIOTE做IO口翻转等,都会只采样一次或者翻转一次就停止了,不能做的
  • 2023-12-24Linux平台总线
    linuxdrv和dev都会注册进总线的链表,如果设备和驱动匹配,调用驱动程序的probe函数总线类型:bus_type代码分析:注册drv举例说明:分析注册一个平台drvdriver_register(&drv->driver) bus_add_driver(structdevice_driver*drv) klist_add_tail(&priv->knode_bus,&bu
  • 2023-12-18keys_async_drv.c
    HelloWorld/*按键设备中断触发,poll机制非阻塞,定时器使用方式*///keys按键设备异步通知方式驱动文件keys_async_drv.c#include<linux/module.h>#include<linux/kernel.h>#include<linux/fs.h>#include<linux/init.h>#include<linux/mutex.h>#include<l
  • 2023-11-271.LVGL快速移植
    一、拷贝lvgl整个文件夹到工程中,lv_conf_template.h文件要重命名为lv_conf.h,该文件里面#if0改成#if1,如下所示  二、工程里面添加所有文件和头文件路径,这一步过程比较长长,但还是要做好,然后编译,可能报错.Undefinedsymbol__aeabi_assert(referredfromqrcodegen.o)
  • 2023-11-09probe函数
    驱动注册的probe函数probe(探测)函数在设备驱动注册最后收尾工作,当设备的device和其对应的driver在总线上完成配对之后,系统就调用 platform设备的probe函数完成驱动注册最后工作。资源、 中断调用函数以及其他相关工作。下面是probe被调用的一些程序流程。从driver_register看
  • 2023-10-28ESP32S3通过Arduino移植LVGL
    原文:https://www.jianshu.com/p/8306f948b854LVGL展示此lvgl开发板开源链接: 准备工作显示屏驱动,需要用到“画点”或者“画区域”函数触摸驱动,如果需要用到触摸功能,还需要准备触摸函数,该函数将会返回触摸坐标给lvgl修改lvgl下载下来的lvgl是不能直接使用的,需要
  • 2023-10-21uboot为LED添加DM驱动--Apple的学习笔记
    一,前言开始玩所有板子一般都是先点灯,比如我可以在汇编中点灯,可以在board_init中用writel写寄存器点灯,当我要进一步熟悉下设备树驱动模型,不管学习linux还是学习uboot这块我理解类似,所以我要通过添加设备树及配置开关来实现默认打开led0和led1的功能。二,实现的过程1,先有了dts信息,我从
  • 2023-10-21第一个驱动程序(在Ubuntu系统下运行)
    一、构造内核源码树#apt-cachesearchlinux-source#apt-getinstalllinux-source-4.4.0(下载的源码在目录/usr/src下)#解压内核源码tarxjf.....进入源码目录#makeoldconfig#make#makemodulesmakemodules_install12345678ref:http://blog.chinaunix.n