自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 收藏
  • 关注

原创 Modbus RTU协议与Modbus TCP协议的区别

Modbus RTU协议与Modbus TCP协议的区别

2023-08-14 10:28:10 4771

原创 嵌入式常用宏定义分析

这段代码定义了一个宏,用于向给定地址addr处写入一个字节数据reg。该宏的作用是将给定的地址addr转换为类型的指针,然后将字节数据reg转换为类型,并将其写入该地址处。需要注意的是,volatile关键字用于告诉编译器该地址处的数据可能会被外部因素改变,因此在写入数据时应该直接写入内存,而不是使用缓存的值。这对于向外设寄存器等需要实时更新的数据进行写入非常重要。此宏可以用于向特定地址写入一个字节的数据。例如,将向地址0x12345678写入字节数据0x55。这段代码定义了一个宏。

2023-07-27 10:15:45 299

原创 ether_crc_le()函数解析

ether_crc_le()函数解析

2023-07-25 21:44:34 423

原创 win10修改IP地址报错:出现一个意外情况,不能完成所有你在......

win10修改网卡适配器IP地址不能正常修改问题解决方案

2023-06-27 10:43:17 5272 6

原创 使用shell脚本控制gpio输出高低电平

shell脚本控制gpio点灯

2023-04-14 18:36:15 520

原创 Linux uart应用程序

Linuxuart应用程序

2023-03-21 18:35:17 585 2

原创 Linux应用程序通过 tcp/udp实现文件传输

tcp/udp传输文件参数说明sin_family主要用于定义是地址族sin_port主要用来保存端口号sin_addr主要用来保存IP地址信息sin_zero是为了让sockaddr与sockaddr_in两个数据结构保持大小相同而保留的空字节。用来将sockaddr_in结构填充到与struct s

2023-03-21 18:11:48 1229

原创 I2C总线应用测试程序

I2c总线测试程序

2023-02-17 17:11:58 1999 1

原创 socket网络编程-socket()、bind()、setsockopt()、recvfrom()、sendto()函数

socket网络编程

2022-10-27 14:56:02 1215

原创 C++应程序实现修改设备IP地址、MAC、设备ID功能

客户端通过广播发送信息,模组端应用程序获取广播信息,解析信息修改相应配置文件

2022-10-27 13:59:06 2121

原创 ubuntu18.04系统部署Rsyslog服务器

ubuntu18.04部署Rsyslog服务器

2022-09-22 18:21:09 2160

原创 Github常用搜索指令

github常用搜索命令

2022-08-19 15:42:23 990

原创 随笔-北漂之旅启程

北漂之旅

2022-08-14 21:48:57 272

原创 随笔-人生第一份工作离职了

离职记录

2022-08-13 00:09:49 261 2

原创 Linux系统之phy芯片问题排查记录

ls1028调试YT8521phy芯片问题记录

2022-07-11 18:42:57 12694

原创 LS1046nfs挂载文件系统

nfs挂载文件系统

2022-06-24 15:40:03 476

原创 LS1028weston桌面显示相关小例子

屏幕旋转、关闭桌面显示、去掉虚拟小键盘、命令行显示中文开机启用服务去掉虚拟小键盘在/etc/xdg/weston/weston.ini配置文

2022-06-09 15:39:11 1297 2

原创 systemd服务创建服务demo

通过systemd创建服务实现启机喂狗操作

2022-06-08 18:07:08 766

原创 git命令的使用及git仓库的创建

.gitignore文件配置常用git命令

2022-06-06 17:57:00 292

原创 ubuntu18.04虚拟机使用过程中存储空间爆满问题(.cache)

虚拟机空间不足问题记录

2022-06-02 10:23:14 2565 6

原创 LS1028 weston桌面weston-screenshooter截图方法

vim /lib/systemd/system/weston.service//修改如下所示:ExecStart=/usr/bin/weston --debug --log=${XDG_RUNTIME_DIR}/weston.log $OPTARGS保存退出,执行以下指令,生成图片之后用U盘拷贝出来在PC上查看root@forlinx:~#systemctl daemon-reloadroot@forlinx:~# systemctl restart weston.serviceroot@f

2022-05-26 17:58:19 2178

原创 LS1028修改调试串口

OK1028A-C 平台底板原理图中标示引出的UART1、UART2 共 2 路串口,其中 UART1 为调试串口,在开发板中的默认设备名称分别为 ttyS0、ttyS1,实现目的:将调试串口修改为uart21.Uboot部分修改修改console的环境变量源码路径:OK1028-linux-fs/packages/firmware/u-boot/include/configs/ls1028a_common.h修改完成后单独编译firmware,编译完成后替换原厂镜像中的同名镜像进行烧写EM

2022-05-26 17:52:41 352 2

原创 虚拟机设置桥接模式

在使用TFTP,SFTP等服务器时则需要设置虚拟机的网络连接方式为桥接方式。VMware虚拟网卡设置为桥接模式时,主机网卡和虚拟机网卡通过虚拟网桥进行通信,需要将Ubuntu的IP与主机IP设置在同一个网段。编辑->虚拟网络编辑器选择桥接模式,点击确定打开虚拟机->设置->网络适配器,选择桥接模式,点击确定。打开设置->Network设置,配置静态IP...

2022-05-19 14:29:50 16657 4

原创 LS1028使用SPI1软件方案

前景介绍LS1028原生有三路SPI,SPI2用在了核心板,底板用了两路,一路用作了SPI3,另外一路SPI1用作了TF卡的引脚,用于烧写系统。需要注意的是若将这一组引脚复用为SPI1的话,就没办法用TF卡进行烧写了。修改RCWRCW路径:OK1028-linux-fs/packages/firmware/rcw/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.rcwSDHC1_BASE_PMUX=2修改设备树dtsi设备树路径:OK1028-linux-

2022-05-18 16:31:29 551

原创 LS1028使用原生RGMII软件修改方案

LS1028的网络拓扑结构forlinx的开发板目前只做了五路网口,原生的RGMII并没有配置出来,默认将相关引脚功能用作了音频信号,若将该引脚功能用作了RGMII,音频功能就不能使用了。本人主要介绍软件上的修改,对于硬件原理部分是有硬件工程师设计的,在此不做概述。原有引脚用作音频信号,如下所示:RGMII网口需要用到的引脚第一列代表RCW字段;第二列表示RCW字段的值;第三列表示引脚功能。软件配置第一步修改RCWRCW路径:OK1028-linux-fs/packages/firmwa

2022-05-13 11:55:24 812

原创 经典指针程序

*p 表示以p的内容为地址的变量指针就是地址,地址就是指针地址是内存单元的编号。指针变量是存放地址的变量指针的本质就是一个操作受限的非负整数。* 的含义1.乘法;2.定义指针变量 int *p; //定义一个名字叫p的变量,int * 表示p只能存放int 变量的地址 3.指针运算符 该运算符放在已经定义好的指针变量的前面,如果p是一个已经定义好的指针变量,则 *p表示以p的内容为地址的变量经典指针程序_互换两个数字#include<stdio.h>#in

2022-05-02 23:44:42 228

原创 LS1028GPIO初始化为高电平&添加按键

LS1028 GPIO初始化为高电平1. 修改RCW以将GPIO3_DAT14初始化为高电平为例,默认是将用作SPI3_SCK,需要将其先复用为GPIO修改RCW:firmware/rcw/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.rcwSPI3_PMUX=12. uboot初始化在uboot源码中进行初始化修改位置:packages/firmware/OK1028-linux-uboot/board/freescale/ls1028a/ls1028a

2022-04-24 14:11:02 2186

原创 Ls1028 LPUART配置

问题背景LS1028原生支持两路uart和六路lpuart,OK1028A-C底板上只用了两路uart,客户在实际的应用中发现串口太少,就想使用lpuart串口。分析思路在原厂资料的《LSDKUG_Rev20.4.pdf》有关于LPUART的配置说明,参照里面的说明进行配置1.需要在uboot中配置以下编译选项配置文件路径packages/firmware/u-boot/configs/ls1028ardb_tfa_defconfig,添加:CONFIG_LPUART=yCONFIG_FS

2022-04-24 12:10:27 2200 3

原创 使用systemd创建开机自启服务

测试说明本文主旨通过使用 systemd 方式创建服务的方式来实现开机自动修改MAC地址的目的,使用命令行修改MAC地址再开机时,配置信息会丢失,以下方法用于设置后保存到系统,再次开机时依然生效。测试环境开发板:OK1028A-C创建MAC开机自启服务1、创建脚本文件root@forlinx:~#touch MAC.shroot@forlinx:~#vi MAC.sh /*文件内容如下:*/#!/bin/shifconfig swp0 hw ether c2:b6:98:52:c9:c

2022-04-14 10:11:05 1461

原创 LS1028适配单八路LVDS屏幕

LS1028适配单八路LVDS屏幕查看屏体手册1、屏体手册参数该屏幕的时钟频率范围为50Mhz-80Mhz;屏幕分辨为1024x7682、数据格式该屏幕是支持单六路和单八路两种模式,当SEL68为low时为单六路模式,当SEL68位High时为单八路模式;该lvds屏幕的数据格式是VESA模式的;OK1028A-C芯片原生DP信号由LT7211转为LVDS信号,目前的固件配置是单port,8位,VESA格式。硬件改动1028的背光引脚电平是1.8V的,而屏幕的pwm是3.3V的,电平不匹

2022-04-12 18:00:11 1433

原创 LS1028修改SATARX/Tx_N/P引脚的极性

问题引入硬件设计失误,导致SATA的TX/RX画反了,即SD1_TX3_P、SD1_TX3_N和SD1_RX3_P,SD1_RX3_N画反了LS1028关于SATA的TX/RX_N/P引脚硬件接反,问题解决LS1028的LNDGCR1寄存器支持引脚极性翻转,通过修改SATA serdes寄存器General Control Register 1 - Lane D (LNDGCR1) 配置实现SD1_RX3_N/P与SD1_TX3_N/P极性翻转;在RCW中通过对其寄存器配置来实现,RCW路径:pa

2022-04-11 16:48:44 854

原创 LS1046修改寄存器翻转SATA引脚的N/P极性

硬件原理OK1046A_C2 原理图上接线实际是PCIE接口的接线,SD2_RX3_N接PERN0,SD2_RX3_P接PERP0,软件上通过控制SATA serdes的寄存器进行了极性翻转,从而实现了mSATA的功能,这样设计的初衷是为了兼容性考虑,同时利用了软件可以控制极性翻转的特点。实际的mSATA接线应该是SD2_RX3_N接PERP0,SD2_RX3_P接PERN0软件方案OK1046A_C2 Serdes2方案用的5A59,如下所示:代码解析在RCW中修改寄存器的值,RCW路径:

2022-04-11 15:52:57 1158 2

原创 LS1012保留单网口

LS1012A集成了一个硬件包转发引擎(Packet Forwarding Engine (PFE)),提供高性能以太网接口。OK1012A开发板上有两个网口,如果想在LS1012A设置一个PFE以太网端口,只修改设备树pfe节点不会生效,因为两个PFE以太网端口之间存在一定的相互依赖关系,只设置一个网口,内核会打印phy连接失败的信息,无法进行网络通信。这种问题,NXP网络社区可以找到解决方案:https://community.nxp.com/docs/DOC-335484需要同时修改pfe驱动和设备

2022-03-29 16:44:04 1366

原创 LS1028将应用程序放到根文件系统里,生成批量镜像

文章目的:在实际的项目中 需要将应用程序放到源码中重新生成镜像,可以在源码中直接修改再全编译;此次分享一个比较方便的办法,可以通过simg2img命令把ubuntu.img变成可以挂载的img文件,然后通过mount命令挂载,就可以对镜像进行更改了,修改完成之后,再通过img2simg命令把ubuntu_raw.img变回之前的格式就可以了,然后替换镜像烧写操作LS1028编译生成的文件系统镜像路径位于:/build/images目录下,将新生成的ubuntu.img文件系统镜像,拷贝到一个新的文件夹

2022-03-28 17:58:56 807

原创 LS1043网口配置修改示例

版本说明操作系统:Ubuntu18.04 64 位版交叉工具链:aarch64-linux-gnu-gccSDK 版本:LSDK-18.06-V4.14u-boot版本:U-Boot 2018.03项目需求本方法是以1043格外的网口需求为例来介绍如何在 rcw、uboot、设备树中配置网络。forlinx的OK1043A-C的SerDes配置方案为1455,如下表所示:SRDS_PRTCL_S1RCW[128:143]A SD1_RX0_P/N SD1_TX0_P/NB SD1

2022-03-25 09:13:27 1317

原创 LS1028 使用serdes mode 99BB软件修改方案

LS1028开发板引入了【复位控制字】Reset configuration word (RCW)的配置方法,通过这种配置方法客户可以方便的进行引脚的功能定义,也就是实现引脚的PinMUX功能。LS1028平台所特有的SerDes Module也是要通过RCW来进行配置,从而将不同的SerDes通道选择为不同的功能。LS1028有一组SerDes修改需求LS1028现在的SerDes mode为:8 5 B E,一路SGMII,四路QSGMII,一路PCIE,一路SATA目前有一种需求需要使用

2022-03-24 17:52:47 5813

原创 Ubuntu18.04无法上网

在日常使用ubuntu18.04的时候,突然出现找不到网卡设备节点的情况,导致没办法上网,原有的默认配置是NAT模式,如下所示:打开设置查看发现没有打开网卡的选项解决方法:forlinx@ubuntu:~$ sudo service network-manager stop //关闭network-manager服务forlinx@ubuntu:~$ sudo rm /var/lib/NetworkManager/NetworkManager.state //删除配置文件forlinx@

2022-03-17 11:01:35 4621

原创 oKMx8MQ uboot修改引脚的初始化电平

vi imx8mq/OK8MQ-linux-sdk/OK8MQ-linux-uboot/board/freescale/imx8mq_evk/imx8mq_evk.c添加函数,将GPIO3_IO12电平默认设置为高电平将添加的函数放到board_init函数里面保存退出编译uboot:make u-boot

2022-03-12 16:39:05 489

原创 OK1028A-C适配RTL8822CE wifi模块

LS1028移植Realtek RTL8822CE驱动

2022-03-08 16:58:55 7377 3

原创 4G、以太网、无线同时使用

在有线,4G,wifi多个网络接入开发板的情况下,路由表中就会存在多个默认网关我们如果需要某一个线路优先可以上外网,我们需要修改路由规则,修改完后的路由规则是可以保证指定网卡的时候某一路也可以ping通外网。不过可能会存在优先级较低线路ping域名,数据包不返回的情况,原因是默认开启了反向路径校验,对每个进来的数据包校验其反向路径是否为最佳路径,如果反向路径不是最佳路径,则丢弃该数据包。可以修改/etc/sysctl.conf。将这两个字段的1根据需要改为0或20:关闭反向路由校验1:开启严格的反

2022-02-09 16:23:37 4882

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除