自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Debian系统_主板四个网口1个配置为WAN,3个配置为LAN

注意WAN口的网关地址如果是192.168.3.1的话,LAN口的eth2就不要设置为192.168.3.1。//LAN口:eth0 eth1 eth2。//验证客户端访问网关(开发板LAN口)//替换 eth3 为WAN口。//手动启动 DHCP 服务。//保存规则(避免重启失效)//验证客户端访问外网IP。//查看日志(排查错误)// 检查服务是否运行。//WAN口:eth3。//验证客户端访问域名。//重启DHCP服务。//强制重新加载配置。

2025-04-01 20:14:55 851

原创 Hi3559AV100_VDEC解码数据源VENC解码保存

使用这个平台录制视频时存在录制保存的视频源画面有撕裂,预制需要一点点定位具体是哪个模块有问题,为了排出是VI输入源的问题,于是就利用VDEC解码后输出视频流作为输入源1、需要资源文件(需要文件关注下方公众号获取)文件名:3840x2160_8bit.h2642、思路讲解vdec解码H264视频输出给vpss,vpss再输出给venc,然后保存venc输出的视频流3、测试源码。

2025-02-13 13:41:37 172

原创 ESP32_IDF_串口uart1的使用

之前使用STM32开发,以为串口硬件只能映射其中的几组引脚,没想到ESP32的串口的引脚可以”随意指定“,这里的随意指定要避开一些特殊功能的引脚,比如Strapping 管脚中的GPIO12(MTDI)接到其他串口设备上后会改变这个引脚的默认状态,导致无法下载程序和无法启动等情况。

2025-02-11 17:36:54 275

原创 中科世为_Z11S_增加俄罗斯语言

参看官方文档:https://developer.flythings.cn/zh-hans/download.html。

2024-12-24 14:11:35 263

原创 迪文串口屏_T5L平台_界面状态图标显示和隐藏

参考迪文官方视频教程:http://inforum.dwin.com.cn:20080/forum.php?数据:头(5A A5)+数据长度(07)+指令类型(82)+地址(22 00)+数据(00 01)+CRC校验。显示:5A A5 07 82 22 00 00 01 97 a6。隐藏:5A A5 07 82 22 00 00 01 56 66。

2024-12-24 13:55:14 415

原创 迪文串口屏_T5L平台_界面增加固定的汉字显示

参考迪文官方视频教程:http://inforum.dwin.com.cn:20080/forum.php?

2024-12-23 15:01:07 323

原创 Hi3519DV500_编译官方示例程序跑测试

官方毕竟是大厂,资料整理的蛮细致的,分类存放,配置好编译工具链,找到我们要测试的示例程序编译一下,复制到我们板子里面跑一边就可以定位问题了,这里我们选用SMP_Linux_GCC_glibc下的Hi3519DV500_SDK_V2.0.0.3/package/smp/a55_linux/source/mpp/sample/venc这个示例跑一下。

2024-12-20 17:07:26 510

原创 Hi3519DV500_官方开发板烧录程序

Hi3519DV500_官方开发板烧录程序一、简介1、前言二、硬件准备1、开发板、USB转串口、网线三、软件准备1、各种镜像2、镜像文件说明四、具体操作1、安全启动或非安全启动镜像编译,具体编译方法请参考《Hi35xxVxxx 安全启动使用指南》,有如下注意事项2、根据使用的启动方案制作升级包3、插入存放有升级包的FAT32格式的SD卡至SDIO0卡槽,按住UPDATE按键,启动单板五、我需要文中参考的文档1、获取文档方式一、简介1、前言参考文档:“裸烧及非裸烧升级 使用手册.pdf(适用于Hi351

2024-12-18 11:30:46 575

原创 GPIO口模拟PWM输出

在有些项目中,万一因为硬件设计人员的疏忽,选用的引脚不是定时器输出引脚,没办法使用硬件的PWM输出,只能使用GPIO模拟应付一下。

2024-10-23 16:40:21 827

原创 按键软件消抖_不使用delay死等函数

正常初学单片机时,检测按键状态的逻辑是,按键被按下了,delayms(20),然后再检测一次按键状态被按下了,才是真正被按下了,这个方法中的delayms(20)是死等20ms,MCU期间是死等的,这样在非常简单的项目用一下也没啥,下面介绍一种不死等的方法。

2024-10-23 16:26:14 411

原创 Hi3519DV500_Uboot环境变量的编译和烧录

U-Boot 环境变量在嵌入式系统的引导加载程序中扮演着重要的角色。它们用于存储系统启动时所需的配置信息,如启动命令、内核和根文件系统的位置、串口波特率等。bootdelay:控制 U-Boot 在自动启动前等待用户输入的秒数。如果在这段时间内没有用户输入,U-Boot 将自动执行 bootcmd 指定的启动命令。bootcmd:定义了 U-Boot 在 bootdelay 时间结束后自动执行的启动命令序列。bootargs:存储传递给 Linux 内核的启动参数,如根文件系统的位置、控制台设置等。

2024-09-13 10:52:53 758

原创 Hi3519DV500_Uboot编译及环境搭建

发布包提供编译工具链aarch64-v01c01-linux-musl-。aarch64-v01c01-linux-musl-为基于64bit操作系统musl的工具链。步骤4:将生成的u-boot.bin转换成可以烧录的文件,还需要好多步骤,下一章节再具体讲解。小插曲:解决pip3的版本不对的问题(如下图所示,让我安装24.0版本)步骤1:复制配置文件(需要编译什么芯片就复制对应芯片的)步骤4:安装mtd-utils依赖以下几个库。步骤3:测试编译工具链时候可以使用。步骤7:安装python3。

2024-09-13 10:51:20 1052

原创 Hi3519DV500_Uboot编译及环境搭建

发布包提供编译工具链aarch64-v01c01-linux-musl-。aarch64-v01c01-linux-musl-为基于64bit操作系统musl的工具链。步骤4:将生成的u-boot.bin转换成可以烧录的文件,还需要好多步骤,下一章节再具体讲解。小插曲:解决pip3的版本不对的问题(如下图所示,让我安装24.0版本)步骤1:复制配置文件(需要编译什么芯片就复制对应芯片的)步骤4:安装mtd-utils依赖以下几个库。步骤3:测试编译工具链时候可以使用。步骤7:安装python3。

2024-09-13 09:20:35 861

原创 Vivado2018.3版本_将bit文件转化为bin文件

2、下载到flash中。

2024-09-03 16:41:52 734

原创 STM32MP157_uboot_命令使用

进入 uboot 的命令行模式以后输入“help”或者“?”,然后按下回车即可查看当前 uboot 所支持的命令,图 中只是 uboot 的一部分命令,具体的命令列表以实际为准。图中的命令并不是 uboot 所支持的所有命令,说过 uboot 是可配置的,需要什么命令就使能什么命令。所以图中的命令是正点原子提供的 uboot 中使能的命令,uboot 支持的命令还有很多,而且也可以在 uboot 中自定义命令1、查询指令。

2024-09-01 08:46:23 1171

原创 STM32MP157_uboot_初次编译

为了快速入门,这边选择直接使用正点原子提供的uboot源码,先体验一下uboot的编译流程,为后面的移植原厂uboot做环境准备。1、获取正点原子的uboot源码(复制到虚拟机里面)2、解压源码压缩包。

2024-08-25 21:35:39 411

原创 STM32MP157_uboot_简介

前言;uboot 的全称是 Universal Boot Loader,uboot 是一个遵循 GPL 协议的开源软件,uboot是一个裸机代码,可以看作是一个裸机综合例程。现在的 uboot 已经支持液晶屏、网络、USB等高级功能。uboot 官网为 http://www.denx.de/wiki/U-Boot/1、下载uboot源码2、简介Linux 系统要启动需要通过 bootloader 程序引导,也就说芯片上电以后先运行一段 bootloader 程序。

2024-08-24 21:29:12 290

原创 查看U盘的具体信息,分区表格式、实际容量和分区状态

利用windows自带的命令行窗口就可以1、使用命令提示符查看MBR和GPT分区类型(1)按“Windows + R”键,在弹出的运行对话框中输入“diskpart”,并按回车键启动diskpart实用程序(2)输入“list disk”命令,然后按回车,查看磁盘信息(3)在命令行中的“Gpt”列下方,带有一个星号()的为GPT磁盘类型。没有星号()的为MBR磁盘类型。所以上图中,磁盘0为GPT磁盘类型,磁盘1为MBR磁盘类型,轻松解决“如何查看硬盘分区是MBR还是GPT”问题。

2024-08-22 14:35:10 3439

原创 LINUX系统下UBOOT利用U盘升级程序

要实现标题中的功能需要uboot支持识别U盘和文件系统1、uboot移植uboot需要支持的功能(1)使能USB OHCI:支持uboot识别U盘;(2)MMC驱动移植:uboot能初始化U盘;(3)FAT文件系统支持:uboot能挂载U盘,并以FAT32格式去读取U盘上的内容;uboot移植的步骤(1)uboot代码先使能USB OHCI、移植MMC驱动、支持FAT文件系统;

2024-08-22 14:19:51 648

原创 STM32CUBEMX_SPI_驱动WS2811灯带

关于这种带芯片的之前我都是使用GPIO模拟时序,但是带来一个很大的弊端,那就是严重占用CPU资源,使得其他代码逻辑没办法正常执行了,想办法搞一个单片机的外设使用DMA功能,就可以解决占用资源的问题了,去网上了解了,还真有网友这么干的,参考完之后,自己来干一遍WS2811芯片的一些重要参数:讲解一下怎么使用SPI的发送数据来模拟这个时序:

2024-07-21 21:22:15 1521 1

原创 STMCUBEMX_IIC_LL库/HAL库_扫描总线设备

在很多开发过程中,I2C总线上会挂载多个从机设备,但是又不知道设备的地址是多少,我做一个简单的小工具扫描总线,把地址打印出来就很方便。

2024-07-09 16:46:23 240

原创 STMCUBEMX_IIC_LL库_AT24C64分页读取和写入

一个项目中构建的软件系统需要存储非常多的用户参数,大约有几千字节,所以牵扯到自己设计跨页写入算法,注意读出也是需要设计跨页读出算法的(手册没强调,但是实际测试结果不分页直接连续读,最多一次性只能读出280个字节,不同厂家的芯片可能有不同)1、分页写入算法。

2024-07-05 13:45:11 492

原创 GIT----使用技巧之保存现场回退新建分支继续开发

故事是这样的,有一个比较复杂的项目使用的是STM32F103VCT6(资源flash-256k,RAM-48k),开发到一半发现RAM不够用了,换容量更大的芯片STM32F103VGT6(资源flash-1024k,RAM-96k)等流程走下来要一个星期,开发任务不能停呀,只能先把之前已经开发好的功能先屏蔽掉,代码回退一部分,把一部分RAM空间让出来,继续调试接下来的功能,下面开始表演1、先把master分支开发“功能3”发现内存不足了,先保存现场。

2024-06-19 17:58:38 432

原创 JLINK调试妙用----读写flash

随着对jlink使用频率的增加,越发觉得它太强大了,可以满足好多调试功能,现在已经用的就是J-flash(程序下载)、RTT(日志打印)和J-flash SPI(读写spi类型的flash)3、jlink读取到的flash信息。2、spi类型flash的接口。3、jlink连接flash。二、实际应用,读写flash。1、打开jlink上位机。4、读取flash内容。1、jlink的接口。

2024-06-19 16:47:19 1569 1

原创 Ubuntu安装VScode

1、Ubuntu安装VScode比较方便2、我更喜欢source insight1、获取到linux版本的VScode安装包VSCode 下载地址是:https://code.visualstudio.com/2、得到安装包3、复制到ubuntu中,使用命令安装。

2024-05-13 22:15:37 1204

原创 Ubuntu与Windows之间互传文件

使用工具:FTP 客户端软件, FileZilla下载地址如下:https://www.filezilla.cn/download1、打开软件2、建立连接3、连接信息4、如果连接不上可能是Ubuntu没有开启FTP 服务,先给ubuntu安装 FTP 服务。

2024-05-13 21:55:07 548 1

原创 STM32MP157_程序烧录

6、点击烧录等待5、6分钟就可烧录完成 7、STM32CubeProgrammer 会读取此配置文件进行烧录固件到 SD卡中。4、打开烧录配置文件atk_sdcard-stm32mp157d-atk-qt.tsv 5、打开原厂的固件烧录包。4、打开烧录配置文件atk_emmc-stm32mp157d-atk-qt.tsv 5、打开原厂的固件烧录包。1、连接好12V电源线和type_c的USB数据线 2、拨码开关选择为 000(USB 模式)8、烧录完成,拨码到 101,SD 卡(TF 卡)启动即可。

2024-05-10 21:45:59 874

原创 2018.3SDK工具融合bit文件不成功_microblaze加载程序不成功

正常开发流程是vivado端把PL端开发好了,导出HDF平台文件,然后SDK根据HDF文件创建工程,完成PS端的开发工作,这时候就要下载调试了,发现SDK的做法是把vivado导出的bit文件和SDK编译谁生成的elf文件进行了融合,融合好了之后在下载到FPGA中,问题就出现在这个融合过程中(2018.3SDK的官方BUG)。当然也可以避开这个问题,就是每次SDK编译生成的ELF文件都在vivado软件中进行融合,然后下载,这样也有一个问题,vivado的工程编译的比较慢,这样就效率低下了。

2024-04-26 11:03:40 414

原创 QML_BusyIndicator控件修改颜色

现在需求是改变,上面控件的样式,主要是颜色。

2024-03-18 12:00:29 543

原创 电路设计_六层电路板设计规则

靠近接地平面的第2层是最好的布线层,可以用来布时钟等高风险的信号线。在确保RF回流路径的条件下,也可以用第5层作为其他的高风险布线的布线层。第1层和第2层、第5层和第6层应采用交叉布线。第3层是最优的布线层,时钟等高风险线必须布在这一层,可以保证信号完整性和对EM能量进行抵制。这种方案有4个布线层和两个参考平面,但电源平面和地平面之间夹有两个信号层,电源平面与接地平面之间不存在任何电源退耦作用。由于第3层靠近地平面,因此它是最好的布线层,应安排时钟等高风险线。第1层、第4层、第6层是可布线层。

2024-02-28 09:52:46 3168

原创 Makefile从零基础到入门到熟练使用

解释:filter函数操作变量C中符合%/这种类型的字符,filter-out函数操作变量C中符合%/这种类型剩下的所有字符。:变量A在定义的时候变量C还没定义所以是空,变量B是延时变量只要在用到的时候才会看变量C的值是多少。解释:patsubst函数会操作files2中的所有文件名替换成a.d b.d c.d e.d。1、目标文件test依赖a.o和b.o两个文件,a.o依赖a.c文件,b.o依赖b.c文件。说明:变量dep_files会打印a.d b.d c.d e.d。

2023-12-08 14:58:10 181

原创 LVGL_多界面切换

3、切换不同界面显示(lv_scr_load_anim(page2, LV_SCR_LOAD_ANIM_OVER_LEFT, 300, 0, false);2、加载一个界面显示(lv_scr_load(page1);1、创建多个界面(create_page1();

2023-11-04 21:37:36 3629

原创 SourceInsight_编码格式问题

使用KEIL开发,在编辑代码是非常不方便,所以只用KEIL+STM32CUBEMX+SourceInsight的开发方式。解决:保证KEIL和SourceInsight的编码格式一致就好了。问题1: KEIL工程直接导入有乱码存在。

2023-10-31 10:43:07 208

原创 嵌入式Linux_学习路线+基础知识

说明:u-boot是一大块学起来需要三到六个月比较耗时,也属于比较落后的知识点,所以暂时不学习,内核也是如此暂时不学习,从应用层入手,先入门再深入。解析:把hello程序放入目录/home/book下面,然后把该目录加入环境变量,然后就可以直接输入hello执行了。hello.c程序编译出hello,是不能直接输入hello执行的,因为hello没有加入环境变量。注意:命令选项使用中括号[]的话就是可选的,如果是尖括号<>就是必选参数。注意:该方法是临时的,只在本终端中有效,更换终端后需要重新设置。

2023-10-25 10:21:39 993

原创 LVGL_文件系统FS

LVG 内置支持以下文件系统:1、FATFS2、STDIO (Linux 和 Windows 都可以使用的 C 标准函数接口,比如:fopen, fread…)3、POSIX (Linux 和 Windows 都可以使用的 POSIX 函数接口,比如:open, read…)4、WIN32 (Windows 使用 Win32 API 函数接口比如:CreateFileA, ReadFile…)

2023-10-22 16:52:04 2822

原创 STM32CUBEMX_自研BOOT升级程序

这件事情源自公司一个产品已经开发完成并对外售卖了,只预留了一个USB口用于给单片机升级,但是有个比较坑的点就是,没有预留触发升级的按钮(使用USB插入时产生的5V也可以做一个电平指示),不改硬件的情况下只能通过软件想办法,在APP程序中操作片flash区域,写一个标志位,然后设备重启后会读flash的标志位,从而启动进入DFU模式进行升级,思路是这么个思路,但是不好好考虑其中的逻辑,设备很容易变成砖,最终只能返厂维修了,踩坑过程细节不讲了,直接上经过实践的代码。

2023-10-18 10:32:03 526 1

原创 LVGL_基础控件btnmatrix

注意:最好选用LV_EVENT_VALUE_CHANGED事件,因为LV_EVENT_CLICKED会在点击屏幕其他地方也会触发。13、设置按下时候按钮的颜色。

2023-10-16 20:44:53 760

原创 LVGL_基础控件文本框textarea

12、设置光标闪烁时间。

2023-10-16 19:28:03 1623 1

原创 LVGL_基础控件线条line

1、创建基础空间line(只创建出来是没有东西显示的)5、坐标系反转(LCD坐标系和数学坐标系的Y轴相反)4、设置大小(超出部分会看不到)2、添加点,把这些点连成线。6、设置控件位于左下角。

2023-10-16 12:04:02 2097

原创 C语言_用于ADC数据的均值滤波算法

在采集ADC值的时候一般都是多次采集然后,然后取平均值,改进型做法就是去掉最大最小值剩下的再取平均值。

2023-10-13 14:55:07 513

空空如也

空空如也

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

TA关注的人

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