自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (9)
  • 收藏
  • 关注

原创 嵌入式里驱动 接口提供之平台接口

1、server端BSP_INT32 BSP_ServerInit(BSP_VOID){ BSP_INT32 lFdServer = 0; BSP_UINT32 ulAddrLen = 0; struct timeval stTimeOut; struct sockaddr_un stServerAddr = { .sun_family = AF_UNIX, .sun_path = {BSP_ADDR_SER

2023-03-16 12:48:45 217

原创 编译脚本build_zu6cg.sh

#!/bin/shTPWD=`pwd`DO_MODULE=allDOCLEAN=0BOOTCLEAN=0KERNELCLEAN=0ROOTFSCLEAN=0REUNZIP=0BOOTREUNZIP=0KERNELREUNZIP=0ROOTFSREUNZIP=0DORECOVER=0softwareVersion=1.3.1bootloaderVersion=b1.3.0bspomVerison=b1.3.0fpgaVerison=b1.3.0linuxVeris.

2022-11-22 15:37:08 415

原创 Makefile --- filter filter-out

filer-out函数是一个反过滤函数,功能和filter函数恰恰相反:该函数会过滤掉所有符合PATTERN模式的单词,保留所有不符合此模式的单词。filter函数用来过滤掉字符串TEXT中所有不符合PATTERN模式的单词,只留下符合PATTERN格式的单词。中,使用filter-out %.c 过滤掉所有的.c文件。filter-out 函数。

2022-09-24 10:45:00 1973 1

原创 ftrace工具

内核调试追踪工具

2022-09-08 16:47:03 139

原创 buildroot制作跟文件系统

1、提供源码下载地址buildroot官网源码 上面红色标记处进入历史版本选择: 笔者选择的是buildroot-2019.02.6.tar.bz2 这个版本2、下载与解压下载后拷贝至服务器或者虚拟机上;解压命令: tar vxjf buildroot-2019.02.6.tar.bz2上面就是buildroot源码3、 这个是支持图形化配置界面的 执行 make menuconfig提示如下错误 : 使用sudo后成功:...

2022-05-17 14:00:34 1851

原创 基于shell的自动化编译脚本 <一>

1、基于shell的一键式编译脚本<一>多参数传入编译脚本;<<COMMENT如果要写一个编译脚本有很多选项采用如下方式:shift 将传入的参数前移;假如脚本名字是start_compile.sh ;运行命令行: sh start_compile.sh 条件1 条件3 执行输出: 条件1 条件3 end while: case 条件: 条件1) echo "条件1" shift ;; 条件2) echo "条件2"

2022-04-26 14:18:08 958

原创 tcpdump抓包

tcpdump -helptcpdump version 4.99.1libpcap version 1.5.3Usage: tcpdump [-AbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [--count] [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ] [ -i interface ] [ --.

2022-04-25 10:29:38 3723

原创 tcpdump移植到开发板上

首先注明参考的一些博主们:因为最近在调试1588的时钟同步功能,所以用到了tcpdump抓包工具;第一次使用记录一下,搜索了一下这个工具很强大也很好用,和wireshark一起配合使用特别好用;1、首先了解下tcpdump:对网上的数据报进行截获分析工具,tcpdump可以将网络中传输的数据包头完全解惑下来提供分析。支持【网络层、协议、主机端口的过滤】提供and or not等逻辑语句来进行过滤;一般使用tcpdump抓包然后使用wireshark工具分析;2、嵌入式系...

2022-04-25 09:46:09 1091

原创 linux 异步通知实例

////////////////////////////////////////////////////////////////////////////////linux驱动的异步通知(kill_fasync,fasync) ---- 驱动程序向应用程序发送信号/////////////////////////////////////////////////////////////////////////////////////////////////////////////////.

2022-04-19 15:17:11 194

原创 更改uboot命令行前缀

在配置文件中.config或者在对应平台下的 XXX_defconfig下修改CONFIG_SYS_PROMPT="123123#"u-boot/u-boot-xlnx-xilinx-v2018.3/configs/xxx_defconfigCONFIG_SYS_PROMPT="ffffasdf>"

2022-04-19 14:14:37 279

原创 ubuntu 18.04.6安装后无法上网

首先参考这个大兄弟的操作步骤:1、 ubuntu虚拟机nat方式上网;2、我根据这个方式操作过后发现还是不能上网;虚拟机-》编辑-》虚拟网络编辑器 弹出如下设置框之后启动虚拟机:在设置中-》有线连接 -》 选择红色框的设置切换到ipv4,添加一个新的ip ,网关和子网掩码来自虚拟网络编辑器中的NAT设置中的网关和子网掩码;ip地址在 【起始ip地址和结束ip地址内】边界可取按照步骤1中来尝试ping主机(pc的)ip;有...

2022-04-14 10:27:07 1587

原创 linux i2c 驱动二 IIC控制器

系列文章目录linux i2c 驱动一linux i2c 驱动二提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、IIC调试(不是

2022-03-08 16:08:29 1920

原创 设备树 二

设备树基本语法:soc厂商一般会提供.dts文件,我们需要新增或者修改设备树;设备树的头文件 .dtsi文件以zcu102为例: 在内核源码中有三个设备树文件:zynqmp-zcu102-revB.dts zynqmp-zcu102-revA.dts zynqmp-zcu102-rev1.0.dtszynqmp-zcu102-revA.dts: dtsi是dts的头文件 但也可以用#include 引用.h和dts文件#include "zynqmp.dtsi"#include

2022-02-28 16:43:41 914

原创 设备树 一

1、什么是设备树?设备树的文件(DTS)用来以树状接口描述设备信息。例如: cpu数量 内存 IIC接口 SPI上有哪些设备等2、DTS、DTB、DTC是什么?DTS 是设备树源码 .dts .dtsi相当于是dts的头文件也是设备树源码DTB 是将设备树编译后得到的二进制文件DTC 编译设备树的工具 在 源码/scripts/dts目录下 MakefileDTC工具依赖于 dtc.c。。。等源码,最后编译链接出来dtc 主机文件3、如何编译设备树? m...

2022-02-19 10:27:47 532

原创 linux 动态库编译链接

创建三个文件:testa.c testb.c testc.c so_test.h使用这三个文件编译动态库libtest.sotesta.c#include "so_test.h"void test_a(){ printf("this is in test_a...\n");}testb.c#include "so_test.h"void test_b(){ printf("this is test_b .. \n");}testc.c#i

2022-02-17 15:01:10 1491

原创 c++中解析ini 文件的simpleIni库

simpleIni库简介:一个跨平台库,它提供了一个简单的 API 来读取和写入 INI 样式的配置文件。它支持 ASCII、MBCS 和 Unicode 中的数据文件。它被明确设计为可移植到任何平台,并已在Windows,WinCE和Linux上进行了测试。使用MIT许可证以开源和免费的方式发布。功能:1】加载和保存 INI 样式的配置文件2】自由接受文件格式3】支持char或wchar_t变成接口4】通过用户编写的转换器类支持非标准字符类型或文件编码5】支持以编程方...

2022-02-15 20:35:09 2584

原创 python --离线安装wxPython包

官网下载和python版本还有个人pc相对应的包网址:wxPython · PyPI.如下:如何确定版本号:1、python版本号确定windows +r 输入cmd输入 python 就可以看到版本号2、下载文件的版本号:举例:wxPython-4.1.1-cp39-cp39-win_amd64.whl4.1.1表示: wxPython的版本cp39 表示: python版本 3.9win表示: windowsamd64: 表...

2022-02-09 16:02:29 2734

原创 块设备驱动 <概念和字符设备区别一>

系列文章目录块设备概念和字符设备区别块设备驱动框架块设备驱动程序及验证提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言驱动分为三大部分:字符设备驱动,块设备驱动,网络设备驱动;字符设备: 以字节为单位的即时数据传输的设备。块设备:以块为单位的数据传输(读写)非随机即时性访问;一、块设备概念及和字符设备区别?块设

2022-01-13 10:38:52 342

原创 uboot中添加自定义命令和驱动

首先U_BOOT_CMD(_name, _maxargs, _rep, _cmd, _usage, _help)解析一堆的宏定义最终的目标就是定义一个结构体并且定义一个section(段),引入lds链接脚本这个东西:我是用的是xilinx的板子,所以链接脚本的目录在: bootloader源码/arch/arm/mach-zynq/u-boot.lds先看下这个文件内容:OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-l

2022-01-04 10:16:40 3174 5

原创 lrz | lsz 工具传输文件

1、串口设置2、secure crt设置3、板子上有lrz二进制文件(一般跟文件系统都有):4、单板输入 lrz就会弹出文件选择框文件传输:

2021-12-29 16:03:55 5317

原创 串口重定义

正常情况下我们驱动和平台的调试是通过串口调试的,但是和其他模块通信一般使用的是网口。如何将当前串口信息的输出重定向到网口:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <fcntl.h>#include <sys/ioctl.h>#include <unistd.h>#define STDOUT_FD (1)int main(int

2021-12-21 11:25:28 914

原创 makefile 中$@ $< $^含义

宏观编译对应的微观编译步骤:对应步骤如下:编译: 预编译 : 展开头文件和宏定义 编译compile : main.c -> main.s arm-linux-gcc -S main.c 汇编assembly: main.s -> main.oarm-linux-as -o main.o main.s 链接link :...

2021-11-05 16:23:15 925

原创 linux i2c 驱动一

系列文章目录1、i2c协议简述2、i2c驱动框架3、i2c实例目录系列文章目录文章目录​前言一、i2c协议简述二、linux 下 i2c驱动框架1.首先掌握如何使用2.理解原理三、实例1、设备树2、驱动代码总结文章目录​ 前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示..

2021-09-21 17:46:36 205

原创 2021-08-05

遣兴----明月临沧海, 闲云恋故乡。诗名满天下,终日掩柴关。

2021-08-05 14:13:50 45

原创 linux内核任务调度-- wait_event

linux内核中经常需要进行进程的调度struct wait_queue_head { spinlock_t lock; struct list_head head;};struct wait_queue_head *wq_head,#define wait_event(wq_head, condition) \do { \ ...

2021-07-17 16:21:12 2628

原创 List.h 修改 --结合上篇使用

复制后可迁移篇结合编译就可以测试验证 list相关操作;上篇:双向链表内核数据结构#ifndef _MY_LIST_H#define _MY_LIST_H#ifndef ARCH_HAS_PREFETCH#define ARCH_HAS_PREFETCHstatic inline void prefetch(const void *x) {;}#endif#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->.

2021-07-17 10:19:34 98

原创 linux内核数据结构基础 -- 双向链表

本文如下部分:1、内核中双向链表定义2、常用方法列举 及原理分析3、举例目录本文如下部分:1、内核中双向链表定义2、常用方法列举 及原理分析3、举例1、内核中双向链表定义双向链表:struct list_head { struct list_head *next, *prev;};所在目录:include/linux/list.h单纯的两个指针,描述前后项;2、常用函数(宏函数) 双向链表定义和初始化 #define LIST_HE

2021-07-17 10:15:12 450 2

原创 uboot中环境变量 sf

这个命令是 uboot实现了 对flash 的读写初始化功能,挂载在spi总线下;执行sf probe 就是对spi总线和 flash的初始化;命令声明: u_BOOT_CMD大家都知道就是定义uboot模式下的命令行;然后uboot在main_loop下循环检测串口指令来解析调用相应命令U_BOOT_CMD( sf, 5, 1, do_spi_flash, "SPI flash sub-system", "probe [[bus:]cs] [hz] [mode] - init fla.

2021-07-03 15:44:15 2166

原创 uboot中给内核传入分区的参数

在uboot 环境变量如何进行配置分区??在uboot源码cmd/mtdparts.c中 提供工了这样一段注释 * Three environment variables are used by the parsing routines: * * 'partition' - keeps current partition identifier * * partition := <part-id> * <part-id> := <dev-id>,p

2021-07-03 11:15:29 895

原创 加载ko模块时报错unknown symbol in module, or unknown parameter

创建两个ko, A.ko B.koA.ko中的函数要被B.ko所引用;在A.ko中使用 EXPORT_SYMBOL_GPL(func);在B.ko中使用 func 编译和加载会报错;方法如下:1、将 A.ko编译进内核, 任意目录的makefile中添加 obj -y+= A.koobj -m += B.ko 如果A,B不在一个目录会报错方法一:拷贝A目录中的Module.symvers 到B目录中,之后编译B.ko =========》 测试通过方法二:在...

2021-07-02 17:55:00 4639 1

原创 基于dts的SPI框架 ADC9009驱动

SPI的dts配置:&spi0 { is-decoded-cs = <0>; num-cs = <1>; status = "okay"; device@0{ compatible = "adrv9009_1"; //compatible = "xlnx"; reg = <0x0>; spi-max-frequency = <0x100000>;

2021-05-29 15:56:06 1881

原创 git push时报错

目的: 修改了一些代码想要合入到 master上;操作如下:1、从远端更新代码到本地git pull origin master:master2、git status 查看3、git add =》 git commit -m " 内容注释"4、提交代码 ---- 这里报错了命令:git push origin master :master error: dst ref refs/heads/master...

2021-05-26 17:43:01 265

原创 xilinx ps-pl间的共享中断如何使用

首先环境介绍:Zynq UltraScale+ 参考文档 ug1085-zynq-ultrascale-trm.pdf需求:使用pl提供使能中断寄存器regEn,通过控制regEN使PL端发送中断,PS接收中断并在用户态处理中断;分析:1、处理中断实在PS端并且在用户态;那就涉及内核通知用户的机制,只有异步通知,通过信号来做比较合理;2、PS使用PL属于内部中断 至于有哪些中断类型参考: ug1085-zynq-ultrascale-trm.pdf 第13节 下载地址3...

2021-05-11 19:37:51 1662 6

原创 git 删除远端文件 /文件夹

linux上丢弃工作区变动# 尚未暂存以备提交的变更:# (使用 "git add <file>..." 更新要提交的内容)# (使用 "git checkout -- <file>..." 丢弃工作区的改动)git checkout -- misc/bspinit/bin/ssh_loglinux 上 git删除远端文件 /文件夹git rm misc/xxxx/src/deviceLayer/test/*相当于多次执行 git rmrm 'm

2021-05-08 17:02:38 288

原创 周-周内秒转化为utc时间 c语言实现

#include <stdio.h>#include <time.h> const static double gpst0[]={1980,1, 6,0,0,0}; //起始时间#define LEAPS 18typedef struct { /* time struct */ time_t time; /* time (s) expressed by standard time_t */ double se.

2021-04-02 16:27:43 4487 1

转载 单板上查看gpio使用情况

转载:查看GPIO使用情况_weixin_34205076的博客-CSDN博客Linux通过内核查看芯片gpio配置使用情况Dwyane05 2018-05-04 14:30:05 6133 收藏 6文章标签: Linux gpio版权用户空间使用gpio输出试,出错;使用PB08输出1-----对应40:32*(B-A) + 08 = 40# echo 40 > exportsh: write error: Device or resource busy#...

2021-03-26 09:15:03 665 1

原创 i2c_tools记录

i2c_tools是一个帮助调试i2c的开源工具;使用说明:i2c-stub-from-dump i2cdump i2cset i2cdetect i2cget i2ctransfer i2cdetect:直接在板子上敲i2cdetect,就会弹出帮助:可以看到:有命令: i2cdetect -y -a 总线 试一下看看可以看到...

2021-03-24 09:32:32 836 1

原创 输入子系统框架分析 --- 第一节

本模块分为两节:第一节: 分析输入子系统框架 第二节: 输入子系统代码举例第一节内容: 以按键作为输入分析源码框架1\回忆字符设备驱动程序编写步骤:确定主设备号 或者由系统分配记录主设备号 构造file_operations 结构: 包含的相关函数open, read, write, release等 把这个file_operations 结构注册到内核 使用函数 major = register_chrdev(主设备号, 名字, &third_drv_fops)...

2021-03-15 17:52:33 71

转载 dd命令转载

一、dd命令的解释dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2参数注释:1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。

2021-03-15 17:52:11 553

原创 jz2440 内核启动打印信息

加载完文件系统和内核重启后打印信息:OpenJTAG> print uboot起来之后打印的参数bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0 内核传递参数:b...

2021-02-21 10:19:53 245

python的一些学习历程

python的一些学习历程

2022-04-19

marvell phy 88e1512

marvell phy 88e1512

2022-04-19

linux DMA from user space-public

linux DMA from user space-public

2022-03-14

平台提供接口框架 socet-server-client

嵌入式开发一般驱动给其他组或者部门内部 开放的接口都通过socket 实现一个server常驻线程和多个client,每个client实现一个要开放的接口。

2021-11-20

test_make.rar

包含<跟我一起写makefiel> 自己学习makefile的一个历程

2021-11-05

arm 架构指令集文档(DEN0024A_v8_architecture_PG,DDI0553B_p_armv8m_arm)

arm架构 指令集 寄存器 内存架构等介绍

2021-09-26

iic框架下使用hwmon子系统检测温感

iic框架下使用hwmon子系统检测温感

2021-08-14

单片机微型编程器制作流程简介

sp100简易编辑器的简介,制作流程使用方法等等,希望能给帮助到你

2019-01-10

郭天祥51单片机

郭天祥51单片机课习题的教程历程讲解;如果要别的单片机视屏或者是单片机安装程序一样都有

2014-09-06

空空如也

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

TA关注的人

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