嵌入式开发
文章平均质量分 53
就是个linux工程师
淘宝搜索飞灵科技,我司新产品陆续上线。
展开
-
高精度时间同步模块 - 支持外部触发时间戳
一些工业场景的数据采集要求高精度的时间戳,并且不同设备的时间基准也要严格同步。这往往是通用处理器或者嵌入式处理器无法做到的。SyncTimer时间同步模块满足纳秒级高精度时间戳的要求,支持3路外部触发信号,并且可以与时间源锁定保持+/-200ns范围内的时间同步。原创 2024-04-19 09:40:30 · 370 阅读 · 0 评论 -
IRIG-B的编码和实现
IRIG-B码是授时信号的一种,可以通过在一根信号上的编码实现准确的时间信息传递。IRIG的标准文档可以从这里下载。原创 2024-04-05 22:36:24 · 1311 阅读 · 1 评论 -
使用STM32 MCU模拟实现PPS+TOD授时信号
PPS+TOD是授时信号的一种,用来传递准确的时间信息。PPS,Pulse Per Second,是每秒一次的脉冲信号,其上升沿表示整秒的时刻。TOD,Time of Day,是时间信息。是跟随在每个PPS信号后的由串口发出的一句报文,报文内容包含UTC时间。通常在PPS信号后的几百个毫秒内发送完成。原创 2024-03-31 16:48:23 · 2733 阅读 · 0 评论 -
Linux命令行控制小米电源开关
最近有需求通过命令控制局域网内小米电源开关,以便于写脚本对产品进行反复上电的启动测试。参考了这篇文章:https://blog.csdn.net/2301_77209380/article/details/129797846。飞灵科技产品 flyelf-tech.com,flyelf.taobao.com。原创 2023-12-18 17:33:38 · 741 阅读 · 0 评论 -
windows安装wsl ubuntu
电脑是windows10专业版,需要一个ubuntu环境,所以按下面步骤安装了下。飞灵科技产品 flyelf-tech.com,flyelf.taobao.com。原创 2023-12-18 16:48:02 · 889 阅读 · 0 评论 -
PTP同步中的TAI和UTC时间
欢迎淘宝搜索飞灵科技,我司相关新产品陆续上线。PTP主时钟一般采用GNSS卫星授时,然后向网络中的PTP从时钟进行同步。这其中涉及一些时间域的概念:GNSS卫星授时的报文中包含的是UTC时间PTP主时钟使用高精度PTP时钟和网络硬件时间戳,使用的PTP时间域实际上是TAI时间。PTP从时钟如果不支持网络硬件时间戳,而使用系统软件时间戳的话,其使用的是系统时间,也是UTC时间。这种情况下,同步的过程如下图。...原创 2022-02-18 21:31:28 · 5600 阅读 · 8 评论 -
NMEA协议中的RMC和ZDA语句
欢迎淘宝搜索飞灵科技,我司相关新产品陆续上线。GNSS接收机输出的报文遵循NMEA0183协议,从GNSS接收机中获取时间信息,通常是通过RMC语句或ZDA语句。NMEA数据格式RMC语句参数说明ZDA语句...原创 2022-01-23 17:10:31 · 5229 阅读 · 0 评论 -
TSync时钟同步开发板开发指南
欢迎淘宝搜索飞灵科技,我司相关新产品陆续上线。本文介绍在TSync时钟同步开发板上如何进行二次开发。开发板环境硬件环境:处理器i.MX6ULL:ARM Cortex-A7 800MHz内存:512MBeMMC:8GB外设:百兆双网口,USB host,SD,miniUSB串口,GNSS接口,PPS输出,其他扩展信号软件环境:Linux 5.4.3Ubuntu 18.04.5 LTS二次开发指南开发板用户手册见:https://flyelf-tech.gitee.io/d.原创 2021-12-26 13:30:58 · 2395 阅读 · 0 评论 -
linuxptp的接口函数列举
欢迎淘宝搜索飞灵科技,我司相关新产品陆续上线。之前的博文IEEE 1588/802.1AS标准、硬件,Linux软件学习建议中有一段介绍了1588整体的软硬件系统。我搬到这里作为第1章,而这篇文章简单列举下linuxptp软件和内核空间的接口函数。系统框图我们通过一个系统框图对1588软硬件系统进行整体的认识。这个系统框图是基于Linux操作系统的,纯FPGA的1588实现就不介绍了。硬件层:硬件层就是带有1588硬件辅助的网络控制器,由硬件PTP时钟向网络报文提供时间戳,时间戳的捕获是在M.原创 2021-11-03 18:02:08 · 3298 阅读 · 0 评论 -
GNSS模块的PPS和ToD
欢迎淘宝搜索飞灵科技,我司相关新产品陆续上线。GNSS模块使用ATGM332D模组默认波特率是9600,在此波特率下接收到的ToD的信息并非正确,而是和UTC时间有几秒的偏差,PPS和ToD的时序有时也是乱的。将波特率提高到115200,可得到正确的PPS和ToD。在TSync时钟同步开发板上,可以使用如下Linux命令配置ATGM332D的波特率。1. 配置Linux串口参数:波特率9600,8位数据位,1位停止位,无校验位# stty -F /dev/ttymxc1 speed 9600 c.原创 2021-09-04 22:24:30 · 3396 阅读 · 0 评论 -
ubuntu开机启动网络配置 - systemd-networkd或netplan
欢迎淘宝搜索飞灵科技,我司相关新产品陆续上线。手头的开发板有两个网口,网口eth0做IEEE 1588时钟同步,eth1做管理网口。所以期望对这两个网口的开机启动配置是,eth0只要up起来,不用配置IPeth1动态获取IP netplan当前开发板的ubuntu版本是18.04.5 LTS,我们使用netplan配置开机启动的网络配置。在安装netplan之前,因为觉得默认的ubuntu软件源下载速度太慢,所以提前替换成清华的ubuntu软件源。可以参考之前的文章“国内ubuntu软件.原创 2021-03-28 18:10:09 · 10409 阅读 · 0 评论 -
国内ubuntu软件源
为了调高ubuntu软件下载安装的速度,可以将默认的ubuntu软件源修改成国内的ubuntu软件源。清华ubuntu软件源:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/科大ubuntu软件源:https://mirrors.ustc.edu.cn/help/ubuntu.html...原创 2021-03-28 16:32:30 · 338 阅读 · 0 评论 -
Linux下调试1588单步时间戳报文
这几天在为一个网络控制器实现IEEE 1588单步时间戳的驱动,几经调试终于完工了。顺便分享一下调试方法,当然如果你想玩1588的单步时间戳,首先得有支持这个功能的硬件平台。如果对1588报文单步时间戳不了解,可以查看我之前的文章“IEEE 1588 Sync报文单步时间戳”。平台和工具我用的平台就不透露了,测试使用两块板子,网口直连。用到的软件包括,Linux:这是我板子的OS,包含我要验证的驱动。tcpdump:抓包工具,位于板子的文件系统。linuxptp:开源PTP软件,位于板子的文件系原创 2021-03-25 18:15:08 · 3672 阅读 · 0 评论 -
ubuntu linux用户和用户组操作
用户创建和删除sudo useradd <user_name> -m-m: 在/home下创建用户目录sudo userdel <user_name> -r-r: 同时删除/home下的用户目录添加和移出用户组查看用户所在的组groups <user_name>添加用户到用户组sudo usermod -aG <groups_list> <user_name>-a: 追加-G: 组列表,将用户加到这些组中,例如<原创 2021-02-20 16:01:12 · 480 阅读 · 0 评论 -
用ReadtheDocs构建软件技术文档
ReadtheDocs像Linux、U-boot等开源软件,都在使用ReadtheDocs构建专业的软件技术文档。ReadtheDocs提供文档的自动化编译,版本管理以及托管服务。之前自己在ubuntu里尝试构建了一下,现在回忆一下步骤。Ubuntu安装包以root权限安装相关的包。apt install npmnpm install pip3pip3 install sphinxpip3 install sphinx_rtd_theme安装完上面这些包,应该创建文档了。在文档目录do原创 2021-02-04 17:46:13 · 275 阅读 · 0 评论 -
Linux stty设置串口终端行列数
之前在linux命令行输入命令过长时,总是碰到不能自动换行,并且还会覆盖当前行的情况。像下面这样,root@TSync:~#dddd@TSync:~# dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd后来终于通过stty命令解决了。查看行列书,并将列数从80改为160,搞定。root@TSync:~# stty size24 80root@TSync:~# stty cols 160root@TSync:~#原创 2021-01-23 22:16:42 · 1776 阅读 · 1 评论 -
u-boot下mac地址的配置
U-boot源码中的文档doc/README.enetaddr对mac地址的存储有详细的介绍。通常有三种情况:MAC地址存储在EEPROM中U-boot下可以用mac命令用来查看,EEPROM的MAC地址在U-boot启动时会被写入到环境变量。=> help macmac - display and program the system ID and MAC addresses in EEPROMUsage:mac [read|save|id|num|errata|date|ports|原创 2021-01-15 14:23:25 · 2397 阅读 · 0 评论 -
fio测试eMMC性能
注意事项想用fio测出eMMC最好的读写性能要注意以下几点。eMMC性能受限于eMMC芯片本身,所以可从datasheet上查看性能数据作为参考。eMMC的速度模式和始终频率决定传输速度,目前eMMC 5.1最高的速度模式是HS400, 8-bit数据总线,200MHz模式。顺序读写性能相对会高。eMMC厂商可能在eMMC芯片中实现了buffer,比如200MB的buffer。如果传输文件大小小于buffer,那么传输速度是非常快的。但是datasheet可能并不会告诉你它的存在。所以测试时,可原创 2021-01-07 10:58:47 · 5441 阅读 · 0 评论 -
QEMU用户模式ARM仿真 - qemu-arm-static
qemu-arm-static嵌入式开发有时会在ARM设备上使用ubuntu文件系统。开发者常常会面临这样一个问题,想预先交叉编译并安装一些应用程序,但是交叉编译的环境配置以及依赖包的安装十分繁琐,并且容易出错。想直接在目标板上进行编译和安装,但是ARM的资源和处理能力有限,会非常耗费时间。在这里给大家推荐一个ubuntu下好用的工具qemu-arm-static,这是QEMU用户模式下的ARM仿真器。通过qemu-arm-static,我们在x86的ubuntu PC机上,可以模拟ARM处理器,就像运原创 2020-09-14 00:30:41 · 10642 阅读 · 4 评论