摘要:1. 应用空间控制gpio 1.1简介 在/sys/class/gpio/下有个export文件,向export文件写入要操作的GPIO号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value等,direction控制GPIO输入或者输出模式,而va
阅读全文
随笔分类 - 嵌入式
嵌入式
摘要:目录 概述 GIPO子系统介绍 示例:通过GPIO子系统控制LED(GPIOA29) 示例:通过GPIO子系统中断读取IO值(GPIOC2) 概述 以前学习了LED和按键驱动,实际上,在Linux中实现这些设备驱动,有一种更为推荐的方法,就是GPIO子系统和Input子系统。GPIO子系统可以控制I
阅读全文
摘要:通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value等,direction控制GPIO方向,而value可控制GPIO输出或获得GPIO输入
阅读全文
摘要:写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 在完成上一篇的 STM32开发之 VS Code + gcc环境编译后,那么就可以根据以下的环境搭建实现下载及在线调试了。 目录 一、软件下载
阅读全文
摘要:写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 在完成上一篇的 STM32开发之 VS Code + gcc环境编译后,那么就可以根据以下的环境搭建实现下载及在线调试了。 目录 一、软件下载
阅读全文
摘要:参考嵌入式gdb+gdbserver调试环境搭建与使用 参考嵌入式VSCode+gdbserver图形化调试环境搭建与使用 参考VS Code + gdbserver 嵌入式arm远程调试 参考step by step 使用gdb调试Linux平台应用程序 一、软件准备 交叉编译软件gcc-lina
阅读全文
摘要:目录标题 引言 环境 步骤 vscode remote ssh 配置 Linux编译机配置 设备板端配置 vscode launch设置 调试 引言 之前说了,通过core dump找程序bug,但是有些时候排查问题的还是不够高效,命令行形式gdb还是太简陋了,在IDE debug代码打断点,查堆栈
阅读全文
摘要:openssl: makefile中搜索-m64选项并删除,共两处1. ./config no-asm shared --prefix=$(pwd)/_install --cross-compile-prefix=arm-none-linux-gnueabi- ./config no-asm no-
阅读全文
摘要:1.gdb和gdbserver调试原理 通过linux虚拟机里的gdb,来向开发板里的gdbserver发送命令,比如设置断点,运行setp等,然后开发板上的gdbserver收到命令后,便会执行应用程序做相应的动作,来实现调试的功能 和之前学的裸板GDB调试 一样,只不过之前学的是在win下的,本
阅读全文
摘要:硬盘录像机(DVR)作为监控系统的核心部件之一,在10年里高速发展,从模拟磁带机的替代品演变成具有自己独特价值的专业监控数字平台,并被市场广泛接受。监控系统伴随DVR这些年的发展向着IP化、智能化发展。 根 据行业用户的需求,DVR由以下几个方向需要被行业关注:1、DVR的编码方式向更高压缩效率的标
阅读全文
摘要:在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域: bit31~bit30 2位为 “区别读写” 区,作用是区分是读取命令还是写入命令。 bit2
阅读全文
摘要:http://wenku.baidu.com/link?url=LIVcT1AQL0IgVF1xan5Zy9rXarCBo66hj7OXSxM1ap7FpssO4c3sd1pZd8azfBPr3PBy8I-QA4Nipeo20ThH4sHh5M4Fr0RlM-fCqrRyZpO
阅读全文
摘要:ARM是英国的芯片设计公司,其最成功的莫过于32位嵌入式CPU核 ARM系列,最常用的是ARM7和ARM9,ARM公司主要提供IP核,就是CPU的内核结构,只包括最核心的部分,并不是完整的处理器. ARM把这个核卖给各大半导体公司,如 Pllips 三星 ,ATMEL 等等,许多公司,甚至Intel
阅读全文
摘要:要想在Linux下读写芯片的I2C寄存器,一般需要在Linux编写一份该芯片的I2C驱动,关于Linux下如何编写I2C驱动,前一篇文章《手把手教你写Linux I2C设备驱动》已经做了初步的介绍,并且留下了两个疑问尚未解决,第一个是如何对Linux提供的I2C操作函数进行进一步封装,实现对芯片寄存
阅读全文
摘要:SPI写寄存器操作: staticvoid mcp251x_write_reg(struct spi_device *spi, uint8_t reg, uint8_t val) { struct mcp251x *chip = dev_get_drvdata(&spi->dev); int ret
阅读全文
摘要:这一问题来自项目中一个实际的需求:我需要在Linux启动之后,确认我指定的芯片寄存器是否与我在uboot的配置一致。 举个例子:寄存器地址:0x20000010负责对DDR2的时序配置,该寄存器是在uboot中设置,现在我想在Linux运行后,读出改寄存器的值,再来检查该寄存器是否与uboot的配置
阅读全文
摘要:参考链接:http://blog.csdn.net/liukang325/article/details/26601811 /dev/mem:物理内存的全镜像。可以用来访问物理内存。由于应用运行都在用户空间,使用的是虚拟内存,不能直接访问物理地址空间,通过/dev/mem文件可以用来访问系统的全部寻
阅读全文
摘要:大多数的内核里面都有会对GPIO的操作,而且内核里面对GPIO进行配置也很方便,要什么功能就配置成什么就可以了。 还有一些寄存器是内核没有配置到的,但是我们要操作怎么办,内核里面也定义了相关的接口函数。 在u-boot中操作某个寄存器: [cpp] view plain copy print? re
阅读全文
摘要:http://wpp9977777.blog.163.com/blog/static/4625100720138495943540/ 串口通讯是电子工程师和嵌入式开发工程师面对的最基本问题,RS232则是其中最简单最常用的通讯方式。但是初学者往往搞不清有关的名词如UART和RS232或RS485之间
阅读全文
摘要:【背景】 之前就听过TTL,一直没搞懂其和RS232的区别。 最近,打算去买个USB转RS232的芯片,结果找到此产品: 六合一多功能USB转UART串口模块CP2102 usb TTL485 232互转自恢复 正面: 背面: 其中的: 以及引脚说明: 都提到了,不仅仅支持RS232,还支持TTL。
阅读全文