- 博客(75)
- 收藏
- 关注
原创 uboot编译
本文讲述如何使用主线uboot编译自己想要的平台uboot,我们常用的平台也就arm和arm64,本文拿全志平台做例子,arm采用orange pipc h3平台。arm64采用orange pipc2 h5平台。
2024-07-14 14:27:18
449
原创 OrangePIPC2---红外模块(二)
之前学习过linux下的输入子系统,这次想总结下,顺便在orangepi上实现一个简单的遥控器识别功能。本文主题介绍如何编写一个遥控器的驱动,以及如何使用。
2022-10-07 08:00:00
712
2
原创 OrangePIPC2---红外模块(一)
之前学习过linux下的输入子系统,这次想总结下,顺便在orangepi上实现一个简单的遥控器识别功能。本文主要介绍orangepi上的硬件相关部分,涉及红外模块,以及红外模块的驱动介绍。
2022-10-06 08:00:00
878
原创 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
999
原创 OrangePIPC2---编译篇
我采用树莓派当我的编译服务器,起内置的编译器够我编译64位的orangepipc2的镜像可以看到我的gcc版本还是蛮高的10.2的版本。
2022-10-04 14:59:52
891
原创 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
1152
2
原创 树莓派镜像制作
本文主要讲诉如何制作一个树莓派的启动镜像(本人使用的是4b+)镜像下载64bitxz文件大小在756M,解压后镜像3.95个G选择你将要做的盘,直接格式化即可选择前面下载的树莓派镜像后,点击write直接写入即可!.............................................
2022-06-26 23:57:03
4012
原创 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
774
原创 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
681
原创 开源组件下载地址
uboot的下载地址https://ftp.denx.de/pub/u-boot/解压tar -jxvf u-boot-2022.04.tar.bz2
2022-06-11 20:06:34
957
原创 周易预备知识
《连山易》、《归藏易》、《周易》分别形成于夏、商、周三代,其中《连山易》最早,《周易》最晚。东汉学者桓谭在《新论正经》中说:“《连山》八万言,《归藏》四千三百言(秦朝精简本)。《连山》藏于兰台,《归藏》藏于太卜。”《连山》与《归藏》魏晋之后下落不明或被佛道吸收作经或亡佚,成为中华文化领域里的千古之谜。广义的易经就是前面说的3部易书。狭义的易经就是指周易《周易》内容包括《经》和《传》两个部分,但一般认为它是秦汉时期融汇而成的作品。《经》分为《上经》和《下经》。《上经》三十卦,《下经》三十四卦,一共六十四
2022-06-11 15:22:59
202
原创 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
597
原创 I2C子系统---(4)I2C驱动模型框架
I2C子系统驱动框架前言基本数据结构busdriverapideviceapiadapter 注册client的注册数据收发api总结前言在上一篇文章中,我们已经知道设备树中描述的节点是如何联系进系统中去的,本编文章我们来介绍写I2C系统框架有哪些组成部分,以及I2C设备驱动的注册是指什么,以及常用的I2C通用访问接口具体干了啥,主要围绕驱动框架来熟悉这块的模型。我们了解,I2C驱动模型是基于设备驱动模型,相关的就直接得出结论不展开,其相关见Linux内核驱动模型—设备总线驱动Linux内核驱动模型
2022-05-01 08:00:00
1630
原创 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
500
原创 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
705
原创 tftp的一次问题分析
问题描述我在使用usb转网络的时候,发现能ping通但是,不能通过tftp进行下载文件,就很奇怪,按道路网络通,其tftp也应该能用。对比我拿正常的网口设备进行抓包测试请求文件下载回复文件大小回复acktftp服务器发送文件数据设备回复ack过程很美丽,正常的tftp数据传输过程再来看异常的设备网络进行tftp的抓包分析发现每次设备请求tftp服务器的时候,服务器都回复一个icmp的端口不可达错误,问题解决这里本来怀疑和ip地址有关,后来发现和ip没关系,其实还是和端口有
2022-03-21 20:11:31
3584
原创 qt应用发布
编译构建你的工具编写完成后进行release 构建发布在你的release,目录下找到你的工具.exe,拷贝到新建目录下准备移植所需要的库和组件打开这个qt工具执行windeployqt kkcom.exe如果不行一般是环境变量有问题,添加下环境变量临时使用把你的发布程序放到安装目录下,一般这个目录能直接访问bin打开上面的命令行工具进入到发布目录执行windeployqt kkcom.exe这样双击就能使用了...
2022-03-15 16:05:58
462
原创 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
1508
原创 popen的用法
函数解释百度百科:popen() 函数通过创建一个管道,调用 fork 产生一个子进程,执行一个 shell 以运行命令来开启一个进程。这个进程必须由 pclose() 函数关闭,而不是 fclose() 函数。pclose() 函数关闭标准 I/O 流,等待命令执行结束,然后返回 shell 的终止状态。如果 shell 不能被执行,则 pclose() 返回的终止状态与 shell 已执行 exit 一样。返回值 如果调用fork()或pipe()失败,或者不能分配内存将返回NULL,否则返回
2022-02-25 16:15:39
1271
原创 linux如何重新分区
参考文章https://blog.youkuaiyun.com/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
3689
原创 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
2468
原创 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
755
原创 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
3209
原创 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
946
1
原创 ubuntu用户登入不了如何进命令行
在使用linux系统是有时候会搞坏掉你的用户信息,比如ubuntu我就吧用户信息搞没了设备也重启了这时候登入界面按原来的账户密码输入进不去了,但我知道root密码如何进命令行重新创建账户在进行操作。操作步骤设备上电,在bios引导结束后按esc进入grub选择第一个ubuntu,按e进入编辑在出现编辑的界面里在引导/boot/vmlinux 那行最后面多加一个3 的参数 文本模式按f10引导启动系统过一会儿就会进文本模式了不用担心这是一次性的重启又会恢复界面模式进入系统后你想怎么玩怎么玩
2021-12-02 22:27:43
2190
转载 人工智能相关概念(ai、机器学习、深度学习)
人工智能相关概念人工智能(Artificial Intelligence)机器学习深度学习详细历史举例转载自华为开发社区和智东西【小宅按】作为一个大数据从业人员,相信大家整天都在被AI、机器学习、深度学习等一些概念轰炸。有时候甚至有点诚惶诚恐,一方面作为一个“业内人士”而自豪,另一方面觉得新概念一个接一个,自己不甚了解,有点恐惧。我一直相信一句台词——“喝了敌人的血,下次见面就不会再怕了”。学习知识亦然,很多时候,你觉得很高深,实际上是缺乏清晰的概念。当你真的把这些概念理清楚后,往往会恍然大悟,万变不离
2021-11-25 21:01:02
1014
原创 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
3618
原创 常用小函数
小函数打印功能打印功能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
376
原创 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
3407
原创 GPIO子系统---(1)应用下操作gpio
GPIO子系统前言应用层面的gpioSYSFS控制GPIOgpioctl控制gpiodemogpio ctl驱动前言为了了解以及更好的使用linux世界里gpio是个什么样的,特地用几篇文章来挖掘挖掘这部分的内容。希望能够让自己更好的认识kernel里面的gpio的操作。gpio是一个非常常用和简单的一个操作,其主要功能输出一个高地电平,输入能感知一个高地电平或者中断。通常 我们认识一个系统,自上而下的认识和学习比较是比较能够聚焦相关的内容,可以摒弃一些与之联系较少的内容,比较能够快速的认识了解这个
2021-10-07 14:40:24
621
原创 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
327
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
4911
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人