嵌入式开发
文章平均质量分 91
嵌入式开发
神秘的羔羊
技术拉近你我
展开
-
ELF格式学习
ELF的英文全称是Executable and Linking Format,最初是由UNIX系统实验室开发、发布的ABI(Application Binary Interface)接口的一部分,也是Linux的主要可执行文件格式。原创 2023-01-03 21:56:53 · 990 阅读 · 0 评论 -
Linux驱动开发—— input子系统
我们平时使用的按键、鼠标、键盘、触摸屏等都属于输入(input)设备, Linux 内核专门有一个叫做 input子系统的框架来处理输入事件。输入设备本质上还是字符设备,只是在此基础上套上了 input 框架,用户只需要负责上报输入事件,比如按键值、坐标等信息, input 核心层负责处理这些事件。input输入子系统分为3层:上层(input事件驱动层)、中层(input核心层)、下层(input设备驱动层)原创 2020-04-08 12:30:07 · 543 阅读 · 0 评论 -
AM335X开发——设备树下增加SRAM、FPGA的GPMC设备节点
最近在做嵌入式的开发,调试的是一块搭载了AM3359、AM4379以及Cyclone10三个CPU的板子。三者的通讯主要是通过GPMC总线来实现,数据存储在一块大小为256KB的SRAM中,数据交互则通过Cyclone10这块FPGA上的双口RAM来实现。其中,AM3359这块CPU上运行了linux-rt-4.4.32实时内核。在这里,记录了GPMC调试的一些问题以及基础知识,方便后续的查阅。...原创 2018-07-18 14:53:41 · 7502 阅读 · 10 评论 -
485通信自动收发电路详解
我们先看看普通的收发电路。普通的485电路,除了“用RXD连接485芯片的RO引脚、用TXD连接485芯片的DI引脚”,还会用一个单片机的普通IO引脚连接到RE、DE引脚上。当单片机要发送数据的时候,控制PA8为高电平,数据通过TXD发送出去。当单片机要接收数据的时候,控制PA8为低电平,数据通过RXD接收回来。然而,自动收发电路,就是不用单片机引脚PA8,当数据进来的...原创 2018-07-19 09:27:24 · 86222 阅读 · 25 评论 -
Linux 文件 I/O笔记
一、Linux 的文件 I/O 概述 Linux 把大部分系统资源当作文件呈现给用户,用户只需按照文件 I/O 的方式,就能完成数据的输入输出。Linux 文件,按其代表的具体对象,可分类为:1.普通文件,即一般意义上的文件、磁盘文件;2.设备文件,代表的是系统中一个具体的设备;3.管道文件、FIFO 文件,一种特殊文件,常用于进程间通信;4.套接字(socket)文件,主要用...原创 2018-07-20 20:53:01 · 293 阅读 · 0 评论 -
嵌入式开发——rtc时钟调试笔记
前段时间在调试AM335X的rtc时钟功能,一开始是使用芯片内部的rtc时钟模块,后来发现功耗有点高,转而使用rtc时钟芯片,型号为ds1672.。现在把两者的调试要点记录下来,方便后续的查阅。注:使用的linux内核版本为4.4.32芯片内部RTC:查看官方的说明文档:http://processors.wiki.ti.com/index.php/AM335x_Schematic_C...原创 2018-10-17 09:40:03 · 3338 阅读 · 0 评论 -
嵌入式linux下的触屏模拟
最近博主我接到要求,要对研发的一个产品的触摸屏进行测试,大概内容就是要不断地随机点击触摸屏,来测试软件会不会意外退出(鲁棒性验证)。这里我把开发过程记录下来,方便参考。我们的触摸屏使用的是ads7846这一款触摸屏控制器,找到内核下对应的驱动文件:/drivers/input/touchscreen/ads7846.c。接下来就要开始修改这个驱动了。我的修改思路是这样的:在这个驱动的基础上...原创 2019-04-10 15:15:26 · 1924 阅读 · 0 评论 -
qt5.4显示界面+触摸坐标旋转
我们设计的产品在使用时是需要竖屏显示的,但是我们使用的是一个分辨率为1024*600的横屏LCD。这时候,就需要通过旋转来实现竖屏显示了。我们的系统使用的是QT5.4.1,查阅了相关资料,发现所提及的qt旋转都是基于QT4的,只要在参数后面加 -display "Transformed:Rot90"就可以旋转90度。qt5 opengl有这个功能,但是linuxfb没有这个功能。为此,修改...原创 2019-06-19 16:21:57 · 6702 阅读 · 0 评论 -
AM335X开发—— uboot2016.5 SPL阶段分析
一般的芯片启动流程都是Romcode –> BL1 –> BL2 –> Kernel –> User Image,TI的芯片也不例外,Romcode –> ML0(SPL) –> uboot.img整个boot阶段被分为三部分,第一部分是芯片固化的Romcode,上电自动执行,一般支持flash,sd,uart,usb等启动方式,引导加载spl至片内...原创 2019-07-19 09:53:35 · 1235 阅读 · 0 评论