- 博客(41)
- 收藏
- 关注
原创 ARM40-A5D27应用程序——CAN总线应用程序示例
ARM40-A5D27应用程序——CAN总线应用程序示例 本文为CAN总线应用程序示例,测试板为ARM40-A5D27. 一、在shell中测试 把can0的TX与CAN1的TX连接,CAN0的RX和CAN1的RX连接,然后:# ifconfig can0 down//配置can0的波特率为250Kbps# ip link set can0 type can bitrate 250000# ifconfig can0 up# ifconfig can1 down//配置can1的波特率
2020-07-06 11:38:02 567
原创 ARM40-A5D27应用程序——串口应用程序示例
ARM40-A5D27应用程序——串口应用程序示例 本文为串口应用程序示例,测试板为ARM40-A5D27. 一、在shell中测试 将串口 ttyS5 的TX、RX脚短接,然后:cat /dev/ttyS5 &echo 123abc > /dev/ttyS5 //可以看到ttyS5返回123abc二、 C代码 文件名为 test_uart.c,代码见本文附录(1)。三、交叉编译arm-linux-gnueabihf-gcc -o test_uart test_uart
2020-07-06 10:56:26 364
原创 ARM40-A5D27应用程序——脉冲计数
ARM40-A527应用程序——脉冲计数2020.4.16 在工业控制中,经常需要获取脉冲信号计数值、频率、周期等参数。本文为实现外部输入脉冲信号的计数、频率、周期测量的实例。 主要功能: 读取1s时间内的外部输入脉冲信号计数值,通过/proc/flowmeter可以查看结果。一、脉冲计数 (1)C语言源码 文件包含 flow_meter.c,Makefile,代码见附录(1)。 (2)交叉编译make (3)执行程序与测试 将交叉编译得到的flowmeter.ko文件拷贝到ARM
2020-06-11 09:53:52 793
原创 ARM40-A5D27应用程序——SPI的用户态驱动(3)
ARM40-A527应用程序——SPI的用户态驱动(3)2020.4.16 SPI的用户态驱动有两种方式,read/write 或者 ioctl(). read/write方式在同一时间只能read或write。如果要同时read和write,则需要用ioctl(Input Output Control). 本文是一个ioctl的例子,操作AD7193,仅用于测试AD7193寄存器,不用于功能/性能测试。一、例1 (1)SPI应用程序的C语言源码 文件包含 AD7193.h, AD7193.
2020-06-03 18:32:04 979 1
原创 ARM40-A5D27应用程序——SPI的用户态驱动(2)
ARM40-A527应用程序——SPI的用户态驱动(2)2020.4.16 SPI的用户态驱动有两种方式,read/write 或者 ioctl(). read/write方式在同一时间只能read或write。如果要同时read和write,则需要用ioctl(Input Output Control). 本文是一个ioctl的例子。一、例1 (1)SPI应用程序的C语言源码 文件名为 test_ad7193_mode.c,代码见附录(1)。 (2)交叉编译arm-none-linux
2020-06-01 19:02:50 369
原创 ARM40-A5D27应用程序——SPI的用户态驱动(1)
SPI的用户态驱动(1)2020.4.16 SPI的用户态驱动有两种方式,read/write 或者 ioctl(). read/write方式在同一时间只能read或write。如果要同时read和write,则需要用ioctl(Input Output Control). 本文是一个 read/write的例子。一、例1 (1)SPI应用程序的C语言源码 文件名为 test_s...
2020-04-16 21:56:58 390
原创 ARM40-A5D27应用程序——GPIO输出
ARM40-A527应用程序——GPIO输出 Linux内核4.8版本后,提供了新的GPIO字符驱动接口。本文测试板为ARM40-A5D27. 一. 设置GPIO的值 文件名为 test_gpio_output.c,代码见本文附录(1)。 测试DO1~DI10等10个gpio的状态。二、交叉编译arm-linux-gnueabihf-gcc -o test_gpio_output t...
2020-04-14 00:18:45 676
原创 ARM40-A5D27应用程序——GPIO输入
@[TOC]ARM40-A5应用程序——GPIO输入ARM40-A527应用程序——GPIO输入 Linux内核4.8版本后,提供了新的GPIO字符驱动接口。本文测试板为ARM40-A5D27. 一. 获取GPIO的值 文件名为 test_gpio_input.c,代码见本文附录(1)。 测试DI1~DI12等12个gpio的状态。二、交叉编译arm-linux-gnueabihf...
2020-04-13 23:54:42 471
原创 ARM40-A5应用程序——key
ARM40-A5应用程序——key2019.3.8版权声明:本文为博主原创文章,允许转载。 Linux输入设备总类繁杂,常见的包括有按键、键盘、触摸屏、鼠标、摇杆等等,他们本身就是字符设备,而Linux内核将这些设备的共同性抽象出来,简化驱动开发建立了一个input子系统。 本文结合ARM40-A5介绍其中的gpio key,即GPIO按键。一、gpio key电路 下图是ARM...
2019-03-08 22:56:43 1040
原创 ARM40-A5应用——spidev
ARM40-A5应用——spidev2019.3.2版权声明:本文为博主原创文章,允许转载。 SPI是"Serial Peripheral Interface" 的缩写,是一种四线制的同步串行通信接口,用来连接微控制器、传感器、存储设备等。SPI设备分为主设备和从设备两种,在大多数情况下,CPU或SOC一侧通常都是工作在主设备模式,目前的Linux内核版本中,只实现了主模式的驱动框架。 ...
2019-03-02 22:57:10 925
原创 ARM40-A5应用程序——ledlike
ARM40-A5应用程序——ledlike2019.3.2版权声明:本文为博主原创文章,允许转载。 Linux系统将控制LED灯的这部分功能整合起来,设计成了一个标准的LED子系统,对LED子系统的操作在shell环境中就能完成。 由于蜂鸣器、继电器、用作输出的gpio、看门狗喂狗信号等都类似于LED,因此我们将此类设备称为ledlike。 我们结合ARM40-A5看一下操作led...
2019-03-02 11:41:52 397
原创 ARM40-A5应用——采用TCP协议的C/S架构示例(2)
采用TCP协议的C/S架构示例(2)2018.12.18 本文是一个TCP通讯的示例,分为服务器和客户端两部分。 服务器端47.98.140.167创建套接字socket,并与端口11014绑定; 然后使套接字处于监听listen状态,调用accept等待来自客户端的连接请求; 收到客户端的连接请求后与客户端建立连接; 最后接收客户端发来的消息并打印出来。 客户端创建套...
2018-12-18 20:43:01 237
原创 ARM40-A5应用——采用TCP协议的C/S架构示例(1)
采用TCP协议的C/S架构示例(1)2018.12.18 本文是一个TCP通讯的示例,分为服务器和客户端两部分。 服务器端47.98.140.167创建套接字socket,并与端口11014绑定; 然后使套接字处于监听listen状态,调用accept等待来自客户端的连接请求; 收到客户端的连接请求后与客户端建立连接; 最后接收客户端发来的消息并打印出来。 客户端创建套接...
2018-12-18 20:31:23 287
原创 ARM40-A5指南——串口测试
ARM40A5指南——串口测试2018.12.15版权声明:本文为博主原创文章,允许转载。一、ARM40-A5的串口在ARM40-A5板卡串口使用2mm间距8pin简牛接口,引脚定义,见表1。图1表1二、进入shell调试串行接口进入shell,可调试串行接口。例如:将J65_pin1与J65_pin2连接,在shell中测试/dev/ttyS5的字符自收。cat /dev...
2018-12-15 15:45:45 688
原创 ARM40-A5应用——探测holer服务的状态
ARM40-A5应用——探测holer服务的状态2018.11.24版权声明:本文为博主原创文章,允许转载。 holer 是一个内网穿透工具,基于holer,可以通过ssh,连接处于内网的ARM40设备。 当有大量设备运行时,需要掌握 holer 服务的运行状态。一、探测holer服务状态 共包含3个文件:holer.list holer_online_check.sh s...
2018-11-24 11:30:49 511 1
原创 ARM40-A5应用——ARM40网络应用场景3
ARM40-A5应用——ARM40网络应用场景32018.9.15 本文接《ARM40-A5应用——ARM40网络应用场景2》。八、应用场景5——双有线+无线自动切换 有线eth0、有线eth1、无线ppp0三者之间自动切换,流程详见代码和图示。 建立 /etc/network/if-auto-switch.sh 文件: touch /etc/network/if-auto-s...
2018-11-22 10:52:08 376 1
原创 ARM40-A5应用程序——CAN总线的发送和接收
ARM40-A5应用程序——CAN总线的发送和接收版权声明:本文为博主原创文章,允许转载。 ARM40-A5系列板卡共有2路隔离CAN总线,CAN总线的引脚定义见《ARM40-A5指南——CAN总线接口与测试》。一、shell中CAN总线的接收与发送1.1、硬件接线与配置 将CAN0的TX与CAN1的TX通过100R电阻连接,CAN0的RX和CAN1的RX通过100R电阻连...
2018-11-13 13:29:23 681
原创 ARM40-A5应用——W1LED的使用说明
ARM40-A5应用——W1LED的使用说明2018.11.7 ARM40的一些产品上需要用到较多的LED指示灯,此时推荐使用W1LED来实现。 ARM40主机监测GPIO、串口(RS232和RS485)、CAN等外设的输入/输出状态,定期(例如每100ms)给W1LED指示灯板发送数据,控制LED指示灯的亮/灭。 W1LED指示灯板上有一颗MCU,接收ARM40主机发来的数据,根据...
2018-11-08 11:53:33 549
原创 ARM40-A5应用程序——温度传感器DS18B20的驱动与应用
ARM40-A5应用程序——温度传感器DS18B20的驱动与应用2018.10.31 DS18B20是常用的温度传感器,具有体积小,GPIO占用少,抗干扰能力强,精度高的特点。工作电压3.0~5.5VDC,静态功耗<3uA,测温范围 -55℃~+125℃。 DS18B20的驱动是GPIO驱动的一个很好的示例。一、DS18B20驱动1.1、驱动源码 见附(1)。主要封装了如...
2018-10-31 16:53:41 457
原创 ARM40-A5指南——CAN总线接口与测试
ARM40-A5指南——CAN总线接口与测试2018.10.20 版权声明:本文为博主原创文章,允许转载。 ARM40-A5系列板卡共有2路隔离CAN总线,可通过CAN总线转串口(USB串口)模块与PC连接通讯。一、ARM40-A5的CAN总线接口 ARM40-A5板卡隔离CAN总线接口使用2mm间距8pin简牛接口,见图1的J62。引脚定义见表1。 图1...
2018-10-31 10:09:55 1312
原创 ARM40-A5应用——ARM40文件的拓荒部署示例(ARM40-reclaim-OTA)
ARM40应用——出厂配置文件的自动化部署2018.9.17 ARM40设备出厂时,需要安装一些出厂文件,本文给出一个出厂文件的自动化部署示例。一、出厂文件自动化部署的步骤1.1、准备服务器端文件 (1)将需要拷贝到ARM40的文件存放服务器上的如下两个目录/home/ritserver/ARM40-A5-projects/noise_rdace/APP_20180917/rdac...
2018-10-11 10:55:02 401
原创 ARM40-A5应用——与网络时间的同步3(发行版方式)
ARM40-A5应用——与网络时间的同步3(发行版方式)2018.10.7版权声明:本文为博主原创文章,允许转载。 本文介绍大部分发行版使用的时间设置方式,即 方式B(发行版方式、Windows方式,大部分发行版使用这种方式):硬件时钟为CST,系统时钟也为CST 开机: RTC --> CST(将硬件时钟看成是CST时间) 更新时间: CST --存储到–&
2018-10-08 16:40:03 299
原创 ARM40-A5应用——与网络时间的同步2(内核默认方式)
ARM40-A5应用——与网络时间的同步2(内核默认方式)2018.10.7版权声明:本文为博主原创文章,允许转载。 本文介绍Linux内核默认的时间设置方式,即 方式A(内核方式,Linux内核默认的方式): 硬件时钟为UTC(世界标准时间,协调世界时),系统时钟为CST 开机: RTC --> UTC(RTC中存放UTC时间)–> 读取时区 --&
2018-10-08 16:26:02 487
原创 ARM40-A5应用——ARM40文件的半自动远程更新示例(ARM40-semiauto-OTA)
ARM40-A5应用——ARM40文件的半自动远程更新(ARM40-SEMIAUTO-OTA)2018.9.21 在应用程序升级以后,希望ARM40能够远程从服务器下载并安装新版本的应用程序。 本文提供一种手动远程更新应用程序的参考方法。一、半自动远程更新的步骤1.1、准备服务器端文件 服务器端涉及到的目录和文件如下:/home/ARM40-A5/ARM40-A5-projec...
2018-09-22 10:06:38 609
原创 ARM40-A5指南——液晶屏触摸屏接口与测试
ARM40-A5指南——液晶屏触摸屏接口与测试2018.9.14 版权声明:本文为博主原创文章,允许转载。 ARM40系列板卡液晶屏接口使用2mm间距20pin简牛接口,通过连接不同型号TCON板,能适配市面上大部分主流液晶屏。ARM40-A5板卡采用单独背光方案,将LVDS信号与背光信号分开接线,大大减弱了信号间的干扰。触摸屏使用四线制电阻屏,价格较低,使用方便,适合用于工业领域。...
2018-09-17 14:21:01 1982
原创 ARM40-A5应用——ARM40网络应用场景1
ARM40应用——ARM40联网的几种应用场景配置示例2018.9.15 ARM40主机可以使用eth0、eth1、4G/3G、GPRS、wifi等多种形式上网,本文介绍了三种场景下的配置示例,分别是: 2.1、应用场景一:使用ppp0连接公网,eth1用于调试,不使用eth0 2.2、应用场景二:使用eth0连接公网,eth1用于调试,不使用ppp0 2.3、应用场景...
2018-09-17 12:59:21 601 1
原创 ARM40-A5应用——ARM40网络应用场景2
ARM40应用——RDACE的一种默认出厂配置2018.9.15一、网络配置 RDACE共使用3个网络:eth0、eth1、ppp0,其默认配置与用途分别为: eth0 192.168.0.250 业务 将RDACE的数据传送到服务器 eth1 192.168.6.6 调试 使用网络与PC机连接,用 telnet 登陆 ppp0 移动分配IP ...
2018-09-14 14:32:39 450
原创 ARM40-A5指南——GPRS模块的ppp模式
ARM40-A5应用——GPRS模块的ppp模式2018.8.31 版权声明:本文为博主原创文章,允许转载。 GPRS模块有两种工作模式:ppp模式和串口透传模式,串口透传模式见《ARM40-A5应用——GPRS模块的串口透传模式》。一、GPRS模块简介 RITGPRS22BP型GPRS模块(以下简称GPRS模块),是一款工业级的四频段 GSM/GPRS无线模块。具有2...
2018-08-31 17:18:44 750 2
原创 ARM40-A5应用——ARM40文件的自动远程更新(ARM40-auto-OTA)
ARM40-A5应用——从服务器更新ARM40上的APP应用程序(ARM40-APP-OTA)2018.8.15 ARM40部署提要: (1)根据第5节建立各个文件; (2)按3.5节测试; 在应用程序升级以后,希望ARM40能够自动远程从服务器下载并安装新版本的应用程序。 本文提供一种远程更新应用程序的方法,并采用知行合一的方式,边讲解,边实...
2018-08-26 13:07:14 732
原创 ARM40-A5应用——与网络时间的同步1(概述)
ARM40-A5应用——与网络时间的同步2018.6.28 版权声明:本文为博主原创文章,允许转载。 ARM40部署提要: (1)根据7.1节(1)(2)(3)(4)(5)的步骤建立各个文件; (2)按7.3节测试; 本文介绍ARM40-A5本地系统时间与网络时间同步的方法,共介绍了三种方式: ntpdate、ntpd、rdate。 内容较多,读者可跳至第七节...
2018-08-22 11:16:25 1316
原创 ARM40-A5应用——使用rsync与Linux服务器的远程数据同步
ARM40-A5应用——使用rsync与Linux服务器的远程数据同步 2018.7.5版权声明:本文为博主原创文章,允许转载。 本文介绍ARM40-A5与阿里云Linux服务器的远程数据同步方法。 在有线网络,4G网络,GPRS(ppp)网络的情况下都可使用。一、rsync 简介 与复制命令 cp 一样,rsync 也把文件从源复制到目标。但是,与 cp 不同,rsync ...
2018-08-21 11:28:11 986
原创 ARM40-A5应用——使用holer访问内网的ARM40
ARM40-A5应用——使用holer访问内网的ARM40 2018.8.13 对于使用4G、3G、GPRS连接互联网的ARM40设备来说,移动运营商(例如中国移动公司)分配的IP地址为内网IP,访问公网IP时,先是要通过NAT,经过这一层的转换后,内网IP会被换成NAT的公网IP,并分配一个临时的端口。这能解决IP地址日益匮乏的问题,因为NAT的存在,可以使多台设备共用一个公网IP地址。...
2018-08-21 11:00:41 1067
原创 ARM40-A5应用——GPRS模块ppp拨号上网
ARM40-A5应用——GPRS模块ppp拨号上网 2018.6.17版权声明:本文为博主原创文章,允许转载。一、GPRS模块简介 RIT-GPRS-22BP型GPRS模块(以下简称GPRS模块),是一款工业级的四频段GSM/GPRS无线模块。具有2路RS232串口,实现串口数据与GPRS网络双向透明传输,设置简单,传输稳定。 也可工作于ppp模式,实现ARM40-A5的拨号上网。...
2018-08-21 10:24:28 1749
原创 ARM40-A5应用——Shell脚本实现进程自动拉起
ARM40-A5应用——Shell脚本实现进程自动拉起2018.6.11 版权声明:本文为博主原创文章,允许转载。 在Linux上许多程序是无法保证绝对稳定的,但必须要确保程序在出现小概率错误或者未知崩溃退出后,可以重新运行起来。本文介绍一种基于shell脚本的后台进程来解决这种问题。 一、普通程序自动拉起 后台进程脚本process-watch...
2018-07-06 13:09:41 1197
原创 ARM40-A5应用——fbset与液晶屏参数的适配
ARM40-A5应用——fbset与液晶屏参数的适配2018.6.18版权声明:本文为博主原创文章,允许转载。在ARM板卡上使用某个型号的LCD,往往要修改LCD驱动程序或者设备树,很不方便。在ARM40-A5中,我们把常用的LCD型号的配置指令存放在 /etc/init.d/S01user1lcd 文件中,通过修改该文件,即可非常方便的适配不...
2018-07-03 14:32:31 2899
原创 ARM40-A5指南——上电进shell与debug串口调试
ARM40-A5指南——上电进shell与debug串口调试2018.6.22版权声明:本文为博主原创文章,允许转载。 ARM40系列板卡致力于降低嵌入式产品的研发难度、研发风险、研发费用、人力投入和研发周期,并着力提高产品的稳定性、易用性,大大降低用户的设计门槛;为各行各业提供专业化、标准化的软硬件开发平台,从而使产品能够“快速研发,快速上市” ARM40系列...
2018-07-03 14:25:12 569
原创 ARM40-A5应用程序——液晶屏触摸屏测试程序
ARM40-A5应用程序——液晶屏触摸屏测试程序2018.02.03版权声明:本文为博主原创文章,允许转载。 一、在 shell 中的简单测试 (1) cat /dev/urandom > /dev/fb0 // 显示雪花屏 (2) cat /dev/zero > /dev/fb0 ...
2018-02-03 11:16:58 1325 1
原创 ARM40-A5应用程序——SPI应用程序(AD7689)
ARM40-A5应用程序——SPI应用程序(AD7689)2017.9.15版权声明:本文为博主原创文章,允许转载。一、SPI应用程序的C语言源码 文件名为 test_ad7689.c,代码见本文的最后。二、交叉编译 arm-none-linux-gnueabi-gcc -o test_ad7689 test_ad7689.c -stat...
2017-09-15 10:53:36 4558 1
原创 ARM40-A5应用程序——ARM40上使用sqlite3的demo
ARM40-A5应用程序——ARM40上使用sqlite3的demo2017.4.11目录1、下载 SQLite3源码2、复制并解压源码包3、配置编译选项4、编译5、去除调试信息6、复制文件到ARM407、在ARM40上运行测试sqlite38、在ubuntu上编译demo9、在ARM40上运行demoSQLite 是一款轻型的数据库,是遵守ACID的关联式数据库管理系统...
2017-04-12 08:49:32 746
原创 ARM40-A5应用程序——GPIO输出高低电平
ARM40-A5应用程序——GPIO输出高低电平2017.03.19 一、在 shell 中控制一个IO的高低电平 (1) echo 138 > /sys/class/gpio/export // 138对应的是E10,输入这个命令后,即出现/sys/class/gpio/pioE10 (2) echo...
2017-03-19 14:26:10 2143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人