自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (7)
  • 收藏
  • 关注

原创 用户定义udev规则重命名网卡

udev规则重命名网口

2023-10-24 17:35:34 1326

原创 linux申请预留内存

通过改代码或者修改grubenv文件进行地址预留

2023-09-01 13:23:44 722 1

原创 openEuler 设置默认启动项失败

目录下面的同名文件的,所以我们需要重新生成下这个文件。这个时候再去输入命令,就会查看到这个文件被修改了。无法设置默认启动内核并且会报错。查看文件发现里面没有数据,

2023-03-10 15:18:07 598 1

原创 内核定时器的使用

(1)内核是给应用层提供接口的,一般延时都是由用户来完成的。所以在内核中不会使用延时函数,都是用内核定时器来完成。

2022-10-24 13:57:38 354

原创 offsetof宏与container_of宏

内核中的offsetof宏与container_of宏的解释

2022-09-09 15:36:40 113

原创 使用copy_*_user 函数族传递带有指针的结构体

使用copy_*_user函数族传递带有指针的结构体方法

2022-07-08 13:17:42 747 1

原创 【Makefile】编译偏好设置

在编译过程中我们发现移植过来的程序编译出现好多warning报错导致编译停止,理论上我们需要将这些报错一一排查后再编译生成,但是由于移植程序体量较大,且报错太多但是warning报错不影响程序的运行,我们选择在makefile中将编译等级降低,这样就算有warning报错也是可以编译生成升级文件的。.........

2022-06-20 09:09:32 406

原创 【GD32F407】i2c主机发送,从机中断接收

前言现在手里负责的一个项目需要用i2c和主芯片进行通信主动发送,中断接收,这就需要支持i2c主机模式和从机模式,先查看原理图这里我们用到了两条i2c总线进行数据的交替传输,避免在使用一条总线是发送数据和接收数据冲突初始化i2c控制器s32_k i2cDevInit(u8 byBusId, TI2cBus *pTI2cBus){ //PCLK = 36000000 BOOL retFlg = FALSE; int I2xSCL = pTI2cBus->byFastMode ?

2022-03-01 09:54:34 4542 1

原创 【GD32F407】使用ADC读取电压

基于GD32F407使用ADC读取电压背景手上一个新的项目需要用到ADC进行电压检测,由于我也是第一次使用GD32所以在这里记录下,项目上有20多处需要进行电压检测,根据需求采用的是轮询的方式去查看电压值。代码实现以下都是我需要进行的ADC配置引脚初始化IO和时钟 rcu_periph_clock_enable(RCU_GPIOF); //使能GPIO rcu_periph_clock_enable(RCU_GPIOA); rcu_periph_clock_enable(R

2022-02-21 10:34:45 3921 1

原创 移植dropbear到开发板

添加dropbear功能介绍由于OpenSSH因为其相对较大,一般不太适用于嵌入式平台,多用于PC或者服务器的Linux版本中。而Dropbear是由Matt Johnston所开发的Secure Shell软件(包括服务器端与客户端)。期望在存储器与运算能力有限的情况下取代OpenSSH,Dropbear特别用于“嵌入”式的Linux(或其他Unix)系统,如无线路由器。配置编译dropbear由于dropbear依赖zlib的库所以在编译dropbear之前需要先编译zlib(1)编译zlib

2022-01-21 14:25:27 1448

原创 【GD32F407】 读写内部flash函数

GD32的flash特征1、在flash的前512K字节空间内,CPU执行指令零等待;在此范围外,CPU读取指令存在较长延时;2、对于flash大于1024KB(不包括等于1024KB)的,使用了两片闪存;前1024KB容量在第一片闪存(bank0)中,后续的容量在第二片闪存(bank1)中;3、对于flash容量小于等于1024KB,只使用了bank0;4、支持32位整字或16位半字编程,页擦除和整片擦除操作;GD32 flash内部结构bank0 内存分布入下ban...

2022-01-19 11:19:45 6876 6

原创 linux下使用iptable单网卡实现Nat共享上网

一、单网卡实现Nat共享上网介绍在开发过程中我们会遇到设备有时需要用一个网卡配置两个ip,一个负责连接外部网络,一个负责和下层设备进行通信,但是又有需要下层设备拥有访问外网的能力,这个时候我们就可以用Nat转发功能将下层设备发送过来的数据转发到外网上去(图画的不标准,只是表达个意思(lll¬ω¬))操作方法注意:我们将使用iptable工具进行Nat转发,以下操作的基础是配置了iptable工具(1)配置主机内外网ip我们需要给主机的一个网卡设置多个内网ip用来和下层设备进.

2021-12-24 09:20:14 2622

原创 iptable 移植到开发板

官网下载iptable源码,这里使用的是1.4.21版本的下载:http://ftp.netfilter.org/pub/iptables/iptables-1.4.21.tar.bz2(1)解压文件进入解压后的文件夾$ tar -xvf iptables-1.4.21.tar.bz2$ cd iptables-1.4.21/(2)config进行config配置$ ./configure CC=linux-gnuspe-gcc --host=linux-gnuspe \--

2021-12-16 15:24:50 642

原创 服务器镜像站点列表

其他几个国内的源:#中科大源deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiversedeb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiversedeb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main res.

2021-12-04 15:33:53 1031

原创 sdio wifi 移植

介绍简单来说,sdio起源自sd标准,顾名思义就是sd的IO接口(interface)的意思,更具体的说明,sd本来是记忆卡的标准,但是现在也可以把SD卡拿来插上一些外围设备接口使用,这个就是就叫做sdio。而且sdio本身是一种相当单纯的技术,通过sd的IO引脚来连接外部外围,并且通过sd的IO数据接位与外围传输数据,而且sd协会也推出很完整的sdio stack 驱动程序,使得sdio外围得开发与应用变得非常热门这里我们要移植的是RTL8822cs的sdio WiFi 模块,将其移植到rk3

2021-11-24 13:14:08 5162 2

原创 iptables 限制ip配置

介绍很多时候我们都叫他防火墙但是其实iptables不算是真正的防火墙,我们其实可以把它理解为一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的安全框架中,而这个安全框架才是真正的防火墙,这个框架名字叫netfilter。netfilter才是防火墙真正的安全框架(framework),netfilter位于内核空间,而iptables其实是一个命令行工具,位于用户空间,我们用这个工具去操作真正的框架。iptables功能非常强大且免费,这里只记录限制IP的功能限

2021-11-18 16:02:09 6785 1

原创 IPV6 设置ip和网关

需要ipv6的原因目前,嵌入式视频监控系统已成为国内外视频监控系统应用的主流,但是在 ipv4平台下存在地址不足、不能合理分配带宽、安全性能及移动性能差等诸多问题,而新一代 IPv6协议不仅能很好的解决以上问题,而且还具有可以提高视频传输速度和传输质量等多方而的优点。如何使嵌入式视频监控系统与 IPv6技术相结合是当前监控系统研究的一个重要方向。设置ip和网关(1)查看开发板是否支持[root@RK356X:/]# ifconfig eth0 Link encap:Ethern

2021-11-18 15:37:42 19913

原创 valgrind 调试工具移植开发板

(1)官网下载:Valgrind Homehttps://www.valgrind.org/ ,这里我们使用的3.18.1版本的valgrind(2)下载解压压缩包$ tar -xvf valgrind-3.18.1.tar.bz2$ cd valgrind-3.18.1$ sudo apt-get install automake # 有就不需要安装$ ./autogen.sh # 需要安装automake(3)配置编译安装$ vi configure armv7*)

2021-11-10 10:58:23 1671 1

原创 git环境搭建

1、根据开发环境判断是否需要实现安装git$ sudo apt-get update$ sudo apt-get dist-upgrade$ sudo apt-get install openssh-client$ sudo apt-get install git-core$ sudo apt-get install curl2、生成公钥,用于系统认证$ ssh-keygen -t -rsa //一路回车到底$ cd ~/.ssh

2021-11-09 11:04:51 1463

原创 内核编译`warning`停止编译

有时我们会遇到编译时警告(warning)被视为错误(error)等问题在编译时遇到warning但是却导致内核停止编译,但是在另一个内核中这个错误就没有终止编译warning: initialization makes integer from pointer without a cast ……为什么有的内核编译时警告被视为了错误选项 含义 -pedantic 允许发出ANSI C标准所列的全部警告信息 -pedantic-error 允许发出ANSI C标.

2021-11-03 13:56:23 1781 1

原创 内核编译过程出现`OPENSSL_init_crypto` 错误

在编译内核时突然出现`OPENSSL_init_crypto` 的报错信息,信息如下/tmp/ccFRVwLv.o: In function `main':extract-cert.c:(.text.startup+0x25): undefined reference to `OPENSSL_init_crypto'extract-cert.c:(.text.startup+0x31): undefined reference to `OPENSSL_init_crypto'collect2:

2021-11-01 13:28:19 4711

原创 git 基础知识 一

取得项目的GIT仓库目录的初始化当我们要对某个项目或者文件夹进行git管理的时候使用 git init 命令,之后会在该文件夹下面创建一个.git 的目录git的三个状态git管理项目时,将其分为三个工作区域,git本地数据目录(本地仓库)、工作目录、暂存区域。基本的git工作流程就是:在工作目录下修改文件,再将这些修改过的文件保存在暂存区域,提交更新后将暂存区域内的文件转存到git目录下文件在git中存在三种状态:分别为已提交(committed)、已修改(modified)、

2021-10-28 16:48:22 231 1

ethtool 源码分析

ethtool 源码分析

2022-08-02

GD32F407 内部flash读写demo

GD32F407 内部flash读写demo

2022-01-20

securetCRT.zip

securetCRT 串口工具和绿色软件软件,内附有安装说明文档

2021-12-09

rtl8822cs_clean.tar.gz

这次上传的版本是题主将源代码中所有多余的空格全部删除,且格式改成了linux下的格式,在上传代码到服务器的时候绝对能过格式检测

2021-12-04

C程序员语言面试100题.ppt

基本涵盖了,面试会问到的C语言题型

2021-11-26

RTL8322.rar

RTL8822cd sdio wifi

2021-11-24

valgrind-3.18.1.tar.bz2

valgrind 内存泄漏调试工具

2021-11-20

空空如也

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

TA关注的人

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