自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嵌入式

嵌入式爱好者!

  • 博客(836)
  • 资源 (7)
  • 收藏
  • 关注

原创 003_iptables使用示例

一、查看当前所有防火墙规则#target 规则的动作。

2024-04-16 06:31:06 428

原创 001_防火墙基础

总的来说,iptables 是 Linux 系统中非常重要的网络安全工具,管理员可以使用它来保护主机或网络不受未经授权的访问,实现网络地址转换,以及配置复杂的网络策略。--tcp-flags SYN,ACK,FIN,RST SYN 表示检查SYN,ACK,FIN.RST,其中SYN必须为1,其它必须为0---》第一次握手 --syn。netfilter:framework,TCP/IP,内核中,iptables不是服务,但是有服务脚本,服务脚本的主要作用为生效保存的规则。链上的规则次序,即为检查的次序。

2024-04-16 06:16:27 592

原创 000_iptables指令

2024-04-06 08:43:02 103

原创 systemd介绍

1、最新系统都采用systemd管理(RedHat7,CentOS7,Ubuntu15…)2、CentOS7 支持开机并行启动服务,显著提高开机启动效率。3、CentOS7关机只关闭正在运行的服务,而CentOS6,全部都关闭一次。4、CentOS7服务的启动与停止不再使用脚本进行管理,也就是/etc/init.d下不在有脚本。5、CentOS7使用systemd解决原有模式缺陷,比如原有service不会关闭程序产生的子进程。6、按需激活进程,系统状态快照;

2023-07-22 18:47:19 197

原创 树莓派4基于centos7的启动顺序

2023-07-22 17:27:22 157

原创 ARP数据报格式

ARP帧:硬件类型0x0001表示以太网,协议类型0x0800表示IP协议,硬件地址(MAC地址)长度为6,协议地址(IP地址)长度为4,op为0x0002表示应答,源主机MAC地址为00:e1:8c:3e:f2:97,源主机IP地址为c0 a8 00 67(192.168.0.103),目的主机MAC地址为cc:2d:21:77:2d:28,目的主机IP地址为c0 a8 00 01(192.168.0.1)。每台主机都维护一个ARP缓存表,可以用arp -a命令查看。ARP帧(28字节)

2023-07-12 22:40:58 247

原创 解决imx6ull开发板加载驱动disagrees about version of symbol module_layout失败问题

一、环境1、 硬件 100ask_imx6ull单板。2、软件环境,提供的开发环境。二、报错信息hello_drv: disagrees about version of symbol module_layoutinsmod: ERROR: could not insert module hello_drv.ko: Invalid module format三、解决1、查看板卡的内核信息cat /proc/version2、更新下内核使用Buildroot编译出的emmc.im

2022-02-12 11:23:26 1399

原创 uboot编译报错 dtc: command not found解决办法

编译uboot 报错解决办法sudo apt-get install -y device-tree-compiler再次编译,编译成功

2021-01-12 22:54:59 2582

原创 AD导出PDF内容显示不全解决办法

DXP—>Preferneces—>Schematic—>General下取消Render Text with GDI+

2021-01-12 09:47:01 7884

原创 Linux内核定时器使用

内核定时器是内核用来控制在未来某个时间点(基于jiffies)调度执行某个函数的一种机制,其实现位于内核源码 linux/timer.h 和 kernel/timer.c 文件中。被调度的函数肯定是异步执行的,它类似于一种“软件中断”,而且是处于非进程的上下文中,所以调度函数必须遵守以下规则:没有 current 指针、不允许访问用户空间。因为没有进程上下文,相关代码和被中断的进程没有任何联系。不能执行休眠(或可能引起休眠的函数)和调度。任何被访问的数据结构都应该针对并发访问进行保护,以

2021-01-07 13:39:51 401

原创 Linux内核架构图

2021-01-05 15:06:20 290

原创 GNU C 与 ANSI C的区别

GNU C 与 ANSI C的区别零长度数组GNU C允许使用零长度数组,定义变长度对象时比较方便struct var_data { int len; char data[0];};var_data的大小仅为一个int型,data是常量地址,data[index]是访问其后的内存空间。可以使用如下方式遍历数据struct var_data data;for(i=0; i<data.len; i++){​ printf("%x ", data.data[i]);}cas

2021-01-05 14:09:43 272

原创 2021年自己需要完成的事情

2020年的即将过去,2020年是极其不平凡的一年,这个每个人都知道,到现在为止,我居住的地方还在被化为中风险地区,珍惜生命吧。看到自己的2020的计划,基本上是没有按照路线走,2020做的也太杂,经历了很多人生中的大事,但是自己的能力确实在不知不觉提高了一些。2021年,最重要的就是要换一个工作了,不为别的,只为薪水。下面罗列自己在将来的2021年计划要完成的事情。1、QT图形化编程的深入,在学习QT的同时,也学习了C++,否则单纯地学习C++是一个很枯燥的过程,在这一年内,至少做6-10个基于QT

2020-12-30 09:14:45 681

原创 vim配置文件之.vimrc

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 通用设置"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""let mapleader = "," " 定义<leader>键set nocompatible " 设置不兼容原始vi模式filetype on .

2020-12-29 22:22:51 351

原创 vim 高级操作总结

ctrl + z ===> 将vim放到后台fg ===> 将vim放到前台b/B ===>往回退一个字{ ===>移动到上一个段落 } ===>移动到下一个段落0 ====>移动到行首$ ====>移动到行尾:set hlsearch ====>设置搜索高亮效果* ====>搜索目前游标的这个字fx ==

2020-12-28 17:44:07 190

原创 WSL使用NFS

微软的WLS下挂NFS系统是失败的,因为内核不支持,此路是不通的,至少目前我是没有找到解决办法,可以使用hane winNFS替代。

2020-12-14 16:17:32 2143

原创 STM32介绍

我购买的开发板照片什么是STM32从字面意义来看:ST:意法半导体,是一个公司的名字。M:Microelectronics的缩写,表示微控制器32:32bit的意思,表示这是一个32bit的微控制器开发板使用的是STM32F103ZET6芯片,内部资源如下(1)内核:32位 高性能ARM Cortex-M3处理器。时钟:高达72M,实际还可以超频一点。单周期乘法和硬件除法。(2)IO口:STM32F103ZET6: 144引脚 112个IO,大部分IO口都耐5V(模拟通道除外)

2020-12-02 15:25:04 4059

原创 STM32中USART串口通信实验

声明:所有资源均来自于普中STM32F103开发板相关资料,这是自己购买的一款开发板,如果原作者认为侵权,请联系我以便及时处理。STM32F1的USART介绍USART即通用同步异步收发器,它能够灵活地与外部设备进行全双工数据交换,满足外部设备对工业标准 NRZ 异步串行数据格式的要求。UART即通用异步收发器,它是在USART基础上裁剪掉了同步通信功能,同步和异步主要看其时钟是否需要对外提供,这个前面也介绍了。我们开发板上使用的STM32F103ZET6芯片含有3个USART,2个UART外设

2020-12-02 14:37:18 5687

原创 STM32中printf重定向

声明:所有资源均来自于普中STM32F103开发板相关资料,这是自己购买的一款开发板,如果原作者认为侵权,请联系我以便及时处理。printf重定向简介C语言中printf函数默认输出设备是显示器,如果要实现在串口或者LCD上显示,必须重定义标准库函数里调用的与输出设备相关的函数。比如使用printf输出到串口,需要将fputc里面的输出指向串口,这一过程就叫重定向。那么如何让STM32使用printf函数呢?int fputc(int ch,FILE *p) //函数默认的,在使用print

2020-12-02 11:00:06 6447 3

原创 STM32独立看门狗实验

声明:所有资源均来自于普中STM32F103开发板相关资料,这是自己购买的一款开发板,如果原作者认为侵权,请联系我以便及时处理。IWDG介绍STM32F1芯片内部含有两个看门狗外设,一个是独立看门狗IWDG,另一个是窗口看门狗WWDG。两个看门狗外设(独立和窗口)均可用于检测并解决由软件错误导致的故障。独立看门狗简单理解其是就是一个12位递减计数器,当计数器从某一个值递减到0时(如果看门狗已激活),系统就会产生一次复位。如果在计数器递减到0之前刷新了计数器值,那么系统就不会产生复位。这个刷新计

2020-12-02 10:13:46 1652

原创 keil5中输入中文注释乱码解决

打开Edit------->Configuration在弹出的对话框中选择Editor—>Encoding-----> Chinese GB2312(Simplified)再次编辑,发现输入中文正常了。

2020-12-02 10:00:27 26016 1

原创 shell实现的俄罗斯方块游戏

该脚本测试可以运行起来,但是实际使用发现功能不太正常。主要可以学习一下里面的一些语法。#!/bin/bash# Tetris Game# 10.21.2003 xhchen<[email][email protected][/email]>#APP declarationAPP_NAME="${0##*[\\/]}" #print exec nameAPP_VERSION="1.0"#颜色定义cRed=1cGreen=2 cYellow=3 cBlue=4

2020-11-04 15:59:56 156

原创 海思交叉编译工具链安装脚本

该脚本在海思arm-hisiv500-linux.sh文件中,内容如下,可以作为以后自己的shell脚本的参考#!/bin/bashTOP_DIR=/opt/hisi-linux/x86-arm#TOP_DIR=/home/share/toolchains/installTOOL_DIR=$TOP_DIR/arm-hisiv500-linuxTAR_BIN_DIR=$TOOL_DIR/target/binBIN_FILES=$TOOL_DIR/bin/arm-hisiv500-linux-uc

2020-10-28 16:28:14 752

原创 C中计算某段代码运行时间框架

struct timeval start, end; gettimeofday(&start, NULL); /** to calculate code */gettimeofday(&end, NULL); long long total_time = (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_usec - start.tv_usec); // get the run time by microsecondp

2020-10-28 15:55:21 155

原创 telnet下使用shell交互式登录

#!/bin/bashhi_login(){ /usr/bin/expect<<-EOF spawn telnet 192.168.0.160 24 expect { "(none) login:" { send "root\n" } } expect eof EOF}hi_login

2020-10-28 15:47:42 1126

原创 海思平台freetype矢量字体库的交叉编译

下载源码,并将其解压tar vxf freetype-2.4.10.tar.bz2进入到解压目录,进行交叉编译和平台配置cd freetype-2.4.10/./configure --host=arm-linux CC=arm-hisiv500-linux-gcc --prefix=/home/ubuntu/temp/__INSTALL_freetype_ARM编译并安装make && make install将编译的库文件放置海思交叉编译环境下的库路径下 s

2020-10-28 09:33:34 637

原创 awk基础

文本处理工具 awk命令格式awk [options] -f awk-script-line filename options: -F:定义输入字段分隔符,默认的分隔符是空格或者制表符(tab) command: BEGIN{} {} END{} 行处理前 行处理 行处理后awk 'BEGIN{print 1+1} {print "demo"} END{print "end....."}' passwd

2020-10-15 16:32:00 158

原创 chattr 设置重要的文件不可以删除

sudo chattr +i a.c rm a.c # fail sudo rm -rf a.c # fail sudo chattr -i a.c rm a.c # ok

2020-10-15 11:15:53 293

原创 Linux下操作小技巧

vim打开文件,替换文件中的内容将IP地址114.114.114.114替换为114.114.114.200\1为一个占位,等价于前面小括号中的内容:%s/\(114.114.114.\)114/\1200/

2020-10-13 09:14:29 230 1

原创 Linux中C验证线程的几种退出方式

/* 验证线程的几种退出方式 */#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <string.h>#include <pthread.h>void* myfunc(void* arg){ printf("child pthre

2020-10-12 10:47:56 694

原创 shell中shift使用

#!/bin/shwhile [ $# -ne 0 ]do let num+=$1 shift 2doneecho "num : ${num}"测试结果

2020-10-12 10:09:23 208

原创 shell函数中数组传递参数

#!/bin/sharray=(1 2 3 4 5)echo "${array[@]}"func_demo(){ value=0# for i in "$@" for i in $* do let value+=$i done echo $value}func_demo ${array[@]} #数组所有元素的值echo "1111111111111"func_demo ${array[*]}测试结果...

2020-10-12 09:51:20 781

原创 shell实现并发检查某个网段IP

#!/bin/sh> ip.txtfor i in {1..255}do { ip=192.168.8.$i ping -c4 -W1 $ip >&/dev/null if [ $? -eq 0 ];then echo "$ip" | tee -a ip.txt fi }&donewaitecho "ok"

2020-10-09 14:34:55 162

原创 shell命令行传递参数

shell命令行传递参数及其校验#!/bin/shif [ $# -eq 0 ];then echo "usage: `basename $0` filename" exit 1fiif [ ! -d $1 ];then echo "error file type" exit 2fifor dir in `ls $1`do echo "$dir"doneshell重新定义分隔符#希望for处理文件按照回车分隔,而不是空格或者tab#重新定义分隔符#IFS内部字段分隔符

2020-10-09 14:33:23 1092

原创 shell实现变量的替换

string/old/newunset urlurl=www.github.com.cnecho ${url/github/sina}变量的替代${变量名-新的变量值}如果变量没有被赋值,会使用新的变量值替换;如果变量有被赋值,包括空值,不会被替代。${变量名:-新的变量值}如果变量没有被赋值,包括空值,会使用新的变量值替换;如果变量有被赋值,不会被替代。...

2020-09-30 13:17:06 527

原创 shell的索引及切片

var:start:end

2020-09-30 13:02:20 704

原创 shell中变量内容的删除

# 从前向后匹配## 从前向后匹配,贪婪匹配% 从后向前匹配%% 从后向前匹配,贪婪匹配

2020-09-30 12:15:48 475

原创 shell中的算术运算使用

exprexpr 1 + 3num1=10num2=20expr $num1 + $num2C语言方式echo $((3 + 4))方括号[ ]echo $[5 + 3]let命令let sum=1+1echo $sum

2020-09-30 09:23:55 136

原创 shell中的死循环示例

#! /bin/bash for (( ; ; )) #死循环do echo "+++" sleep 1 echo "---"done测试结果

2020-09-28 16:47:20 693

原创 shell中的特殊符号使用() ``

显示当前系统/的剩余空间df -h | grep '/$' | awk '{ printf $4 }'()等价于 ``

2020-09-28 09:29:34 2391

source_list.zip

树莓派镜像源文件,是清华的镜像源,实测可以使用,将文件覆盖到对应的位置即可。

2019-10-30

linux驱动书籍

该压缩包内为一本linux驱动书籍,一共23章,貌似和宋宝华的linux驱动书籍相似,可以参考下载!!

2019-04-11

宋宝华LINUX驱动书籍前言部分

宋宝华LINUX驱动书籍前言部分,为宋宝华linux驱动书籍的介绍,摘取的前言目录部分。

2019-04-08

ximnd操作基础

该文件为.xmind格式文件,介绍了xmind软件的基本使用技巧,和我的博客的内容一致,博客内容是从该文件导出成图片格式的。欢迎下载学习!!!!

2019-03-31

qt_c++源码

这是一个入门级别的QT测试代码,在别人的基础上做了简单的修改,供参考学习

2019-02-27

google插件

使用的是一些常用的google浏览器插件,还是比较全的插件!

2018-10-26

pyqt5第一章

最新版本的pyqt的第一章资料,内有如何搭建pyqt5环境的说明!

2018-10-18

空空如也

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

TA关注的人

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