- 博客(49)
- 资源 (1)
- 收藏
- 关注
原创 uboot默认配置过程
如果想查看很详细的信息,可以make mx6ull_14x14_evk_defconfig -p > log.txt。接下来分析scripts/kconfig/conf,该文件来自scripts/kconfig/conf.c。mx6ull_14x14_evk_defconfig文件是在uboot源码configs/目录下面。该文件的信息大部分来源于配置文件mx6ull_14x14_evk_defconfig。然后使用这个工具把默认配置信息写入.config文件。然后分析log.txt文件里面的内容。
2024-07-14 10:24:23
167
原创 Makefiel技巧与分析
现在有两个makefile,b_makefile,内容如下其中第三行的-include c_makefile,代表如何有c_makefile则包含,没有就不包含,不会报错。
2024-07-13 14:35:37
110
原创 STM32基本定时功能
一、关于计数器①:获取计数器的值②:设置计数器的值二、关于自动重装载值①:获取自动重装载值①:设置自动重装载值三、关于预分频器①:设置预分频器值四、开启定时器。
2024-03-09 14:46:13
973
原创 STM32 HAL I2C使用
1、使用i2c的引脚要设置成开漏输出,以防止烧坏芯片。2、开漏输出可以将驱动器中的P-MOS失能,只有N-MOS工作。防止如果有两个i2c外设,一个要输出高电平,一个要输出低电平而形成短路状态。
2024-03-03 11:50:12
682
原创 STM32 串口通信
在stm32每个串口内部有发送寄存器和发送移位寄存器。当调用时,cpu会将发送的数据放入发送寄存器中。发送移位寄存器会将数据转换成电平的高低,从TX发出。
2024-03-02 20:38:15
676
原创 硬盘、ROM、RAM
DDR的全称为Double Data Rate,双比特翻转。中国大陆工程师习惯用DDR程序用了DDR技术的SDRAM。SDRAM是动态随机存储器。SDRAM在一个CLK周期传输一次数据,而DDR传输两次,分别在上升沿和下降沿各传输一次数据,改概念称为预取。DDR是内存的一种。
2022-09-06 09:36:37
1673
转载 wpa_cli的使用
本文转载自:原文地址如有侵权,请立即联系本人删除。wpa_supplicant 工具包含wpa_supplicant和wpa_cli这2个程序,其中wpa_supplicant程序作为服务端在后台运行,服务wpa_cli客户端的请求,从而实现WiFi的配置连接。本文介绍如何使用wpa_supplicant和wpa_cli这两个程序进行wifi的配置。一、wpa_supplicant的使用要运行wpa_cli就必须先运行wpa_supplicant,wpa_supplicant作为wpa_cli的服
2022-05-11 17:36:30
6775
原创 韦东山imx6ullpro开发板接入wifi
记录下imx6ullpro开发板如何接入wifi。开始我是在网上找一些配置资料,将wifi名和密码写入ect下面的wpa_supplicant.conf文件内,但是每次好像都连接不上,又再网上找了半天,找到了下面这种解决方案,成功接入wifi。第一步开启wifi:nmcli r wifi on第二步扫描附近wifi:nmcli dev wifi第三步连接到特定的wifi,比如我这里wifi名称为TP-LINK_1E88,密码为xylink123456,使用下面指令:nmcli dev wif
2022-04-23 09:07:44
1688
9
原创 linux input子系统
linux输入设备种类繁杂,常见的包括触摸屏、键盘、鼠标、遥感等;linux将这些设备的共同特性抽象出来,linux input子系统就产生了。对于驱动编写者而言,不需要去关心应用层的事情,我们只需要按照要求上报这些输入事件即可。一、特性、用途用来解决输入问题,输入:驱动给应用层提供数据。简介input子系统也是字符设备二、核心数据结构三、API函数四、操作模板1、申请并初始化并注册input_dev:使用input_allocate_device申请;初始化input_dev的事件类型以
2022-04-18 15:57:40
792
2
原创 led驱动程序_点亮led(imx6ull)
1. 点亮led1.看原理图,确定控制led的引脚2.看芯片手册,确定如何设置/控制引脚3.写程序,通过程序去控制引脚的状态驱动程序不可以直接使用物理地址,需要用ioremap函数将物理地址映射为虚拟地址,用这些虚拟地址去设置寄存器。...
2022-01-17 10:51:21
1187
原创 驱动学习(一)
1.编写驱动程序步骤1.确定主设备号。2.定义自己的file_operations结构以。3.实现对应的open/read/write等函数,填入file_operations结构体。4.把file_operations结构体告诉内核,注册驱动程序。5.谁来注册驱动程序?得有一个入口函数,实现驱动程序时,就会去调用这个入口函数。6.有入口函数就应该有出口函数,卸载驱动程序时,就回去调用这个出口函数。7.其他完善,提供设备信息,自动创建设备结点。我们在应用程序中调用open函数(int ope
2022-01-14 12:57:32
1837
原创 串口相关知识及编程
1. 串口用途1.打印调试信息2.外接各种模块(GPS 、蓝牙等模块)要想将开发板和电脑项链只需要三条线即可2. 串口发送数据流程假设arm开发板(TTL电平)要发送一个字节(1Byte,比如一个字符A)的数据给pc机,详细过程怎样?开始传输数据(ARM开发板的TXD引脚接到PC机的RXD引脚):1 > 一开始TXD电平为高电平,当arm开发板要发送数据时,就会把TXD电平拉低,维持传输1bit所需要的时间2 > 拉低的瞬间pc机开始计时3 > arm根据数据的每一
2021-11-23 11:04:17
575
2
原创 linux动态库和静态库
前言函数库依照是否杯编译到程序内部而分为动态库(Dynamic)和静态库(Static),下面介绍下这俩的区别。1 静态库的特色1.1 扩展名这类函数库通常扩展名为 libxxx.a。1.2 编译操作这类函数库在编译的时候会直接整合到执行程序当中,所以利用静态函数库编译成的文件会比较大一些。1.3 独立执行的状态这类函数库最大的优点就是,编译成功的可执行文件可以独立运行,而不需要再向外部要求读取数据库的内容。1.4 升级难易度虽然执行文件可以独立执行,但因为函数库是直接整合到执行文件中
2021-11-09 08:54:23
618
1
原创 GCC编译过程及使用
GCC平常我们在编译程序时使用的命令为:gcc ***.c -o ***,实际上这条指令帮我们执行了四个步骤,分别是预处理、编译、汇编、链接。下面对四个步骤分别进行详细介绍。下面均使用demo1.c为例进行介绍:#include <stdio.h>#define MAX 20#define MIN 10//#define DEBUGint main(){ printf("1:hello world!\n"); printf("1:MAX = %d,MIN = %d\n"
2021-10-25 17:42:39
2606
1
原创 FTP云盘项目
ftp云盘项目服务端代码#include <stdio.h>#include <sys/types.h> /* See NOTES */#include <sys/socket.h>#include <arpa/inet.h>#include <string.h>#include <netinet/in.h>#include <stdlib.h>#include <unistd.h&
2021-08-19 10:34:05
231
原创 进制问题和C语言位操作
进制问题十进制十进制转二进制比如十进制的135(D)转换成二进制:结果为 1000 0111(B)十进制转八进制十进制135转换成八进制 ,结果为207(O)十进制转十六进制十进制135(D)转换成16进制结果位 : 87(H)二进制二进制转换成八进制方法是取三合一法,即从二进制的小数点为分界点,向左(或向右)每三位取成一位。1000 0111转换成八进制位:207二进制转换成十进制比如1000 0111 转换成十进制结果为 135步骤:1乘以2的零次方 + 1乘以2
2021-08-10 09:43:50
3350
原创 C++学习记录
1c++程序在执行时,将内存大方向分为4个区域1.代码区 : 存放函数体的二进制代码,由操作系统进行管理的。2.全局去:存放全局变量和静态变量。3.栈区:由编译器自动分配释放,存放函数的参数值、局部变量等。4.堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。四区的意义:不同区域存放的数据,赋予不同的生命周期,给我们最大的灵活编程程序运行前在程序编译后,生成了exe可执行程序,未执行该程序前分为俩个区域代码区存放CPU执行的二进制机器指令代码区是共享的,目的是对于频
2021-07-31 15:03:57
152
原创 自己实现C字符串操作API
1.puts#include <stdio.h>void myputs(char *p){ while(*p != '\0'){ putchar(*p++); } printf("\n");}int main(){ char *str = "nuominuomi,qiangdeyipi"; myputs(str); return 0;}2.gets
2021-07-16 08:30:34
124
1
原创 C语言链表反转
链表反转typedef关键字链表反转中,为了是代码简介这里用到了typedef关键字,先介绍下typedef关键字。作用是为一种数据类型定义一个新名字,这里的数据类型包括内部数据类型(int char 等)和自定义的数据类型(struct等)。和struct来匹配,为了代码编写简介。和普通类型匹配,通过名字来获取一些信息。struct Student{ int data; char *name;};上面这种写法,再用的时候需要:struct Student stu1;这样写type
2021-07-15 09:53:55
208
原创 C语言结构体大小的计算方式
法则一遵循的法则为:结构体成员(数组除外)的偏移量必须是成员大小的整数倍(0被认为是任何数的整数倍)。下图计算出s1的大小为8字节首先,第一个成员ch1 的偏移量为0(可以这么理解 距离结构体头距离为0),ch1的类型为char,大小为1字节,0被认为是任何数的整数倍,所以到ch1这里大小为1;然后ch2,ch2的偏移量是前面成员的大小和(这个大小和是遵循第一法则的前提下的大小和,不是随意加起来就行的),所以ch2的偏移量为1,1满足ch2的大小1的整数倍,所以到ch2这里大小为1+1 = 2;
2021-06-21 22:51:00
371
2
原创 QT学习之信号和槽,图片的添加
一级目录给控件改名字为了分析代码方便,我们要给控件改名字,要通俗易懂。例如:双击登陆后鼠标会选中右边的logoBt,即可修改名称。什么是信号和槽信号:信号就是指控件发出的特定信号。比如按钮的信号:槽:槽就是槽函数的意思,我们可以把槽函数绑定在 某一个控件的信号上。怎么管理信号和槽自动关联手动选择相应的控件,然后右键->转到槽第一部分:自动关联会给我们的工程添加以下内容:第二部分:槽函数只能声明到 private slots 或者 public slots 下面。手动
2021-06-18 10:04:56
507
原创 STM32固件库点灯
上篇文章记录了寄存器位操作电灯方式,这篇记录下固件库模板点灯,提高程序的可观性。固件库模板下载点我下载提取码: vq2u创建bsp_led.c bsp_led.h文件,并添加至工程下载好模板后在user文件夹中创建led文件夹,然后在里面创建bep_led.c bsp_led.h 文件。如下图:打开工程,双击USER将bsp_led.c添加至工程中编写代码bsp_led.c使能GPIOC的时钟 RCC_APB2PeriphClockCmd( LED_D2_GPIO_LCK, E
2021-06-04 10:53:03
258
原创 STM32点亮开发板第一盏灯
本片文章为使用寄存器点亮stm32f103c8t6开发板上的D2灯,记录下过程过程。材料stm32f103c8t6开发板ST-link V2烧录器(STlink接线和keil的配置)杜邦线1.新建工程new project,我这里命名为first-led根据stm32信号选芯片,我这里是stm32f103c8点击ok后出现下面界面直接点击×2.搭建工程环境在文件中创建main.c文件夹,并双击Source Group1添加至工程编译出现上面错误是因为没有添加启动文件启动文
2021-06-01 15:13:03
684
1
原创 ST-LINK烧录stm32程序步骤
此篇文章记录下STM32使用ST-LINK烧录程序的步骤材料ST-LINK驱动安装:点我下载st-link驱动提取码: 4aw1stm32f103c8t6ST-LINK杜邦线keil5配置(前提得安装好STlink驱动)点击魔术棒如下图配置点击上图的Settings这里的配置有的人不是这种,反正我是这种,可以成功烧录。点击第三个项目栏配置如下依次点击确定 OK 即可完成配置。接线 stm32 st-link vcc(3.3)<-----------
2021-05-28 22:23:03
34248
16
原创 树莓派接入语音模块控制继电器组
记录树莓派语音模块控制继电器组1.前言2.思路3.材料4.二次开发语音模块1.修改代码2.烧录并测试4.树莓派代码编写1.前言最近在做智能家居项目,做到语音模块控制继电器的开关,历经俩天,坎坎坷坷也算完成了语音模块控制继电器组的开关,记录下学习过程。学习,无论你在什么时候开始,重要的是开始之后就不要停止!加油!2.思路语音模块打印信息再串口中,树莓派用字符串操作API去分析信息,并执行相应的操作,调用wiringPi库。3.材料树莓派3B继电器组语音模块usb转ttl4.二次开发语音
2021-04-18 17:07:08
799
6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人