自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 uboot编译

本文讲述如何使用主线uboot编译自己想要的平台uboot,我们常用的平台也就arm和arm64,本文拿全志平台做例子,arm采用orange pipc h3平台。arm64采用orange pipc2 h5平台。

2024-07-14 14:27:18 259

原创 qemu模拟orangepi

由于qemu目前只支持orange pipc单板,也就是H3型号,故我们就拿这个型号做测试。

2024-07-08 02:16:19 225

原创 OrangePIPC2---红外模块(二)

之前学习过linux下的输入子系统,这次想总结下,顺便在orangepi上实现一个简单的遥控器识别功能。本文主题介绍如何编写一个遥控器的驱动,以及如何使用。

2022-10-07 08:00:00 538 3

原创 OrangePIPC2---红外模块(一)

之前学习过linux下的输入子系统,这次想总结下,顺便在orangepi上实现一个简单的遥控器识别功能。本文主要介绍orangepi上的硬件相关部分,涉及红外模块,以及红外模块的驱动介绍。

2022-10-06 08:00:00 671

原创 Input子系统

本文主要介绍在linux下input子系统框架,以及如何运作的,自己编写的驱动是怎样的方式嵌入到input子系统中去的。

2022-10-05 22:43:44 641

原创 Makefile常用片段

make -C xxx 表示进到摸个目录下执行make 这样的关系是有层级关系的,在顶层makefile中export的变量是可以传导子makefile中的。(patsubst %.c,%.o,$(dir) )吧dir中符合后缀.c替换成.o。将obj-m设置为xmodule.o,并使xmodule.o依赖于hello.o.执行make命令后,生成xmodule.ko, 而不是hello.ko,file 最后就是等于 a.o b.o c.o d.o。还有一个常用的手法,获取当前目录下的所有.c文件。

2022-10-04 20:53:29 939

原创 OrangePIPC2---编译篇

我采用树莓派当我的编译服务器,起内置的编译器够我编译64位的orangepipc2的镜像可以看到我的gcc版本还是蛮高的10.2的版本。

2022-10-04 14:59:52 771

原创 树莓派常用软件环境搭建

本文记录树莓派或者其他pi的一些常用软件配置安装。

2022-10-02 10:06:43 826

原创 算法题常用

主要列举一些经典的算法思路。

2022-07-21 00:43:19 385

原创 树莓派的常用系统配置

我目前使用是4b型号,本文罗列一些常用的配置!

2022-07-19 00:58:53 906

原创 OrangePIPC2---镜像制作

本文主要介绍Orange PiPC2 的启动镜像制作,包含一下内容,sunxi H5芯片的bootrom,以及spiflash的镜像制作,tf卡的镜像制作等内容。镜像制作的话和bootrom内容涉及紧密联系,如果不了解可以先看这篇文章OrangePIPC2—bootrom本文针对sunxi的H5做下norflash和tf卡的镜像制作方法。因为在bootrom中有对nor和tf卡的处理,所以如下在附上启动的特殊说明。eGON就是在bootrom中的一段代码。在文件中uboot----\board\sunx

2022-06-27 13:26:38 921 2

原创 树莓派镜像制作

本文主要讲诉如何制作一个树莓派的启动镜像(本人使用的是4b+)镜像下载64bitxz文件大小在756M,解压后镜像3.95个G选择你将要做的盘,直接格式化即可选择前面下载的树莓派镜像后,点击write直接写入即可!.............................................

2022-06-26 23:57:03 3608

原创 OrangePIPC2---bootrom

本文主要介绍Orange PiPC2 的bootrom相关内容,包括启动过程中soc的行为。什么叫bootrom?几乎每款soc都内部固话了一段bootrom代码,这段代码呢主要是用来防止设备变砖而存在的一小段代码,比如我们的uboot存在flash中,可以起来,但由于我的误操作,吧flash擦除了,那么设备就起不来了,这个时候bootrom,就会根据你目前的启动情况自动选择启动的介质(nand,nor,net,USB,uart,tf卡,emmc),有的soc提供boot select pin,通过拨码开

2022-06-19 23:21:19 671

原创 OrangePIPC2---uboot flash的适配

下载uboot源码去我的github上下载源码,或者官方uboot都行,由于我还没装git所以先临时下载用用。解压unzip XXX.zip即可编译export CROSS_COMPILE=aarch64-linux-gnu-make orangepi_pc2_defconfigmake错误‘swig’apt-get install swig编译正常警告不影响,反正用我们自己提供的bl31文件下载测试sunxi-fel -v -p spl sunxi-h5-spl32-dd

2022-06-15 19:57:45 596

原创 开源组件下载地址

uboot的下载地址https://ftp.denx.de/pub/u-boot/解压tar -jxvf u-boot-2022.04.tar.bz2

2022-06-11 20:06:34 258

原创 周易预备知识

《连山易》、《归藏易》、《周易》分别形成于夏、商、周三代,其中《连山易》最早,《周易》最晚。东汉学者桓谭在《新论正经》中说:“《连山》八万言,《归藏》四千三百言(秦朝精简本)。《连山》藏于兰台,《归藏》藏于太卜。”《连山》与《归藏》魏晋之后下落不明或被佛道吸收作经或亡佚,成为中华文化领域里的千古之谜。广义的易经就是前面说的3部易书。狭义的易经就是指周易《周易》内容包括《经》和《传》两个部分,但一般认为它是秦汉时期融汇而成的作品。《经》分为《上经》和《下经》。《上经》三十卦,《下经》三十四卦,一共六十四

2022-06-11 15:22:59 150

原创 OrangePIPC2---环境搭建

linux主机我的主机版本如下uname 看不到就lsb_release 看看安装sunxitools因为我们的板子里面啥都没有,所以肯定是起不来的,所以就要依赖官方出的一个工具,通过usb otg进行把uboot下载进板子运行。解压tar -xvf sunxi-tools_bin.tar添加环境变量vi ~/.bashrc/home/ak/work/tools/sunxi-tools_bin体验一把启动去我的网盘下载写必要的文件启动uboot运行如下命令sunxi-

2022-05-22 20:00:00 502

原创 I2C子系统---(4)I2C驱动模型框架

I2C子系统驱动框架前言基本数据结构busdriverapideviceapiadapter 注册client的注册数据收发api总结前言在上一篇文章中,我们已经知道设备树中描述的节点是如何联系进系统中去的,本编文章我们来介绍写I2C系统框架有哪些组成部分,以及I2C设备驱动的注册是指什么,以及常用的I2C通用访问接口具体干了啥,主要围绕驱动框架来熟悉这块的模型。我们了解,I2C驱动模型是基于设备驱动模型,相关的就直接得出结论不展开,其相关见Linux内核驱动模型—设备总线驱动Linux内核驱动模型

2022-05-01 08:00:00 1034

原创 I2C子系统---(3)I2C驱动模型(全志I2C驱动)

I2C子系统驱动模型

2022-04-17 22:00:00 1057

原创 I2C子系统---(2)驱动实现

I2C子系统驱动实现前言磁力计驱动实现设备树磁力计驱动实现前言在之前的文章中提到在使用app对设备数据的获取,那么他的设备节点以及ioctl是如何实现的,是本文的讨论重点!磁力计驱动实现设备树i2c1: i2c@1c2b000 {compatible = "allwinner,sun6i-a31-i2c";reg = <0x01c2b000 0x400>;interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;clocks = &l

2022-04-10 20:11:37 403

原创 I2C子系统---(1)应用层使用

I2C子系统使用前言运用环境实现设备访问大致过程设备树app代码说明前言I2C在设备中运用广泛,也是比较常用的一种接口,之前想在学习mcu时就能接触很多的I2C设备,比如24c02基于I2C的eeprom,MPU6050加速度计,rtc,gpio扩展芯片等等!运用环境本系列采用的平台是aarch64 全志H5平台,I2C设备是hmc5883l, 是一款Honeywell3轴数字罗盘磁力计,用于输出当前空间磁场分布,磁场是个矢量,具有方向和大小,且为3维,故这款磁力计的寄存器中表示当前磁场XYZ的分

2022-04-10 16:19:21 525

原创 tftp的一次问题分析

问题描述我在使用usb转网络的时候,发现能ping通但是,不能通过tftp进行下载文件,就很奇怪,按道路网络通,其tftp也应该能用。对比我拿正常的网口设备进行抓包测试请求文件下载回复文件大小回复acktftp服务器发送文件数据设备回复ack过程很美丽,正常的tftp数据传输过程再来看异常的设备网络进行tftp的抓包分析发现每次设备请求tftp服务器的时候,服务器都回复一个icmp的端口不可达错误,问题解决这里本来怀疑和ip地址有关,后来发现和ip没关系,其实还是和端口有

2022-03-21 20:11:31 3325

原创 qt应用发布

编译构建你的工具编写完成后进行release 构建发布在你的release,目录下找到你的工具.exe,拷贝到新建目录下准备移植所需要的库和组件打开这个qt工具执行windeployqt kkcom.exe如果不行一般是环境变量有问题,添加下环境变量临时使用把你的发布程序放到安装目录下,一般这个目录能直接访问bin打开上面的命令行工具进入到发布目录执行windeployqt kkcom.exe这样双击就能使用了...

2022-03-15 16:05:58 405

原创 命令小知识点

remountmount -o rw,remount /system 把该挂载点设置为可读可写,解决read-only问题

2022-03-10 18:40:44 79

原创 kernel如何绑定dtb

内核与dtb绑定一般有三种做法对于附加dtb到内核上去,可以用cat *.dtb >> zImage,生成的zImage可以直接用bootz启动类似的,uImage+dtb则不行,要先生成附加了dtb的zImage->make uImage->uImage才可用#uImage+dtb可搜FIT-uImagecat arch/arm/boot/dts/socfpga_arria5_socdk.dtb >> arch/arm/boot/zImagemake uIma

2022-03-10 18:39:40 1221

原创 popen的用法

函数解释百度百科:popen() 函数通过创建一个管道,调用 fork 产生一个子进程,执行一个 shell 以运行命令来开启一个进程。这个进程必须由 pclose() 函数关闭,而不是 fclose() 函数。pclose() 函数关闭标准 I/O 流,等待命令执行结束,然后返回 shell 的终止状态。如果 shell 不能被执行,则 pclose() 返回的终止状态与 shell 已执行 exit 一样。返回值  如果调用fork()或pipe()失败,或者不能分配内存将返回NULL,否则返回

2022-02-25 16:15:39 1166

原创 linux如何重新分区

参考文章https://blog.csdn.net/code_segment/article/details/79237500sudo apt-get install gparted安装图形化的分区软家件,安装好后直接命令启动软件1. 因为我要升级ubuntu的版本系统提示boot的分区空间不足,我打算从swap分区撸点过来,2. 先umount分区右击关闭swap分区3. 可以看到当前我的swap分区1952M,前后没有空余分区4. 冲swap扣129M准备合给boot分区5. 点击红勾等

2022-02-02 16:42:43 3463

原创 linux操作文件提示no space解决办法

问题解决过程问题描述因素一因素二因素三问题描述linux cp命令显示 No space left on device显示空间不足,按照以下几个可能性确定下原因因素一这种情况一般作用于存储介质,目标目录实体空间不足导致可以用df -ah查看,我的环境不是挂载目录报错所以排除这个原因因素二inode数使用太多,导致文件的inode分配不到可以 -i 查看ls -lia 可以查看目录的inode 第一个数字就是inode我的设备也没满因素三查看rootfs的大小是否到头了mou

2022-01-22 18:45:17 2222

原创 Python的常用规则

py常用运算符常规运算

2022-01-04 19:27:14 1574

原创 pythonwin端的安装

官网:https://www.python.org/文档https://docs.python.org/3/下载好2.7和3.8后分别安装在不同目录在2.7目录下重命名成下面两个exe3.8的不用修改添加2.7和3.8的环境变量我的电脑” –> “选择属性” –> “高级系统设置” –> “环境变量”PS C:\> python2.exe -vPython 2.7.18 (v2.7.18:8d21aa21f2, Apr 20 2020, 13:25:05)

2021-12-27 19:15:28 677

原创 python相关环境库的安装

jupyter安装网址:https://jupyter.org/install在线python-3.8\python.exe -m pip install --upgrade pippip3 install jupyterlab离线win端运行启动服务power shelljupyter notebook起服务在浏览器下输入网址http://localhost:8888/login?next=%2Ftree这里会让你输入密码或者token,我们没有设置密码那么输入tokentoke

2021-12-27 18:59:23 3042

原创 Linux如何取消用户登入的信息

定位步骤问题描述解决办法步骤排除telnetdloginbusybox再次loginlogin.c究极大法加打印问题描述我在使用telnet的时候发现当利用telnet登入设备的是后设备会输出一段用户登入的打印,这个打印在有些特殊情况下我不希望打印如何解决?解决办法找到这个文件busybox\loginutils\login.c找到login_main函数找到这一行syslog(LOG_INFO, “root login%s”, fromhost);删掉即可,以后shell登录都没打印了

2021-12-04 06:00:00 851 1

原创 ubuntu用户登入不了如何进命令行

在使用linux系统是有时候会搞坏掉你的用户信息,比如ubuntu我就吧用户信息搞没了设备也重启了这时候登入界面按原来的账户密码输入进不去了,但我知道root密码如何进命令行重新创建账户在进行操作。操作步骤设备上电,在bios引导结束后按esc进入grub选择第一个ubuntu,按e进入编辑在出现编辑的界面里在引导/boot/vmlinux 那行最后面多加一个3 的参数 文本模式按f10引导启动系统过一会儿就会进文本模式了不用担心这是一次性的重启又会恢复界面模式进入系统后你想怎么玩怎么玩

2021-12-02 22:27:43 2019

转载 人工智能相关概念(ai、机器学习、深度学习)

人工智能相关概念人工智能(Artificial Intelligence)机器学习深度学习详细历史举例转载自华为开发社区和智东西【小宅按】作为一个大数据从业人员,相信大家整天都在被AI、机器学习、深度学习等一些概念轰炸。有时候甚至有点诚惶诚恐,一方面作为一个“业内人士”而自豪,另一方面觉得新概念一个接一个,自己不甚了解,有点恐惧。我一直相信一句台词——“喝了敌人的血,下次见面就不会再怕了”。学习知识亦然,很多时候,你觉得很高深,实际上是缺乏清晰的概念。当你真的把这些概念理清楚后,往往会恍然大悟,万变不离

2021-11-25 21:01:02 771

原创 Linux下重定向exec以及dup说明

重定向在linux中经常会用到重定向功能如下一个简单的例子linux:[~/xx]$ echo "123" > akfilelinux:[~/xx]$ cat akfile123linux:[~/xx$ echo "123" >> akfilelinux:[~/xx]$ cat akfile123123>将echo的输出重定向到akfile的输入达到往文件写的目的,而不输出显示当前界面>>则是追加写特殊设备cat /dev/n

2021-11-23 16:00:07 3565

原创 常用小函数

小函数打印功能打印功能print_int(“value:”,12344,‘D’);void print_int(char *str, unsigned int ivalue, char format){ char buf[11] = {0}; unsigned int range ,i ,temp_val; printf("%s", str); if (ivalue == 0) { printf("0x00\n"); return; } switch (format) {

2021-11-04 20:55:10 345

原创 GPIO子系统---(2)gpiolib库

GPIO子系统gpiolib前言gpiolib相关api申请释放控制gpiolib重要内部接口重要结构重要内部接口gpiochip_add_data_with_keygpiodev_add_to_listgpio如何统一相关结构体注册函数example nt平台的注册前言在上一篇文章中说到在应用下如何操作gpio,以及简单分析了下gpioctl的驱动以及api的一些好处,本编文章就来介绍下gpiolib相关的一些api以及gpio的不同平台的注册相关内容。解析gpiolib是如何管理gpio的。gpi

2021-10-10 18:15:43 3091

原创 GPIO子系统---(1)应用下操作gpio

GPIO子系统前言应用层面的gpioSYSFS控制GPIOgpioctl控制gpiodemogpio ctl驱动前言为了了解以及更好的使用linux世界里gpio是个什么样的,特地用几篇文章来挖掘挖掘这部分的内容。希望能够让自己更好的认识kernel里面的gpio的操作。gpio是一个非常常用和简单的一个操作,其主要功能输出一个高地电平,输入能感知一个高地电平或者中断。通常 我们认识一个系统,自上而下的认识和学习比较是比较能够聚焦相关的内容,可以摒弃一些与之联系较少的内容,比较能够快速的认识了解这个

2021-10-07 14:40:24 434

原创 shell脚本常用片段

文件判断if [ -d "/XXX/" ];then echo "文件夹存在"else echo "文件夹不存在"fiif [ -f "/xxx/filename" ];then echo "文件存在"else echo "文件不存在"fi-e filename 如果 filename 存在,则为真-d filename 如果 filename 为目录,则为真-f filename 如果 filename 为常规文件,则为真-L filename

2021-10-04 15:16:00 248 1

原创 usb-gadget

内核支持usb 的配置nt9856支持usb 的驱动USB做dev的一般都在小东西里面CONFIG_USB_GADGET小东西里面一般有三块CONFIG_USB_CONFIGFS这个一般是选着平台的usb控制器驱动比如我想usb做设备当一个U盘用那么用这个config CONFIG_USB_CONFIGFS_MASS_STORAGE下面这个就是一个工具让你挂载的目录配置这个驱动一挂载pc上就会出现一个U盘insmod g_mass_storage.ko file=/dev/mtdbloc

2021-09-15 19:36:27 4524

空空如也

空空如也

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

TA关注的人

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