- 博客(22)
- 资源 (7)
- 收藏
- 关注
原创 openEuler 设置默认启动项失败
目录下面的同名文件的,所以我们需要重新生成下这个文件。这个时候再去输入命令,就会查看到这个文件被修改了。无法设置默认启动内核并且会报错。查看文件发现里面没有数据,
2023-03-10 15:18:07 773 1
原创 【Makefile】编译偏好设置
在编译过程中我们发现移植过来的程序编译出现好多warning报错导致编译停止,理论上我们需要将这些报错一一排查后再编译生成,但是由于移植程序体量较大,且报错太多但是warning报错不影响程序的运行,我们选择在makefile中将编译等级降低,这样就算有warning报错也是可以编译生成升级文件的。.........
2022-06-20 09:09:32 445
原创 【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 5018 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 4382 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 1609
原创 【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 7428 6
原创 linux下使用iptable单网卡实现Nat共享上网
一、单网卡实现Nat共享上网介绍在开发过程中我们会遇到设备有时需要用一个网卡配置两个ip,一个负责连接外部网络,一个负责和下层设备进行通信,但是又有需要下层设备拥有访问外网的能力,这个时候我们就可以用Nat转发功能将下层设备发送过来的数据转发到外网上去(图画的不标准,只是表达个意思(lll¬ω¬))操作方法注意:我们将使用iptable工具进行Nat转发,以下操作的基础是配置了iptable工具(1)配置主机内外网ip我们需要给主机的一个网卡设置多个内网ip用来和下层设备进.
2021-12-24 09:20:14 2722
原创 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 678
原创 服务器镜像站点列表
其他几个国内的源:#中科大源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 1059
原创 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 5769 2
原创 iptables 限制ip配置
介绍很多时候我们都叫他防火墙但是其实iptables不算是真正的防火墙,我们其实可以把它理解为一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的安全框架中,而这个安全框架才是真正的防火墙,这个框架名字叫netfilter。netfilter才是防火墙真正的安全框架(framework),netfilter位于内核空间,而iptables其实是一个命令行工具,位于用户空间,我们用这个工具去操作真正的框架。iptables功能非常强大且免费,这里只记录限制IP的功能限
2021-11-18 16:02:09 6851 1
原创 IPV6 设置ip和网关
需要ipv6的原因目前,嵌入式视频监控系统已成为国内外视频监控系统应用的主流,但是在 ipv4平台下存在地址不足、不能合理分配带宽、安全性能及移动性能差等诸多问题,而新一代 IPv6协议不仅能很好的解决以上问题,而且还具有可以提高视频传输速度和传输质量等多方而的优点。如何使嵌入式视频监控系统与 IPv6技术相结合是当前监控系统研究的一个重要方向。设置ip和网关(1)查看开发板是否支持[root@RK356X:/]# ifconfig eth0 Link encap:Ethern
2021-11-18 15:37:42 21142
原创 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 1772 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 1536
原创 内核编译`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 1897 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 4968
原创 git 基础知识 一
取得项目的GIT仓库目录的初始化当我们要对某个项目或者文件夹进行git管理的时候使用 git init 命令,之后会在该文件夹下面创建一个.git 的目录git的三个状态git管理项目时,将其分为三个工作区域,git本地数据目录(本地仓库)、工作目录、暂存区域。基本的git工作流程就是:在工作目录下修改文件,再将这些修改过的文件保存在暂存区域,提交更新后将暂存区域内的文件转存到git目录下文件在git中存在三种状态:分别为已提交(committed)、已修改(modified)、
2021-10-28 16:48:22 276 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人