全志A40i
文章平均质量分 71
记录使用linux硬件电路的设计和驱动用法,相关芯片有全志f1c100s、f1c200s、H3、T3、A40i,以及其他厂家等ic
大桶矿泉水
技术发展和创新的路上有很多坎坷,在每一个困难面前抱有认真面对、努力专研、沟通交流的态度,一切的路皆是平坦无阻的,只要有一颗坚持的本心,剩下的交给时间!
展开
-
A40i使用笔记:qt调用python
linux 下qt调用python运算,这里记录一下,有些问题太坑了,也分享出来让大家避坑linux3.10python3.6.5正常调用步骤pro引用相关库,用到numpy就安装一个,在引用头文件头文件包含初始化和运行将python文件放在与qt程序同级目录就行了下面分享大坑解决办法:大坑1:程序手动执行./xxx可以执行,调用到python时也正常,但是在脚本里开机自动执行,在调用到python时就提示错误,如下或者PyImport_ImportModule err或者Py_In原创 2023-06-24 16:50:17 · 309 阅读 · 0 评论 -
A40i使用笔记:安装python3.7(素装)
./configure \CC=/root/workspace/allwinner/A40i/bsp/lichee/out/sun8iw11p1/linux/common/buildroot/host/opt/ext-toolchain/bin/arm-linux-gnueabihf-gcc \CXX=/root/workspace/allwinner/A40i/bsp/lichee/out/sun8iw11p1/linux/common/buildroot/host/opt/ext-toolcha原创 2023-05-07 23:02:10 · 627 阅读 · 1 评论 -
A40i使用笔记:QT使用alsa采集音频pcm信息
linux下实现音频pcm采集,并实时更新音频波形曲线,可以保存为csv等格式文件。1.音频采集必须单独开启一个线程,和主线程绑定信号进行交互通信2.性能差的主板不建议实时刷新曲线,因为在主线程刷新曲线会造成现成数据通讯阻塞,从而导致数据有几十甚至几百甚至全部数据失真,因为进程阻塞,新的数据没有传递过来,数据还在刷新,就丢失了原始数据,后来我为了实时看数据曲线,专门改成了3秒刷新一次曲线原创 2023-04-17 00:09:20 · 1572 阅读 · 0 评论 -
A40i使用笔记:Ubuntu编译qt程序提示GL/gl.h: (或GLES2/gl2.h: )No such file or directory问题,编译QCustomPlot这个控件影响
1.原因是少东西,这时虚拟机需要联网更新一下资源即可显示参照这个帖子https://blog.csdn.net/u010168781/article/details/808967972.如果中间提示“E: Package *** has no installation candidate” 错误,那么就插入这个帖子的方法https://blog.csdn.net/baiketeam/art...原创 2020-05-07 00:13:53 · 1535 阅读 · 1 评论 -
A40i使用笔记:GPIO操作方式(用于测试设备io驱动性能)(传统方式、设备树方式、寄存器方式操作GPIO)
一、前言前文介绍了文件io的驱动方式,可以用于led点灯灭灯或者一些简单的不需求时序控制的ic操作,但是用于功能类ic,如AD采集芯片等时序控制需求高的,就不行了,这时候就需求高速io去实现指定的芯片手册时序逻辑,来完成ic的驱动。前文也介绍了一些高速io的驱动方式,如hx711芯片驱动,如未发布文章的AD7606驱动源码资源,都是使用高速io驱动的方式,但是经测试,io的速率还未开发到极致,是因为未直接操作底层寄存器的原因,还是经过包装,但是io速率已经满足大部分ic驱动开发,本编文章的目的也是介绍和原创 2021-11-17 11:58:50 · 3872 阅读 · 4 评论 -
A40i使用笔记:交叉编译*.c文件(可在开发板运行)
一、前言在使用a40i时,不仅仅会用到qt环境,还会用到一些子程序,用c单独编译配置的程序,而且也具备可扩展可移植性,下面就简单介绍一下在a40i平台交叉编译方法二、环境ubuntu 16vaware 12window10a40i交叉编译器qt5.9三、正文实现交叉编译的有两种,一种是ui的qt程序,一种是不带ui的纯*.c程序1.带ui的用qt直接选择a40i编译器进行编译(不介绍)2.带ui的跟随系统编译手册介绍如下:将写好的程序放在如下目录中原创 2021-09-03 00:35:22 · 1200 阅读 · 0 评论 -
A40i使用笔记:系统配置
一、前言系统配置是非常重要的一个环节,如果系统配置不合理,配置错误,很容易导致很多问题,我是用的是某凌的核心板,所以以下文章稍微有针对性一些面对使用同款核心板的伙伴们,本文主要介绍一下系统各个外设的使用配置方式,此文章长期更新,因为配置我也不是了解很多,linux系统的底层系统很复杂,不是专业搞的很难短时间搞清楚,我不是专业搞linux,使用这个核心板环境也有快2年了,只是逐渐了解,真是应了世外桃源那句话:初极狭,才通人,复行数十步,豁然开朗。学习任何一门新的方向知识都是如此,只有前期不断的积累,基础扎原创 2022-05-14 17:04:06 · 1559 阅读 · 2 评论 -
A40i使用笔记:按键输入扫描检测(设备树方式)
一、前言按键输入检测方式由硬件决定了软件如何开发,一开始我设计的硬件没有考虑到这点,也正是因为这,迫使我不得不学习设备树的使用,因为我的硬件按键输入检测是按键按下经过电阻到地的方式,而不是上拉的模式,所以必须设置GPIO的引脚为上拉模式,但是普通的引脚驱动只能设置输入和输出模式,再有就是高低电平,如果想要设置上拉模式,必须使用设备树的方式,所以这边文章的主要目的也是介绍和分享一下如何使用设备树配置GPIO引脚的模式,和简单的按键输入应用介绍。全部源码下载在这里二、环境宿主机:window10,U原创 2021-11-20 01:16:53 · 1439 阅读 · 1 评论 -
A40i使用笔记:文件IO驱动方式(慢)(无法应用于大部分ic)
一、前言初学linux,从hellow word开始,但是我这现在连初学都算不上,还没到学习hellow word驱动那一步,目前就是利用文件io驱动最最最最简单基础的led或者最最最简单的不要求时序和速度的ic注:本文未使用到驱动,只用到文件io输入输出,和交叉编译二、环境Ubuntu16vaware 12全志a40i(linux3.10)window10a40i交叉编译器三、正文1.输出方式一:指定引脚PG8或其他输出#include <stdio原创 2021-10-09 00:48:32 · 922 阅读 · 2 评论 -
A40i使用笔记:第一个实物驱动HX711(传统方式,非设备树)
一、前言又是一个熬夜的夜晚,已经不知道连续多少天没有正常休息了,每天早期都要下定决心晚上早点睡觉,可是一到了晚上就是来思路学习或者干点什么的冲动,赶紧写完睡觉。这是我第一个基于全志a40i平台写的Linux驱动,可能不是特别标准,也未使用到设备树,不是特别完美,万事开头难,开了头后续我会继续更新A40i使用笔记系列的。二、环境全志A40ilinux3.10三、正文本文主要就是记录一下代码把,函数的详细描述我也就不述说了,网上大把教学视频,都比较专业。为什么一定要写底层驱动呢,原创 2021-10-22 01:52:01 · 1282 阅读 · 2 评论 -
A40i使用笔记:2401源码环境添加7寸触摸屏驱动
一、前言自动使用了飞凌嵌入式的2401开发环境之后,就在也没有用过触摸屏了,突然有新的需求,需求鼠标键盘,触摸屏,但是发现一个都不好使,头大,自己琢磨了两天没搞定,然后和飞凌技术沟通,还是专业的人解决专业的事情,一上午就解决了,这里感谢一下652同志,辛苦啦。本文主要用于记录自己的调试方式,和总结,提供需求的人去参考使用二、环境开发环境Ubuntu16.04目标机系统linux3.10window10lichee文件由2401源码包获取显示屏7寸800x480电阻屏三、正原创 2021-11-03 14:03:53 · 1017 阅读 · 0 评论 -
A40i使用笔记:调用系统自带驱动GT911触摸屏
使用A40i的TWI接口驱动GT911触摸屏IC,解决在Linux下USB免驱板适配不恰当问题,部分型号的USB免驱板在使用时,多指触摸会导致触摸屏消息堵塞,从而导致控制失灵,需要重插拔USB或重启软件,这样是无法接受的,所以直驱触摸IC跳过免驱板,一劳永逸的解决问题。原创 2022-10-21 21:49:13 · 3044 阅读 · 1 评论 -
A40i使用笔记:远程ftp复制程序不执行(权限问题)
一、前言实现通过网络更新程序,而不是用串口更新程序,远程方便二、环境window10winscpA40i三、正文一直一来从filezilla软件或者winscp打开远程linux终端的文件系统时,往里面拷贝程序,复制文件总会出现不好使的情况,经过反复的使用和排查,最总发现时权限的问题,那么现在就解决这个问题。1.winscp(具体使用方式就不介绍了,从连接到终端开始)如上图所示,正常拖拽进来的文件,权限是rw-r-r,而系统实际运行需求的权限是rwxr-xr-x,这里原创 2021-07-27 16:47:48 · 1215 阅读 · 0 评论 -
A40i使用笔记:qt在Linux获取系磁盘空间和指定磁盘空间
一、前言在linux下执行qt程序,获取磁盘空间以方便进行管理二、环境qt5.9linux3.10A40i三、正文1.获取指定磁盘空间占用率简化 QStorageInfo storage = QStorageInfo::root(); storage.refresh(); //获得最新磁盘信息 storage.device(); storage.setPath("/mnt/sata"); ..原创 2021-07-27 16:35:34 · 1069 阅读 · 0 评论 -
A40i使用笔记:时区设置
遇到文件更改日期和实际日期对不上,需要修改时区A40i在创建文件时,发现文件的更改日期与实际时间不同,恰好相差几个小时,A40i核心板默认相差8小时,如下所示系统时间(13时29分):文件存储数据记录的时间(13时29分): 文件改变时间(21时29分,快了8个小时): 修改系统时区,默认时区为0000,可通过date -R命令查看:修改时区方式,执行以下命令:先删除旧的时区rm -rf /etc/localtime 然后添加新的上海的时区ln -s /usr/share/zoneinfo/Asia/Sh原创 2022-08-03 13:54:02 · 293 阅读 · 0 评论 -
A40i使用笔记:重定向串口输出信息到telnet端口(任意定向)
一、前言在嵌入式Linux系统中,我是用的是A40i,有时通过远程(telnet或者ssh)登录到现场设备,想看程序的实时打印的调试信息,需要将输出到串口的调试信息重定向到当前登录的终端界面上。下面是实现的代码,可以将输出到串口的日志信息,重定向到当前的telnet或者ssh界面上,是不是很神奇! 神奇个毛线二、环境Ubuntu16.0window10A40i参考连接:linux下tty, ttyn, pts, pty, ttySn, console理解linux C语言原创 2021-07-27 23:46:58 · 2997 阅读 · 0 评论 -
A40i使用笔记:使用QT调用aplay播放wav音频/混音
一、前言在linux当中播放音乐的方式有很多种,我使用的A40i核心板,是 aplay 指令,是 alsa 的一个指令,也就是说需要先安装有 alsa,使用其他arm开发板的小伙伴可以先自行安装alsa之后在进入正文,这里我没实际自己安装,也就不说明了。二、环境linux3.10alsa、aplayqt5.9参考连接:linux 播放音频Linux---ALSA音频工具arecord、aplay、amixer使用Qt调用aplay播放PCMQT界面完成录音与播放功能以及环原创 2022-05-06 09:39:19 · 3368 阅读 · 0 评论 -
A40i使用笔记:编译驱动到内核中调用(ubuntu和A40i平台)
一、前言二、环境三、正文四、结语原创 2021-10-14 01:30:17 · 1289 阅读 · 0 评论 -
A40i使用笔记:加载驱动的几种方式(自动、手动、程序加载)
一、前言今日收获颇多,抓紧机会写上调试心得,否则日后又忘记了本编文章介绍加载驱动的方式,亲测可用,可能还有更好的方式,欢迎补充二、环境window10全志A40ilinux3.10三、正文总共总结了3种方式加载驱动ko文件,编译进入内核的这里不介绍,只说明广义上的手动加载驱动的方式将驱动放入到目标机器中,共有开机自动加载,开机手动加载,和执行某个程序在加载3种1.开机自动加载(飞凌配套源码。全志A40i。)在rcS文件中加入如下#指向开发环境中需要在开发板中原创 2021-11-03 17:16:43 · 971 阅读 · 0 评论 -
A40i使用笔记:qt使用socketcan发送/读取can总线数据(多通道)
一、前言芯片使用mcp2515,使用spi转can的方式,配置好linux中的设备树和驱动文件后,在can一切正常的情况下才能继续下面的工作,前期我这边也就是调试出驱动,总共调试了两路can,第一路用spi1,第二路用spi2,调试第二路有些不顺利是因为spi2默认引脚电平是1.8v,后来重画电路板加了一个电平转换芯片解决问题,从此就可以驱动两路can啦。此贴是我调试2路spi方式二、环境开发环境:window10,ubuntu16.04目标arm环境:A40i,linux3.10,qt5.原创 2021-11-10 01:01:45 · 7621 阅读 · 12 评论