自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 关于GD32F103RC串口波特率发现的PLL倍频问题

遇到问题描述:由于GD32F103RB的RAM不够使用,换用GD32F103RC芯片。3块板子换上了RC芯片,初始时,使用1号板子,它是能正常工作的,后面换用2,3号板子,上位机与之通信是不正常的,而且三者都是同样的代码烧录。经过示波器测量,不能正常工作的芯片约为设定的一半(换用不同的波特率多次测量)。上位机把波特率调到约为单片机设置波特率的一半,使能正常与单片机通信的。

2024-06-27 17:09:44 484

原创 设备树dts属性介绍

​ compatible属性是为了与驱动文件想匹配。假设某驱动的platform_driver中的compatible与设备树某节点的compatible一致,那么它们就会被关联起来。​ 属性值是字符串列表,推荐命名是"厂家,型号",像上面有多个字符串,匹配时是从左到右,假设没有"fsl,mpc8641"与之匹配,就会寻找"ns16550";假设找到"fsl,mpc8641",就相互匹配,就不会再找"ns16550"。

2023-11-21 20:16:53 523 1

原创 linux按键中断点灯——imx6ull

irq是终端号,handler是中断函数,flags是出发方式,有低电平触发,高电平触发,下降沿触发,上升沿触发,name是设置中断的名字,dev是传给中断函数的参数。irq是终端号,dev_id是传给中断函数的参数,与request_irq中的dev一样。添加接口供keydrv.c调用。在根节点添加以下节点。

2023-11-15 16:16:40 84 1

原创 led驱动——gpio和pinctrl子系统

pinctrl是用来指定引脚复用的和配置引脚(上下拉等等),引脚上的功能有很多,比如,串口,i2c等等。主要参考文档:在linux内核源码Documentation\devicetree\bindings\pinctrl\pinctrl-bindings.txt。2.init,exit,出口入口函数,在入口函数中注册platform_driver和在出口函数中反注册platform_driver。(3) class_create和device_create。(2)注册file_operations。

2023-11-13 16:28:42 128

原创 led驱动改造——设备树

platform_device和platform_driver的每一次配对都会调用probe函数,我们在设备树中定义了两个设备节点,所以会有两次调用。probe函数需要做的是引脚信息的存储和创建设备。把得到的arch/arm/boot/dts/100ask_imx6ull-14x14.dtb文件传输到imx6ull板子上,这里采用nfs。需要先学习platform_device与platform_driver是如何配对。在设备树文件下添加GROUP_PIN宏。在根节点下添加led节点。

2023-10-30 21:25:23 129 1

原创 LED——platform框架

在linux2.6以后的设备驱动模型中,需关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统没注册一个设备的时候,会寻找与之匹配的驱动,相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配有总线完成。实现资源与驱动的分离。platform_device指定资源。

2023-10-25 16:57:01 39 1

原创 LED分层,分离的程设设计

具体请查看百问网资料,嵌入式linux应用开发手册v5.1,这里简单描述下分层:在leddrv驱动程序中,把led操作部分抽象出来,设计成led_operations对象,所以我们就不用管硬件部分的工作,只知道这个对象,然后就可以进行引脚的初始化和操作。分离:led是属于gpio的操作,假如有实现了一个板子的所有gpio相关配置chip_demo_gpio.c,我们只需要指定需要用到的那些引脚资源就行。

2023-10-24 20:17:47 34

原创 Hallo驱动

函数原型如下:**

2023-10-23 20:57:47 26

原创 开发板的内核编译与安装

资料来源于百问网嵌入式Linux应用开发完全手册V5.1。

2023-10-23 17:16:01 86

原创 Makefile学习记录

注意注意。

2023-10-23 16:51:54 44

原创 ubuntu的ip配置

eth0 接口地址会被指定为 192.168.5.11/24,默认网关是 192.168.5.1, DNS 服务器是 8.8.8.8。原文链接:https://www.imooc.com/article/275055。如果你想给网络设备分配一个静态 IP 地址,那就新建下面的配置文件。重启 systemd-networkd 服务或者重启机器。运行以下命令检查服务状态。

2023-10-23 16:50:24 1826

原创 开发板挂载mount到虚拟机

这样就可以在/mnt目录下看到ubuntu的文件了。如果遇到apt进程被占用。在最后面加上下面语句。

2023-10-23 16:49:04 197

原创 linux系统编程笔记(二)——系统IO

dup函数是对旧的文件描述符复制,并放到文件数组序号最低的位置。比如,0,1,2,4,5有文件,dup(4)会把4位置上的指针复制到3上。read函数中,buf是存储空间,count是要读的字符个数,成功时返回的是读到的字符的个数,0表示已经读到文件末尾,错误时返回-1.write函数中,buf是要写的内容,count是要写的字符个数,返回成功写入的字符个数,0表示没有东西可写,错误时返回-1.文件描述符优先使用当前数组内可用的最小数,例如,0,1,2,4,5被占用了,下一个会存储到3,而不会存储到6.

2023-10-07 19:31:32 62

原创 linux系统编程(一)——标准IO

标准IOfopen函数

2023-09-14 10:30:55 138 1

空空如也

空空如也

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

TA关注的人

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