【图文】【linux驱动、imx6ull核心板、FPGA、qt上位机、持续更新中···】打印机项目
苦逼的研究生被导师压榨,连续肝3个项目同时进行,累死我了,咱们要好(fa)好(qi)学(fan)习(kang),天(顺)天(来)向(逆)上(受)。好了不闹了。
2022年5月10日20:26:28
浅谈linux驱动开发到imx6ull上,简单点说ubuntu下tftp通讯搭建好,imx6ull内核编译好,就打开万能的vscode,然后编译,通过tftp发送到核心板,多简(kun)单(nan)。具体看正点原子37linux内核移植,40字符设备开发,62spi驱动实验
spi驱动:CPOL, CPHA两个模式是spi通讯的基础,因为两个clk需要对应,所以通过极性和相位来合拍,所以就是这两参数设置模式的。具体程序参考正点原子的,我只是一个小白闪闪可怜没人爱,技术还菜。
实现的功能:spi不断发送数据。至于代码,抄啊,copy啊。
在驱动汇总写好myspi_write具体的函数
然后驱动和上一层关联
.write = myspi_write, 主函数调用write即可,其余和c语言编程一样static s32 myspi_write(struct icm20608_dev *dev, u8 *buf, u8 len){int ret;unsigned char txdata[len];struct spi_message m;struct spi_transfer *t;struct spi_device *spi = (struct spi_device *)dev->private_data;t = kzalloc(sizeof(struct spi_transfer), GFP_KERNEL); /* 申请内存 */gpio_set_value(dev->cs_gpio, 0); /* 片选拉低 *//* 发送要写入的数据 */t->tx_buf = buf; /* 要写入的数据 */t->len = len; /* 写入的字节数 */spi_message_init(&m); /* 初始化spi_message */spi_message_add_tail(t, &m);/* 将spi_transfer添加到spi_message队列 */ret = spi_sync(spi, &m); /* 同步发送 */kfree(t); /* 释放内存 */gpio_set_value(dev->cs_gpio, 1);/* 片选拉高,释放ICM20608 */return ret;}
//以下是主函数
filename = argv[1];fd = open(filename, O_RDWR);if(fd < 0) {printf("can't open file %s\r\n", filename);return -1;}while (1) {ret = write(fd,databuf,sizeof(databuf));if(ret == 0) { printf("send:ok");}usleep(100000); /*100ms */}
程序弄好以后,改一下makefile的输出xxxxx.o,之后在vscode的控制台中make -j32下就行
2023年7月3日12:36:35
我擦,一年前写的项目,那么一年后又回来继续搞,老板在催了。搞了pcb图
先来欣赏一下布线,看着就舒服
【图文】【linux驱动、imx6ull核心板、FPGA、qt上位机、持续更新中···】打印机项目相关推荐
- 【生物信息学】:基于Linux下的pgap安装及通用教程(持续更新中)
[PGAP:基于Linux下的安装及通用教程] NCBI软件pgap安装及通用教程 1.需要一个Linux操作系统: 2.基于Linux系统安装docker及pgap 3.pgap测试与使用 -- p ...
- qt串口采用队列_基于STM32的RGB调色器——STM32程序和Qt上位机全开源
前言 uFUN开发板1.0版本评测时,基于Qt写了个小上位机,可以通过串口来控制板子上的RGB灯,通过控制,可以混合出任意的颜色,今天整理了一下,开源这个Qt上位机和STM32代码. 项目介绍 基于u ...
- 基于STM32的RGB调色器——STM32程序和Qt上位机全开源
文章目录 前言 项目介绍 uFUN开发板 STM32下位机 Qt上位机 我的评测文章 关于我 前言 uFUN开发板1.0版本评测时,基于Qt写了个小上位机,可以通过串口来控制板子上的RGB灯,通过控制 ...
- QT 篇 QT上位机串口编程
QT 篇 QT上位机串口编程 最近因为项目需要,需要用到上位机,通过串口与上位机进行通讯,来上传和下发一些数据以及控制指令,所以用QT写了一个上位机,并记录下来,免得到时候要用又到处翻资料. QT版本 ...
- FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码
目录 1.前言 2.FT601芯片解读和时序分析 FT601功能和硬件电路 FT601读时序解读 FT601写时序解读 3.我这儿的 FT601 USB3.0通信方案 4.vivado工程1--彩条视 ...
- FPGA驱动FT601实现USB3.0相机HDMI视频采集 提供工程源码和QT上位机源码
目录 1.前言 2.FT601芯片解读和时序分析 FT601功能和硬件电路 FT601读时序解读 FT601写时序解读 3.我这儿的 FT601 USB3.0通信方案 4.详细设计方案 5.vivad ...
- 【iMX6ULL核心板】一款高性能低功耗的IMX6ULL核心板 | 触觉智能NXP IMX6ULL核心板
i.MX6ULL 系列处理器简介 NXP的i.MX 6ULL系列芯片是一款基于ARM Cortex A7内核的低功耗高性能且低成本的应用处理器,下面是imx6ull处理器的内部功能框图: 主要特性如下 ...
- 飞凌嵌入式 RK3399核心板 iMX6ULL核心板 iMX6UL核心板 PX30,RK3368,RK3288,RK3399,i.mx6芯片参数对比分析
飞凌嵌入式 RK3399核心板 iMX6ULL核心板 iMX6UL核心板 https://blog.csdn.net/qq_42792038/article/details/89382711?ops_ ...
- FPGA基于XDMA实现PCIE X4通信方案 提供工程源码和QT上位机程序和技术支持
目录 1.前言 2.我已有的PCIE方案 3.PCIE理论 4.总体设计思路和方案 5.vivado工程详解 6.驱动安装 7.QT上位机软件 8.上板调试验证 9.福利:工程代码的获取 1.前言 P ...
- 基于uFUN开发板的心率计(三)Qt上位机的实现
前言 上两周利用周末的时间,分别写了基于uFUN开发板的心率计(一)DMA方式获取传感器数据和基于uFUN开发板的心率计(二)动态阈值算法获取心率值,介绍了AD采集传感器数据和数据的滤波处理获取心率值 ...
最新文章
- Vue前端-Flask后台跨域访问问题的处理
- mysql数据库主从同步配置教程--数据库同步
- c语言readdir函数功能,C语言readdir()函数:读取目录函数
- 快速查询ABAP transport request lock status
- Drools 6.5.0.Final提供
- Linux gcc编译简介、常用命令
- MySQL二十八规范数据库设计
- 为你解惑之WPF经典9问详解
- Markdown语法 (中文版)
- Codeforces 1082B Vova and Trophies(前缀+后缀)
- SolidKit.ERPs ERP集成接口工具(for SOLIDWORKS PDM)
- 2022版保姆级Idea调试jdk源码
- matlab寻找直线_matlab寻找直线_Matlab 霍夫变换 ( Hough Transform) 直线检测
- nRF52840学习-初识1-1
- docker 阿里镜像加速
- 关于Single Image Super Resolution(单幅影像超分辨率重建任务)Bicubic_LRX4影像生成的‘搬运‘想法
- 青龙面板最新版本2.10.11+(诺兰短信登录)nvjdc详细教程
- ios手机 按钮点击事件没反应(按钮是js生成的)
- npm install 很慢、卡死怎么解决
- virsh 保护命令 virtual protect rebase