- 博客(333)
- 资源 (31)
- 收藏
- 关注
原创 arm+linux平台使用gdb/coredump 分析系统日志
gcc -c -g test.c -o main // 编译时加入debug调试信息。//此处是会导致coredump处。# (gdb) backtrace // 输入backtrace。引用别人一个测试demo: test.c。
2023-03-30 19:22:41
947
原创 常用的加密算法介绍(MD5(及加salt)/SHA/AES/RSA/数字签名)及openssl使用说明
MD5(及加salt)/SHA/AES/RSA/数字签名
2023-03-20 16:24:23
2508
转载 串口通讯到底有没有累积误差?对时钟精度到底有何要求?
基于以上的分析,可以得出结论如下:串口稳定通讯和双方的时钟精度和有关,总误差不能超过±4.16%,对于大部分全温度范围±1%的MCU来说,都能满足基本的通讯需求。串口通讯的累计误差发生在每次数据(也可以简单理解成每个字节,只是字节不严谨,因为有时数据可能是9 bits)发送内部,连续的多次发送之间没有累计误差,因为连续的多个字节发送都会被Start起始信号进行重新同步,也就是说传输1个字节的误差和传输1000个字节的误差基本差不多;
2022-12-21 14:42:52
3558
原创 用kernel FDT的思路来研究u-boot FIT
u-boot FIT image介绍1. 前言Linux kernel在ARM架构中引入device tree(全称是flattened device tree,后续将会以FDT代称)的时候[1],其实怀揣了一个Unify Kernel的梦想----同一个Image,可以支持多个不同的平台。随着新的ARM64架构将FDT列为必选项,并将和体系结构有关的代码剥离之后,这个梦想已经接近实现:在编译linux kernel的时候,不必特意的指定具体的架构和SOC,只需要告诉kernel本次编译需
2021-11-10 17:04:06
2932
转载 使用git命令行将本地仓库代码上传到github或gitlab远程仓库
黃小梦关注0.3452017.07.02 19:15:04字数 446阅读 9,039本地创建了一个 xcode 工程项目,现通过命令行将该项目上传到 github 或者 gitlab 远程仓库,具体操作流程如下:第1步:建立本地 git 仓库,cd 到你的本地项目根目录下,执行 git init 命令cd 本地工程根目录git init //这个目录就变成了git可以管理的仓库第2步:将本地项目工作区的所有文件添加到暂存区。小数点 “.” ,意为添加文件夹下的...
2021-05-28 14:54:51
225
原创 人体测温 melexis迈来芯 linux 平台mlx90614/mlx90621/mlx90641驱动调试
0.iic驱动的实现:由于规格书上说mlx使用smbus接口,本人用硬件i2c驱动来调试时死活不通,没有办法只能改用io,用io来模拟i2c,这种方式很好用。
2021-02-05 11:10:20
3514
原创 ec20两种上网(ppp/gobinet)方式及驱动移植
ec20两种上网(ppp/gobinet)方式及驱动移植说明如下:1. gobinet: drivers/net/usb ====生成网络接口usb0,然后使用quectel-CM进行拨号;移植过程:1.1:添加驱动:1.2:添加拨号应用quectel-CM 守护者进程;[root@rk3399:/opt/ec20]# cat connect_ec20_gobinet.sh#killall quectel-CM pppdif [ ! -e /dev/ttyUSB2 ]; t.
2020-12-11 13:54:44
5070
2
原创 不同接口(RGMII/RJ45)+交换机实现路由转发的三种方法(均验证过可行)
vlan实现交换的三种方法(均验证过可行)方法1. 推荐度最高,但对rgmii走线(等长+抗干扰)要求比较高硬件:cpu 一个RGMII/RMII口(数字口 mac0)交换机一个RGMII/RMII口(数字口 p0)+ p1/p2/p3/p4/p5/p6/p7/p8 RJ45;mac0+p0相接:cpu的eth0划分为eth0.1(vlan1)+eth0.2(vlan2):vlan1: p0(trunk)+p1(wan)vlan2: p0(trunk)+p2/...
2020-12-03 17:26:59
1976
原创 vnc第一讲:windows vnc client(VNC Viewer) 访问ubuntu server(x11vnc)
1. window10上先安装登陆客户端vnc viewer: 下载url:https://www.realvnc.com/en/connect/download/viewer/ 下载并安装,然后打开vnc viewer 2. ubuntu18.04上安装vnc server: 2.1: install vnc server: sudo apt install slick-greeter sudo apt-get update...
2020-12-02 09:37:38
1818
原创 从头开始学习ip工具:第一讲 ip ifconfig使用简单对比
ip做为今后要取代ifconfig的工具,其使用第一眼的感觉是比较复杂繁琐,但正因为这个特点,使用上也更详细,我们开个专题来讲一下这些个区别,将使用中的对比拿出来分享一下:1.查看当前设备网络详情的对比ifconfig[root@rk1808:~]# ifconfigeth0 Link encap:Ethernet HWaddr 00:14:97:2E:A5:5E inet addr:192.168.2.166 Bcast:0.0.0.0 Mask:255.255...
2020-12-01 16:02:57
622
原创 交换机中VLAN的PVID VID FID SID的概念
1.何为vlan?虚拟局域网(VLAN)是bai一组du逻辑上的设备和用户,这些zhi设备和用户dao并不受物理zhuan位置的限制,可以shu根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。不同的广播域之间想要通信,需要通过一个或多个路由器。这样的一个广播域就称为VLAN。对于网络初学者来说,可以将vlan简单
2020-11-27 18:36:26
5288
原创 Linux DSA Net Switch 用户空间应用配置示例(使用ip替代ifconfig)
Configuration with tagging supportThe tagging based configuration is desired and supported by the majority of DSA switches. These switches are capable to tag incoming and outgoing traffic without using a VLAN based configuration.single port# configu
2020-11-26 11:34:54
4104
原创 python SyntaxError: Missing parentheses in call to ‘print‘. Did you mean print(“hello,world!“)
Ubuntu 18.04 +python3.6 编译时有语法错误(SyntaxError):SyntaxError: Missing parentheses in call to 'print'. Did you mean print("hello,world!")原来是环境里默认的python版本是3.6,而编译Makefile里的引用的是phthon2.x版本的语法;可以有以下两种方法解决:1.print 后面的log加括号,如: print hello,world ========&g
2020-11-26 09:22:46
1965
2
原创 friendlyArm NanoPi R2S openwrt(rk3328+openwrt)环境及编译说明
0. 开始的准备: NanoPi R2S 主板一个,ubuntu18.04开发环境一套; 下载friendlyArm NanoPi R2S openwrt sdk;1. 解压sdk: tar -xf friendlywrt-rk3328-20200220.tar2. 由于解压出来的包是一个.repo仓库,需要checkout出来源文件 .repo/repo/repo sync -l3.解压buildroot 相关依赖:dl/feeds cd p...
2020-11-25 20:07:08
4697
原创 DMX512协议个人总结,待验证,欢迎拍砖
以下是我总结出来的(待验证)dmx512协议传输phy为rs485;dmx512 固定bandrate=250Kpbs;1) 先说明地址,包的格式是固定的,第一个数据帧就是地址1(说是0也可以),接下来的数据帧,地址逐渐+1。2) 1 slot 或者叫 1 data frame(数据帧)=1 start bit(低电平) + 9data bits + 1stop bits(高电平) = 11bits, 1bit=4us,1slot=44us。(下图右下角的蓝色字体部分) ...
2020-11-21 18:16:04
1822
1
转载 移植安装ModBus到ARM开发板
1、libmodbus官网2、下载二、交叉编译1、解压2、创建安装目录3、进入解压的目录4、配置编译选项5、编译6、安装7、生成动态链接库三、移植到ARM开发板1、复制文件到ARM开发板四、创建测试程序1、创建测试程序C文件2、复制库中头文件3、交叉编译4、复制可执行文件到开发板五、安装ModbusPoll及ModbusSlave六、测试1、测试准备2、在ARM上运行test程序3、移植成功一、源码下载1、libmo
2020-11-06 14:05:53
3091
原创 Modbus RTU TCP需要注意概念及请求端使用demo
1.主/从角色划分:1.概念①Coil和Register Modbus中定义的两种数据类型。Coil是位(bit)变量;Register是整型(Word,即16-bit)变量。②Slave和Master与Server和Client 同一种设备在不同领域的不同叫法。 Slave: 工业自动化用语;响应请求; Master:工业自动化用语;发送请求; Server:IT用语;响应请求; Client:IT用语;发送请求; 在Modbus中,Slave和Server意思相同,Ma
2020-11-02 20:33:14
2084
原创 iperf简易使用说明--基于linux+buildroot
1.保证两台主机在同一个LAN内,彼此可以ping通对方;host1: 192.168.3.10host2:192.168.3.12.host2一方做server:在host2上启动server:iperf -s &[root@rk3399:/opt]# iperf -s------------------------------------------------------------Server listening on TCP port 5001TCP window
2020-10-27 16:38:25
842
转载 marvell FDB - MAC地址表
英文:Forwarding Database中文:MAC地址表介绍:网络设备都以MAC地址来唯一地标识自己,而交换机要实现设备之间的通讯就必须知道自己的哪个端口连接着哪台设备,因此就需要一张MAC地址与端口号一一对应的表,以便用于在交换机内部实现二层数据转发,这张二层转发表就是FDB表,也叫MAC地址表,主要由MAC地址、VLAN号、端口号和一些标志域等信息组成,如果收到数据帧的目的MAC地址不在FDB地址表中,那么该数据将被发送给除源端口外该数据包所属VLAN中的其他所有端口(进行 Flood...
2020-10-22 16:56:42
610
转载 理解透彻--802.1d,802.1w,802.1s与802.1q
理解透彻--802.1d,802.1w,802.1s与802.1q(2012-09-21 22:20:40)转载▼标签: 科技 根桥 端口 交换机 实例 一.STP:在谈本主题之前,先简单的对STP(802.1d)做个回顾.STP是用于打破层2环路的协议,但这个协议有个最明显的缺点,就是当层2网络重新收敛的时候,至少要等待50秒的时间(转发延迟+老化时间).50秒的时间对于一个......
2020-10-22 16:54:56
954
原创 mdio clause22 clause45以及marvell直接寻址/间接寻址的使用说明--基于mv88e6390 交换机
最新在设计marvell公司的mv88e6390 交换机,在实现其驱动时感觉mdio读写reg时用到了三种读读写时序,现在总结一下,让后来的方便理解和使用;1.直接寻址:基于mdio clause22: 5bit dev addr+5bit reg addr,每个reg16bit;2.间接寻址:分两种:2.1:基于mdio clause22:static int mv88e6xxx_mdio_read_indirect_cls22(struct mv88e6xxx_priv......
2020-10-17 10:51:11
3524
转载 Scons入门简介
Scons是什么make在Linux系统上做过c/c++开发的同学们都知道一个项目工程管理工具:make和Makefile。make 这个工具自上个世纪 70 年代 Stuart Feldman 在贝尔实验室开发出以来,就一直是类 UNIX 程序员的最爱之一。通过检查文件的修改时间,make 工具可以知道编译目标文件所要依赖的其他文件。在复杂的项目中,如果只有少数几个文件修改过,make 工具知道仅仅需要对哪些文件重新编译就可以确保目标程序被正确的编译链接。这样做的好处就是在编译中,不仅可以
2020-10-10 16:40:50
321
1
原创 rockchip RGMII+mv88e6390 管理型交换机功能调试及vlan定制+Mac绑定
1.cpu主控:rk3399;2.交换机芯片marvell mv88e6390(8个电口+2光口);3.rk399通过RGMII与marvell mv88e6390连接,port0做数据转发口,实现带管理路由器功能(port1作WAN,port2-port10做LAN)实现步骤:通过tag based vlan将marvell mv88e6390划分为vlan1(wan)+vlan2(lan);用vconfig实现 vlan网桥;通过iptables 实现wan/lan数据转发..
2020-10-09 18:18:06
5448
10
转载 linux pps驱动实现gps授时
最近在研究GPSD相关信息,查阅到GPSD可以与NTPD相配合实现高精度时间同步功能,因此才涉及到此主题。目前手头用的是Ublox F9P模块,UART输出NEMA数据,另外一个GPIO输出1PPS脉冲首先看一张时序图:1. NEMA中包含有时间信息,一般是秒级别,也有部分带有毫秒2. 1PPS即每秒输出一个脉冲,图中以高电平触发为例(没画下降沿),接收及处理1PPS脉冲的时间也在ns级别3. 因为NEMA是通过串口发送和接收,而且一次NEMA数据量也有KB级别大小,处理时间远比1P
2020-10-09 18:06:13
17230
2
转载 ubuntu环境下使用make config nconfig menuconfig xconfig gconfig的方法及效果图
看U-boot的make文件,在帮助页面发现一片config方法,逐一尝试,看看有什么区别注意,下面使用的make命令中都带有O=/tmp/build表示所有的输出文件都放到/tmp/build目录中,而这个目录是临时目录,关机时将被清空,如果不需要可以删去或者更换目录Configuration targets:config - Update current config utilising a line-oriented programnconfig ...
2020-08-22 09:19:53
2121
原创 ic+ ip175d 5port switch 驱动调试
方案: imx6ul+ip175d ;产品功能:实现4网口路由器(1wan+3lan)和交换机(4Lan)功能;具体实现技术关键点:vlan/lan/wan开发过程:
2020-08-04 15:44:55
2164
1
转载 网卡扫盲一:网卡初步认识
网络适配器又称网卡或网络接口卡(NIC),英文名Network Interface Card.它是使计算机联网的设备.平常所说的网卡就是将PC机和LAN连接的网络适配器.网卡(NIC) 插在计算机主板插槽中,负责将用户要传递的数据转换为网络上其它设备能够识别的格式,通过网络介质传输.数据在计算机总线中传输是并行方式即数据是肩并肩传输的,而在网络的物理缆线中说数据以串行的比特流方式传输的,网卡承担串行数据和并行数据间的转换.网卡在发送数据前要同接收网卡进行对话以确定最大可发送数据的大小,发送的数据量的大...
2020-08-04 15:31:43
1945
转载 网卡扫盲二:Mac与Phy组成原理的简单分析
下图是网口结构简图.网口由CPU、MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中.对于上述的三部分,并不一定都是独立的芯片,根据组合形式,可分为下列几种类型:CPU集成MAC与PHY; CPU集成MAC,PHY采用独立芯片; CPU不集成MAC与PHY,MAC与PHY采用集成芯片;本例中选用方案二做进一步说明,因为CPU总线接口很常见,通常都会做成可以像访问内存一样去访问,没必要拿出来说,而Mac与PHY之...
2020-08-04 15:29:52
559
转载 网卡扫盲三:以太网芯片MAC和PHY的关系
问:如何实现单片以太网微控制器?答:诀窍是将微控制器、以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数、缩小芯片面积.单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下.问:以太网MAC是什么?答:MAC即Media Access Control,即媒体访问控制子层协议.该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质.在发送数据的时候,...
2020-08-04 15:18:53
1173
原创 linux wifi WEXT和NL80211访问接口简介 及imx6ul+realtek rtl8189es 驱动调试
inux无线驱动接口有两种标准接口,wext(WirelessExtensions无线扩展接口)和nl80211接口。
2020-06-09 16:02:33
2924
原创 MII、GMII、RMII、RGMII、SGMII、XGMII
MII:标准接口,“介质无关”表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作,即MII总线是一种将不同类型的PHY与相同网络控制器(MAC)相连接的通用总线。GMII(Gigabit MII):GMII是8bit并行同步收发接口,工作时钟125M,因此传输速率可达1000Mbps,同时兼容MII所规定的10/100Mbps.GMII接口数据结构符合IEEE以太网标准。该接口定义见IEEE 802.3-2000。发送器:◇GTXCLK——吉比特TX..信号
2020-05-09 09:48:38
14555
原创 Atsha204a使用心得
最近公司要用到Atsha204a做软件和硬件的绑定加密,于是就调了它的驱动,将使用过程中遇到的坑整理下,也好让各位同仁少加点班;废话少说,直接入正题。0.加密原理:主控端和Atsha204a端有相同的16组密码,生成一组随机数,主控端用约定的一组密码使用sha256()加密算法生成Hash值(32 byte),同时主控将它用的随机数传给Atsha204a端,用与主控约定的一...
2020-04-28 20:02:19
1845
原创 两个eth,一个作WAN,一个做LAN
前提:linux系统,两个网卡,分别是eth0/eth1,其中eth0做wan口,eth1做lan口;一:wan口配置:(eth0)自动获得ip: udhcpc -i eth0# udhcpc -i eth0udhcpc: started, v1.29.3udhcpc: sending discoverudhcpc: sending select for 192.168.0.89...
2020-04-22 09:16:00
3228
原创 使用buildroot构建imx6ul rootfs心得
目前手动项目上需要自己构建linux rootfs,考虑使用buildroot比较简单,于是着手由此入手,过程中也遇到了不少坑,于是将踩的坑做个笔记,也好记与我一样的人少走些弯路。话不多说,开始入正题:0.下载buildroot:1.配置.config2.配置chanintools3. make4.制作ubifs,并烧录;5.重新配置busybox工具集;...
2020-04-21 20:12:34
980
E:\daily\202310\1026\利用openssl和curl库获取https服务端证书\利用openssl和curl库
2023-10-26
i2c-tools-3.9-android7.1h上可用
2023-06-03
Quectel_Linux&Android_GobiNet_Driver_V1.6.zip
2020-03-20
05 Quectel-CM.zip
2020-03-20
STM32 USB HID开发实例,实现USB双向通信
2012-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人