自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Skynet的博客

技术小白,潜心钻研

  • 博客(85)
  • 资源 (2)
  • 收藏
  • 关注

原创 基于C++11的简单log,支持C++的‘<<’风格和C的‘可变参数’风格

日志格式、输出方式可配置,以下为配置函数。单个文件实现功能,软件集成简单。

2024-08-08 15:35:46 439

原创 Jetson-AGX-Xavier gstreamer-rtsp-server rtsp推拉流

【代码】Jetson-AGX-Xavier gstreamer-rtsp-server rtsp推拉流。

2024-07-22 16:55:19 205

原创 Jetson-AGX-Xavier gstreamer UDP推拉流

多个视频推拉流可以考虑使用多个端口号。

2024-07-19 18:50:07 544 1

原创 Jetson-AGX-Xavier上 时间同步方案GPS+PPS+NTP+PTP

GPS+PPS通过串口、gpio接入Jetson-AGX-Xavier,给Jetson-AGX-Xavier提供时间。将ntp-4.2.8p15源码拷贝到xavier上,进入到ntp源码目录下,执行以下命令进行编译。Jetson-AGX-Xavier通过ptp给激光雷达等其它局域网设备提供时间。

2024-07-13 23:10:26 823

原创 Jetson-AGX-Xavier OTA更新系统固件

执行成功后,rootfs保存设置的用户名、密码、hostname。升级rootfs后,就不会跳出系统配置界面,直接进入登录界面,使用nvidia进行登录。等待命令执行完毕后,此时真正的升级没有完成,需要重启后,xavier会在下次重启时更新emmc里面的内容,所以在重启的过程中不能断电。执行下面命令设置ubuntu的默认用户名和密码。启动xavier,进入xavier文件系统中,找到我们上传的OTA升级包和升级工具。进入到用户电脑上的Linux_for_Tegra目录,执行相关命令。目录下,执行升级命令。

2024-07-13 22:41:15 291

原创 Jetson-AGX-Xavier的普通用户进行存储配额

Jetson-AGX-Xavier的emmc存储空间总额只有28G(整个emmc大小为32G),当存储用完后,重新上电会导致系统起不来。为了防止它,可对登录用户的可使用空间进行限额。当已使用空间达到上限后,就不会再允许继续写入。

2024-07-13 22:33:35 186

原创 Jetson-AGX-Xavier NFS 文件系统挂载

修改/boot/extlinux/extlinux.conf配置文件,添加nfs网络文件系统启动项。xavier的emmc里面已经预先烧写好了可用固件。

2024-07-13 22:22:02 220

原创 Jetson-AGX-Orin gstreamer+rtmp+http-flv 推拉流

SRS(Simple Realtime Server)是一个简单高效的实时视频服务器,支持RTMP、WebRTC、HLS、HTTP-FLV、SRT等多种实时流媒体协议。Orin是ubuntu20.04 ARM64架构的系统,自带gstreamer。修改/opt/srs/install/conf/srs.conf,使其内容如下。以下是摄像头的rtmp推流。采用的Orin的硬件编码器和硬件图像格式转换引擎。测试摄像头可以用v4l2-ctl命令或者用gst-launch-1.0。

2024-07-12 23:46:40 680

原创 Jetson-AGX-Orin 系统多种方式克隆还原

在一台设备调试完成后,可将一个设备的系统克隆,在批量还原到其他设备上,以达到批量部署的目的。克隆完成后在Linux_for_Tegra目录下生成backup.img 和 backup.img.raw。还原的镜像非常大的时候,Orin还原温度会很高,需要给其降温,不然还原会失败。在U盘就得到克隆的镜像文件backup.img.raw。将上述克隆得到的backup.img 移动到。将U盘插入电脑,将镜像转换成img格式的镜像。插入U盘,将U盘设备挂载到/mnt。将镜像转换成img格式的镜像。

2024-07-12 18:46:07 366

转载 Jetson-AGX-Orin 安装Apollo开放平台9.0

技术文档|如何在Orin上安装编译Apollo开放平台9.0

2024-07-12 13:13:38 166

原创 Jetson-AGX-Orin 非docker环境源码编译安装CyberRT

Jetson-AGX-Orin 非docker环境源码编译安装CyberRT。

2024-07-11 19:05:49 304

原创 Jetson-AGX-Orin 安装ROS2

开启两个终端分别输入以下命令,进行小乌龟测试。确保Orin能够上网。

2024-07-11 11:27:24 280

原创 Jetson-AGX-Orin将SSD扩展为home目录

orin本身的EMMC,安装jetpack、ros等软件后,所剩存储空间不多。如果设备内置了SSD,可通过将SSD扩展为home目录,以提升orin的存储空间。

2024-07-11 09:15:22 248

原创 Jetson-AGX-Orin 安装jtop(在线/离线两种方式)

​ 执行里面的。

2024-07-10 18:30:57 480

原创 Jetson-AGX-Orin多网卡绑定网卡名

设备后,重新上电Orin设备后,网卡设备的网卡名与Orin本身的以太网网卡名会发生交换。导致两个网卡设备配置发生错乱,两个网卡都将不通。编辑**/etc/udev/rules.d/70-persistent-net.rules**文件。后面填写对应的驱动名称。这里我将Orin本身的以太网的网卡绑定为。如上图,这里Orin本身的工业以太网的网卡名为。,当我们将外部网卡设备插上Orin后,使用。默认情况下,Orin本身的以太网网卡名为。,将外部插入网卡的网卡名绑定为。命令可以看到新增的网卡名。

2024-07-10 10:14:14 216

原创 Jetson-AGX-Orin 安装ros1

系统:ubuntu20.04 ARM64。orin ros1 安装完成,重启即可。ros1版本:Noetic。

2024-07-09 10:58:38 280

原创 Jetson-AGX-Orin离线安装nvidia-jetpack

2.4、在安装的过程中会有部分安装包报错,提示与已经安装的冲突,可先使用sudo apt-get remove 命令卸载对应的包,再重新执行2.3命令进行安装。2.1、将上述打包好的nvidia-jetpack-archives.tar.gz拷贝到另一台离线的jetson-AGX-Orin上。1.5、安装完成后,使用tar命令打包/var/cache/apt/archives目录下的所有缓存包。2.5、 若在安装的过程有部分包的报错,提示缺少依赖,可用上述步骤1同样的方法打包依赖包来进行安装。

2024-07-09 10:52:37 438

原创 NVIDIA Jetson AGX Orin虚拟显示器安装

​ 在orin上使用过程中。由于没有连接显示屏导致无法正常使用远程桌面工具进行代码调试。接一个HDMI显示屏让 Jetson AGX Orin设备显示桌面,并通过桌面的设置功能打开界面共享功能。此时接上HDMI硬件显示器,不会显示,若需让硬件显示器显示,需要还原xorg.conf,并卸载虚拟显示器。​ 安装远程桌面软件参考各个远程桌面软件官网介绍。​ (4) 点击后在弹出的界面的左上角将。​ (1)在ubuntu上搜索。​ (2)打开后在左边找到。​ (3) 进入后找到。

2024-05-21 20:59:49 1037

原创 基于Linux共享内存的数据分发DDS——C语言实现

基于共享内存的数据分发DDS——C语言实现

2024-04-22 01:12:31 752

原创 NVIDIA Jetson AGX Xavier多种方式交叉编译

NVIDIA Jetson AGX Xavier 多种方式进行应用程序交叉编译

2023-01-11 22:59:55 1632 1

原创 Clog——基于C语言的日志系统设计

基于linux C设计的一款日志系统,支持多进程日志输出,支持多种日志输出方式

2022-11-13 22:35:48 2830 2

原创 C++ STL汇总

C++ STL学习笔记

2022-07-05 09:05:17 720

原创 基于QT的文件上传和下载——支持断点续传

基于QT的支持断点续传的文件上传和下载。

2022-07-04 19:41:12 3382 3

原创 zynq7000 三种方式 编译驱动

zynq 驱动编译学习《领航者ZYNQ之嵌入式linux开发指南》有三种编译方式利用linux内核源码进行模块编译静态编译,使驱动编译进linux内核镜像中利用petalinux工具进行模块编译,最终编译好的模块存放在根文件系统中模块编译编写设备驱动c文件 chrdevbase.c#include <linux/types.h>#include <linux/kernel.h>#include <linux/delay.h>#include

2021-11-03 20:37:16 1725

原创 zynq7000 传统方式制作系统镜像

zynq7000 传统方式制作系统镜像传统方式制作系统镜像,主要是以下几个步骤:配置zynq芯片ubootkerneldevice-treerootfs打包制作BOOT.BIN和image.ub环境配置系统centos7安装xilinx的vivado、SDK软件安装**gcc make g++**等基本编译环境从xilinx的github上下载交叉编译工具gcc-arm-linux-gnueabi配置交叉编译工具,建立compile.sh脚本#!/bin/shcur

2021-11-03 16:00:52 2014

原创 基于epoll的多线程网络服务程序设计——C语言

基于epoll的多线程网络服务程序设计——C语言​ 采用C语言设计了一个基于epoll的多线程网络服务程序。每个线程都有一个epoll来捕获处于这个线程的socket事件。当子线程数量为0,即只有一个线程,则网络监听服务与socket消息处理处于同一个epoll。当子线程数量大于0时,主线程监听socket连接,当有新的连接到来时将其加入到活跃socket数量最小的子线程的epoll中。server.h#ifndef EPOLL_C_SERVER_H#define EPOLL_C_SE

2021-10-25 17:23:01 1162

原创 petalinux 制作linux系统镜像(zynq7000)

petalinux 制作linux系统镜像(zynq7000)学习《领航者ZYNQ之Linux驱动开发指南》petalinux工具制作系统镜像1、petalinux安装参考xilinx的官方文档《c_ug1144-petalinux-tools-reference-guide.pdf》2、用vivado软件生成hdf文件和bitstream文件3、初始化petalinuxsource /home/tools/petalinux/settings.sh#初始化petalinux工具,执行p

2021-10-09 14:17:41 1417

原创 全字符串转数字

全字符串转数字说明全字符串可以是八进制、十六进制或十进制数字字符串,带符号。但是只要字符串中有不符合数字的字符就转换失败。如十六进制有超过f的字符,八进制有超过9的字符等,不进行截断转换,全部转换。代码#include <stdio.h>#include <math.h>#include <string.h>/*完整的字符串转十进制数字完整的字符串可以使十进制、八进制、十六进制数字*/int entire_str_to_num(cha

2021-10-09 09:43:42 221

原创 对象的消息总线——C++11

对象的消息总线——C++11学习《深入应用C++11 代码优化与工程级应用》什么是消息总线对象之间的关系一般有:依赖、关联、聚合、组合和继承。在大规模的软件开发过程中,对象很多,关联关系非常复杂,如果没有统一的、简洁的方法去管理这些对象关系,会导致对象关系复杂,后期维护困难。基于消息总线技术可以解决这些问题。对象之间只通过消息联系,不是通过直接的依赖或者关联。在消息总线中,对象是通过消息来联系,消息即是对象的关系,只需要在消息总线中管理这些消息,不用关心具体哪些对象之间有关联,便于统一

2021-09-28 15:54:26 522 1

原创 linux进程间通信学习

linux进程间通信学习管道通信匿名管道匿名管道称为半双工管道,特点如下:数据只能由一个进程流向另一个进程,如果要进行双工通信,则需要建立两个管道。管道只能用于父子进程或者兄弟进程间通信。管道创建函数#include <unistd.h>int pipe(int fd[2]);//fd[0] 读管道 fd[1] 写管道,一般的文件I/O函数都可以用于管道,如close、read、write父子进程通过管道通信测试例子#include <unistd.h

2021-09-14 14:36:47 198

原创 基于QT的tcp server设计

基于Qt,设计了一个tcp server,主要用到:QTcpServer QTcpSocket QThreadUML 类图:TcpServer构造函数:TcpServer(QString t_server_name,quint32 t_thread_cout,msgHandle t_func=nullptr,QObject *parent = nullptr);t_server_name:服务名字 t_thread_cout:支持处理socket的子线程个数 t_func:消

2021-07-04 14:58:19 1498

原创 设计模式——命令模式(C++11实现)

命令模式将请求封装为一个对象,将请求的发起者和执行者解耦,支持对请对排队、撤销和重做。随着请求的增对,请求的封装类也会越来越多,会导致类爆炸。C++11 在通用的命令类的内部定义了一个通用的函数包装器,可以接受所有的可调用对象,这个命令类泛化了所有的命令。使得可以封装所有的命令,增加新的请求时无需重新定义命令了,解决了类爆炸问题#include <iostream>#include <functional>#include <type_traits>#

2021-02-20 10:59:50 327 1

原创 设计模式——访问者模式(C++11实现)

访问者Visitor模式:一个作用于某对象结构中的各元素的操作,可用于在不改变各元素的前提下定义作用于这些元素的新操作。C++11通过可变参数模板,实现一个稳定的接口层,利用可变参数模板的特点,可以让访问者接口层访问任意个数的访问者,不需要每增加一个新的访问者就修改接口层。#include <iostream>#include <functional>#include <string>using namespace std;template<t

2021-02-20 10:32:54 274

原创 设计模式——观察者模式(C++11实现)

观察者模式定义对象之间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。C++11实现的观察者模式,内部维护了一个泛型函数列表,观察者只需要将观察者函数注册进来即可,消除了继承导致的强耦合,通知接口使用了可变参数模板,支持任意参数,消除了接口变化的影响。#include <iostream>#include <string>#include <functional>#include <map>us

2021-02-20 10:11:48 657 1

原创 C++11——多线程开发

C++11之前,语言本身没有对并发编程提供语言级别支持,在移植时存在诸多不便C++11增加了线程以及线程相关的类,支持并发编程线程的创建 std::thread只需要提供线程函数或者函数对象即可,并且可以同时指定线程函数的参数...

2021-02-19 16:25:20 435

原创 C++11——可变参数模板

在C++11之前,类模板和函数模板只能包含固定数量的模板参数。在C++11之中,类模板和函数 模板允许模板定义中包含0到任意个模板参数。声明可变参数模板时需要在typename或class后面带上省略号"...",省略号的作用:1、声明一个参数包,包含0到任意个参数2、在模板定义的右边,可以将参数包展开成一个个独立的参数可变参数模板函数可变参数模板函数的定义如下:template<class... T>void f(T... args){ cout.

2021-02-18 16:28:46 1754

原创 设计模式——单例模式(C++11实现)

C++11实现泛型单例模式,支持任意参数类的对象创建。采用了C++11的可变参数模板和完美转发技术#include <iostream>#include <string>#include <stdexcept>using namespace std;//单例类,包含任意参数的类实例。template <typename T>class Singleton{public: template <typename... Arg

2021-02-18 10:52:47 787

原创 C语言实现简单log日志记录功能

实现log日志记录功能,一种宏定义形式实现,一种函数形式实现。记录于此。#include <stdio.h>#include <stdlib.h>#include <time.h>#include <stdarg.h>enum {ERROR,WARNING,INFO,DEBUG};//宏定义形式#define LogRecord(_error_level,_fmt,_X...) \ do { \ time_t.

2020-08-18 12:35:24 6445 2

原创 Qt序列化数据

可以利用QDataStream来序列化以及反序列化数据。方便我们进行数据传输。Qt提供的QDataStream可以序列化一些数据,如下:bool, float, double, const char *qint8, qint16, qint32, qint64, quint8, quint16, quint32, quint64QString, QTime, QTransform, QUrl, QVariantQBitArray, QByteArrayQBrush, QColor, QCu.

2020-08-15 18:25:46 4187

原创 Qt 线程池

继承QRunnable的类,QRunnable为虚基类,需要重写run函数threadtask.h 单个任务类声明文件#ifndef THREADTASK_H#define THREADTASK_H#include <QRunnable>class ThreadTask : public QRunnable{public: ThreadTask(int...

2020-08-01 15:51:23 1419

时间同步ntp源码ntp-4.2.8p15.zip

时间同步ntp源码ntp-4.2.8p15.zip

2024-07-15

jtop离线安装文件,适用于Jetson-AGX-Orin

Jetson-AGX-Orin 离线jtop文件

2024-07-10

基于C语言和linux共享内存的数据分发软件

基于C语言和linux共享内存的数据分发软件

2024-04-22

基于Qt的一个简单的登录框,记录于此,便于后续开发重复利用

每次用Qt开发一些工具都会用到登录框,现基于Qt开发了一个登录框,记录于此,便于后续开发重复利用,避免重复写代码

2019-12-21

shell脚本编程学习笔记汇总

该文档是本人阅读《linux命令行大全》对最后第四章节的shell脚本编程的学习笔记总结。可以在只看次笔记的情况下完全掌握shell编程

2018-12-10

空空如也

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

TA关注的人

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