自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

__Benco的博客

不懂就学,错了就改。博客主要记录自己所走过的路,踩过的坑,顺便分享下个人心得。

  • 博客(92)
  • 资源 (8)
  • 收藏
  • 关注

原创 C语言中常用的字符串处理函数和内存操作函数

`memmove(void *destination, const void *source, size_t num)`:将`source`指向的内存块的前`num`个字节移动到`destination`所指向的内存块,即使内存块有重叠部分。返回指向`destination`的指针。- `memcpy(void *destination, const void *source, size_t num)`:将`source`指向的内存块的前`num`个字节复制到`destination`所指向的内存块。

2024-01-19 13:49:58 449

原创 ubuntu20.04/etc/resolv.conf 语法语义解释

4. `options`:在 Ubuntu 20.04 中,你可以通过编辑 `/etc/systemd/resolved.conf` 文件中的 `DNSOptions` 选项来指定其他选项,如超时时间和转发等。在 Ubuntu 20.04 中,`/etc/resolv.conf` 文件的语法和语义有一些变化。3. `domain`:在 Ubuntu 20.04 中,你可以通过编辑 `/etc/systemd/resolved.conf` 文件中的 `DNSDomains` 选项来配置默认的域名。

2024-01-13 13:12:53 609

原创 Linux 管理 Systemd 服务的命令行工具

6. `systemctl status `:显示一个服务的状态信息,包括是否正在运行以及最后一次的状态更新时间等。5. `systemctl disable `:禁用一个服务,使其在系统启动时不会自动启动。1. `systemctl enable `:启用一个服务,使其在系统启动时自动启动。10. `systemctl is-active `:检查一个服务是否正在运行。

2024-01-12 20:24:45 523

原创 ubuntu x11指令集

设置根窗口的属性,如背景颜色、背景图片等:`xsetroot -solid ` 或 `xsetroot -bitmap `- 控制显示器的省电模式:`xset dpms `- 更改分辨率:`xrandr --output --mode `- 控制和修改xterm终端的属性和行为:`xtermcontrol --`

2023-12-11 23:39:06 1410

原创 一个用于处理嵌入式系统中的 NAND Flash 存储器的工具 `kobs-ng`

在大多数 Linux 系统中,NAND Flash 设备通常会以 `/dev/mtdX` 的形式出现,其中 `X` 是设备的编号。- `kobs-ng nandwrite`: 与 `kobs-ng write` 类似,用于将数据写入 NAND Flash 块。- `kobs-ng nanddump`: 与 `kobs-ng read` 类似,用于从 NAND Flash 块中读取数据。- ``: NAND Flash 设备的路径,例如 `/dev/mtd0`。

2023-12-11 23:03:46 542

原创 ubuntu-base 20.04防火墙配置方法

在ubuntu-base 20.04 上配置防火墙可以使用 UFW(Uncomplicated Firewall)工具。这些命令可以帮助您配置ubuntu-base 20.04 上的防火墙。请根据您的需求进行相应的配置,并确保在修改防火墙设置之前了解其影响。其中 `` 可以是规则的编号或规则描述。

2023-12-11 22:59:07 599

原创 ubuntu apt指令集学习心得

这些指令提供了更多的选项和功能,可以帮助你更好地管理和操作Ubuntu系统中的软件包。记得根据需要使用适当的指令,并在需要时使用`sudo`获取管理员权限。ubuntu apt指令集学习心得。

2023-12-07 21:58:09 552

原创 Linux三剑客之awk、sed和grep

sed具有强大的正则表达式支持和灵活的编辑功能,你可以根据具体需求编写复杂的sed脚本来实现更复杂的文本处理任务。阅读grep的文档和参考资料,以及进行实践和尝试,将有助于你深入了解和掌握grep命令的强大能力。阅读awk的文档和参考资料,以及进行实践和尝试,将有助于你深入了解和掌握awk命令的强大能力。阅读sed的文档和参考资料,以及进行实践和尝试,将有助于你深入了解和掌握sed命令的强大能力。- grep是一种用于搜索文本的工具,它可以根据指定的模式匹配在文件中查找特定的字符串,并将匹配到的行输出。

2023-11-20 01:26:00 444

原创 嵌入式Linux系统的闪存设备和文件系统学习纪要

Journalling Flash File System(闪存设备日志型文件系统,JFFS)最初是由瑞典的 Axis Communication AB 开发。

2023-11-01 22:58:07 382 2

原创 dd命令用法学习,是一个功能强大的工具

`oflag=seek_bytes:n`:以字节为单位跳过输出文件的前 n 个字节,在开始写入之前在输出文件中创建空洞。- `conv=conversion`:进行数据转换操作,如 `conv=ucase` 将小写字母转换为大写字母。- `iflag=flags`:设置输入标志,如 `iflag=direct` 可以绕过缓存直接读取输入文件。- `seek=n`:跳过输出文件的前 n 个块,在开始写入之前在输出文件中创建空洞。- `seek_bytes=n`:以字节为单位跳过输出文件的前 n 个字节。

2023-10-28 23:04:01 1124

原创 rk3568 weston 桌面相关

name=DSI-1 //与上面列表相对应,去掉card0 mode=1024x600 //需为屏幕支持的有效分辨率scale=2 //需为整数倍数。panel-position=none //去除面板工具栏background-color=0x00FFFFFF //背景完全透明。name=DSI-1 //与上面列表相对应,去掉card0 transform=0/90/180/270 //旋转角度。修改 /etc/xdg/weston/weston.ini 文件。

2023-09-28 15:55:13 629

原创 golang的实用工具

10. go tool:提供了一些辅助工具,如性能分析工具(go tool pprof)、调试器(go tool delve)等。16. go tool dist:用于管理 Go 语言的发行版,可以构建和安装特定版本的 Go。11. go install:用于编译并安装 Go 程序,将可执行文件安装到指定的目录中。6. go fmt:用于格式化 Go 代码,使其符合 Go 语言的规范。7. go vet:用于静态分析 Go 代码,查找潜在的错误或问题。8. go doc:用于查看 Go 代码的文档注释。

2023-09-26 23:58:08 426

原创 如何在 Buildroot 中配置 Samba

4. 在 "Target packages" 子菜单中,找到 "Networking applications" 选项,并按 Enter 键进入子菜单。15. 配置 Samba 的共享目录和权限,可以编辑 Samba 的配置文件(通常是 `/etc/samba/smb.conf`)。- `security`:指定 Samba 的安全模式,这里设置为 "user" 表示使用基于用户的身份验证。14. 在目标设备上,使用适当的命令启动 Samba 服务,例如 `smbd` 和 `nmbd`。

2023-09-19 22:02:57 264

原创 Linux中如何获取输入设备(如触摸屏、按键等)的事件信息

在上述示例中,首先定义了输入设备文件路径`inputDevicePath`,然后使用`open()`函数打开该输入设备文件,并将返回的文件描述符存储在`inputDeviceFd`中。通过调用`read()`函数从输入设备文件中读取事件数据,并将其存储在`event`结构体中。输入设备文件通常位于`/dev/input/`目录下,以`eventX`的形式命名,其中`X`是数字标识符。在Linux中,可以使用`getevent`命令来获取输入设备(如触摸屏、按键等)的事件信息。

2023-09-15 15:22:12 1417 1

原创 在嵌入式Linux中使用C++读取 /proc/meminfo 文件来获取系统内存大小

文件并逐行读取其中的内容。当找到以 "MemTotal:" 开头的行时,提取出内存大小信息并去除空格和单位(KB),然后将其转换为无符号长整型数值。最后,输出总内存大小。请注意,这只是一个简单的示例代码,可能需要根据实际情况进行适当的错误处理和异常处理。文件中还包含其他有关内存的信息,你可以根据需求进一步解析该文件以获取更多详细信息。在嵌入式Linux中,可以使用C++编程语言通过读取。文件来获取系统内存大小。

2023-08-29 16:01:29 585 2

原创 如何通过udev规则来配置Linux系统中的USB设备名称

需要注意的是,上面方法不支持修改过2个相同vid和pid的USB网卡名称。其中,0bda和0fe6为设备的idVendor,8152和9900为设备的idProduct,eth*为需要修改的名称,usb1/2为您的自定义设备名称。我们可以通过udev规则来配置Linux系统中的USB设备名称。然后,保存一个文件并退出重启即可。请注意,新的规则将在下次插入USB设备后立即应用。

2023-08-25 18:38:23 328

原创 修改 Ubuntu 系统的时区

将 `` 替换为您选择的时区标识符。例如,对于纽约的时区,可以使用 `America/New_York`。4. 更新时区设置后,您可以再次运行 `timedatectl` 命令来验证时区是否已更改。完成上述步骤后,您的 Ubuntu 系统的时区设置应该会被正确更新。请注意,执行上述操作需要具有管理员权限(使用 `sudo`)。您可以在列表中找到适合您所在地区的时区标识符。该命令将引导您通过一个交互式菜单来选择适当的时区。这将显示当前系统的日期、时间和时区信息。

2023-08-08 14:05:34 1160

原创 android11的PowerManagerService.java学习纪要

`PowerManagerService.java` 是一个 Java 类,继承自 `IPowerManager.Stub` 接口,并实现了 `PowerManagerInternal` 接口。- `PowerManagerService.java` 包含了一些内部类,如 `WakeLock`、`DisplayBlanker` 等,用于管理唤醒锁和屏幕显示等功能。- `PowerManagerService.java` 监控设备的电源状态,包括屏幕的亮灭状态、设备的交互状态等。

2023-08-02 10:57:56 200

原创 linux/drivers/leds/led-class.c学习

`led_classdev_register_ext()` 和 `led_classdev_unregister_ext()`:扩展的 LED 设备注册和注销函数,支持更多的设备属性和配置选项。- `led_classdev_suspend_noirq()` 和 `led_classdev_resume_noirq()`:在系统挂起和恢复时暂停和恢复 LED 设备的操作,不考虑中断。- `led_classdev_flash_init()`:初始化支持闪光灯功能的 LED 设备。

2023-08-01 17:31:27 551

原创 linux/drivers/leds/leds-gpio.c学习

`gpio_led_suspend()` 和 `gpio_led_resume()`:这两个函数用于在系统挂起和恢复时处理 GPIO LED 的状态。其中最重要的结构体是 `struct gpio_led`,它包含了 GPIO LED 的名称、GPIO 引脚号、默认亮度等信息。1. 头文件引入:该文件引入了一些必要的头文件,包括 ``、``、`` 等。

2023-07-31 17:28:33 570

原创 嵌入式Linux的gpio做dido输入输出驱动

分享份关于Linux的dido驱动。

2023-07-24 11:16:03 387

原创 find 和 grep 结合使用解释

这将在当前目录及其子目录中查找扩展名为 `.txt` 的文件,并使用 `grep` 命令搜索包含 "search_text" 的行,并将结果输出到 `output.txt` 文件中。这将在当前目录及其子目录中查找扩展名为 `.log` 的文件,但会忽略名为 `ignore_dir` 的目录,并使用 `grep` 命令搜索包含 "search_text" 的行。这将在当前目录及其子目录中查找所有扩展名为 `.txt` 的文件,并使用 `grep` 命令搜索包含 "search_text" 的行。

2023-07-20 19:48:11 919

原创 如何在ubuntu交叉编译qt5程序发布到rk3568 Linux开发板运行?

本文将介绍如何在ubuntu搭建qt的开发环境的搭建和第一个helloworld程序创建、构建过程。2.1.下载 qt5-opensouce-5.15.8 源码到ubuntu。以上5个流程下来即可完成我们想要的第一个helloworld程序。2.2.编译qt5-opensouce-5.15.8 源码。可通过sd卡、u盘、ssh等方法拷贝传输到开发板。使用上面qt源码编译安装的qmake工具来编译。

2023-07-20 17:54:44 1299

原创 openwrt/package/base-files/files/bin/config_generate脚本的常见函数学习纪要

2. `generate_bridge_vlan`:生成桥接(Bridge)和VLAN结合的网络配置。该函数会创建一个桥接接口,并为桥接接口创建对应的VLAN子接口,以实现不同VLAN之间的隔离和通信。11. `generate_dhcp_network`:生成DHCP服务器的网络配置。这些函数是在`config_generate`脚本中定义的,用于根据用户的需求生成相应的配置。该函数用于创建各种类型的网络接口,如静态、DHCP、PPPoE等,并设置相应的网络参数。它接受一个参数,即无线接口名称。

2023-07-19 23:22:40 210

原创 win10 远程 ubuntu 18.04 桌面

请注意,如果您使用的是Ubuntu 18.04的默认GNOME桌面环境,可能会遇到一些显示问题。您可以尝试使用其他轻量级桌面环境,如Xfce或MATE,以获得更好的远程连接体验。4. 在Windows 10上,打开“远程桌面连接”应用程序。5. 在“远程桌面连接”应用程序中,输入Ubuntu 18.04的IP地址或主机名,并点击“连接”。6. 输入您的Ubuntu 18.04的用户名和密码,然后点击“确定”。7. 如果一切正常,您将成功连接到Ubuntu 18.04的远程桌面。

2023-07-06 19:56:16 1119

原创 buildroot/packages/app/的.mk规则的详细解释

在Buildroot的package目录中,每个软件包都有一个对应的.mk文件,用于定义该软件包的构建规则和配置选项。这些规则和变量提供了一种标准化的方式来定义软件包的构建过程,并使Buildroot能够自动处理依赖关系、下载源代码、配置编译选项、编译和安装等任务。11.$(eval $(generic-package)):通用的软件包规则,适用于没有特定构建系统的软件包。有关Buildroot软件包的.mk文件的更多详细信息,请参阅Buildroot的文档和相关资源。通常与软件包源代码的目录名相同。

2023-06-29 14:25:43 893

原创 RK3568 Buildroot-2021.11 > Target packages > Graphic libraries and applications (graphic/text)包解释

BR2_PACKAGE_TESSERACT_OCR_LANG_CHI_SIM是Buildroot中的一个软件包,用于安装Tesseract OCR引擎的简体中文语言包。BR2_PACKAGE_TESSERACT_OCR_LANG_CHI_TRA是Buildroot中的一个软件包,用于安装Tesseract OCR引擎的繁体中文语言包。BR2_PACKAGE_TESSERACT_OCR_LANG_SPA是Buildroot中的一个软件包,用于安装Tesseract OCR引擎的西班牙语语言包。

2023-06-26 14:56:34 532

原创 Wayland 和 X11 协议之间的主要区别

在 X11 中,应用程序通过 X 服务器与显示器交互,而在 Wayland 中,应用程序直接与合成器交互,合成器负责将应用程序的输出合成为最终的图像。在 X11 中,应用程序可以访问整个 X 服务器,包括其他应用程序的数据,而在 Wayland 中,每个应用程序都运行在自己的沙箱中,只能访问自己的数据。在 X11 中,应用程序的输出需要经过多次复制和转换才能最终显示在屏幕上,而在 Wayland 中,应用程序的输出直接传递给合成器,减少了这些操作。

2023-06-25 10:36:27 3299

原创 ifconfig eth0 日志解释

20.collisions:接收或发送数据包时出现的冲突数量。19.carrier:接收或发送数据包时出现的载波错误数量。17.overruns:接收或发送数据包时出现的溢出数量。15.errors:接收或发送数据包时出现的错误数量。16.dropped:接收或发送数据包时被丢弃的数量。18.frame:接收或发送数据包时出现的帧错误数量。11.RX packets:接收数据包的数量。12.TX packets:发送数据包的数量。10.MTU:网络接口的 MTU 大小。5.Bcast:广播地址。

2023-06-21 13:55:32 236

原创 rockchip rk3568 openwrt修改根文件系统分区

1、rootfs大小取决于rk356x_config的配置,默认CONFIG_TARGET_ROOTFS_PARTSIZE=512,如果需要修改2G,CONFIG_TARGET_ROOTFS_PARTSIZE=2048,单位Mb。2、修改parameter.txt。

2023-05-04 20:55:07 1951 1

原创 CAN通信物理容错测试checklist

判定标准: 短接故障发生后,ECU进入Bus off状态,总线上会监控到错误帧或无任何报文同时也没有错误帧,故障移除后通信恢复正常。判定标准: 短接故障发生后,ECU进入Bus off状态,总线上会监控到错误帧或无任何报文同时也没有错误帧,故障移除后通信恢复正常。判定标准:短接故障发生后,ECU进入Bus off状态,总线上会监控到错误帧或无任何报文同时也没有错误帧,故障移除后通信恢复正常。判定标准: 短接故障发生后,ECU通信信号质量变差,但不影响正常通信,故障移除后通信恢复正常。

2023-05-03 12:01:23 700

原创 瑞星微开发工具下载镜像的配置方法?

然后0x00002000@0x00006000(misc),0x00002000示的是镜像的大小,0x00006000表示的是flash地址。但是这个flash地址是由前一个uboot的长度和地址计算出来的偏移地址,偏移地址的计算方法是:镜像的大小 + flash地址 = 偏移地址,后面的如此类推即可。0x00002000@0x00004000(uboot)这句的含义是什么呢?0x00002000表示的是镜像的大小,0x00004000表示的是flash地址。

2023-04-09 20:00:19 501

原创 ARMLinux 内核定时器驱动手记

Linux 内核定时器驱动手记。

2023-03-17 09:42:34 207

原创 vscode如何清除最近打开的项目记录

3、最后就可以看到最近打开过的项目已经清除了。”就可以看的到我们打开工作过的记录。1、单击左上角文件菜单下的“2、点击子菜单下的“

2023-02-17 15:29:31 3468

原创 ARM Linux 如何在sysfs用户态命令行中控制 GPIO 引脚?

root@rk3568:/]# echo out > /sys/class/gpio/gpio150/direction //设置IO 输出方向。[root@rk3568:/]# echo 0 > /sys/class/gpio/gpio150/value //设置IO 输出为低电平。[root@rk3568:/]# echo 1 > /sys/class/gpio/gpio150/value //设置IO 输出为高电平。A-D 对应1-4:A->1,B->2,C->3,D->4。

2023-02-13 19:18:48 712

原创 arm-xxx-gcc各种交叉编译器傻傻分不清楚:arm-linux-gnueabihf-gcc、arm-none-linux-gnueabi-gcc

(ARM architecture,novendor,nottarget an operating system,complies with the ARM EABI)用于编译 ARM 架构的裸机系统(包括 ARM Linux 的 boot、kernel,不适用编译 Linux 应用 Application),一般适合 ARM7、Cortex-M 和 Cortex-R 内核的芯片使用,所以不支持那些跟操作系统关系密切的函数。支持操作系统:arm-none-linux-eabi-gcc。

2022-11-12 11:43:48 1830

原创 linux Kconfig 学习与总结

3.如果 XX_defconfig 板卡配置文件中没有设置 CONFIG_MODULES=y,则编译 make modules 时将会失败,而 make menuconfig 时,Kconfig中的tristate参数也会被读写为bool参数(也就是不能设置m)。2.如果 XX_defconfig 板卡配置文件中定义新的宏=y时,而在Kconfig并没有声明它,则内核编译出来的autoconf.h里也不会定义它的。

2022-11-07 15:49:41 294

原创 从零开始移植buildroot-2022.02.6文件系统到imx6ull(1)-- 环境搭建

eudev 是后台运行的守护程序,当系统添加或者移除设备时,内核将会调用eudev。Init system (systemV) ---> 初始化系统模式,如/etc目录下BusyBox-/etc/x11,systemV-/etc/init.d/等。(/opt/arm-none-linux-gnueabihf-v10.3.1) Toolchain path ---> 工具链路径。($(ARCH)-none-linux-gnueabihf) Toolchain prefix ---> 工具链前缀。

2022-11-03 15:31:49 1110

原创 Ubuntu18.04搭建FTP服务器

至此已完成FTP服务器搭建,可在ubuntu终端或windows端访问。4、修改配置“sudo vim /etc/vsftpd.conf”5、配置完成后,创建文件夹和文件,重启服务器。7、windows文件夹登录。1、安装vsftpd。

2022-10-22 23:46:56 1048 2

原创 ARM Linux系统中的动态IP和静态IP地址怎么设置?

开发工作中,我们经常会有各种各样的需求,有人要动态ip,也有要静态ip的,其实方法很简单,下面分享下我的实现方法。按照上面脚本修改即可实现,eth0为静态ip,eth1为动态ip。

2022-10-21 10:42:35 1749

i.mx6ul开发板移植openwrt系统

i.mx6ul开发板移植openwrt系统

2023-11-05

gcc-linaro-4.9-2014.11-x86-64-arm-linux-gnueabihf.tar.xz

gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz

2023-11-05

imx6ull数据手册

imx6ull数据手册

2023-11-05

米尔imx6ull开发板使用手册

米尔imx6ull开发板使用手册

2023-11-05

HC32L110 SDK资料

HC32L110 SDK资料

2023-10-15

修改文件的创建时间、访问时间和修改时间的工具

一个可自定义修改文件的创建时间、访问时间和修改时间的工具

2022-09-08

SQL Server Management Studio - V15.0.18424.0

SQL Server Management Studio 是一个集成环境,用于访问、配置、管理和开发 SQL Server 的所有组件。SQL Server Management Studio 组合了大量图形工具和丰富的脚本编辑器,使各种技术水平的开发人员和管理员都能访问 SQL Server。

2022-08-26

MQTT-V3.1.1和V5.0协议中文版

包内有MQTT V3.1.1和V5.0协议中文版,分享给有需要的兄弟姐妹。

2022-07-07

MQTT 协议 3.1.1 中文版

MQTT 协议 3.1.1 中文版

2022-07-07

MQTT 协议 5.0 中文版

MQTT 协议 5.0 中文版

2022-07-07

STEP7-MicroWIN-SMART-V2.4.zip

STEP7-MicroWIN-SMART-V2.4.zip

2022-05-06

STEP7-MicroWIN-SMART-V2.2.zip

STEP7-MicroWIN-SMART-V2.2.zip

2022-05-06

Wireshark过滤器说明文档中文版

Wireshark过滤器说明文档中文版

2022-03-02

串口网络数据调试器V5.13.1

串口网络数据调试器V5.13.1,下载即可使用。 支持STM32、GD32 IAP、STC、IAP15等MCU程序下载, 支持TCPClient、TCPServer、UDP等。 波特率支持110~2000000。

2020-10-14

HDSC.HC32L110.1.0.3.pack

Keil MDKV5 需要用到的HDSC.HC32L110.1.0.3.pack

2020-08-13

空空如也

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

TA关注的人

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