自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 linux内核驱动——字符设备实现两个终端单向收发

linux内核驱动——字符设备实现两个终端单向收发

2024-03-07 14:53:54 504

原创 Ubuntu18.04添加内核模块(字符设备)

Ubuntu18.04添加内核模块(字符设备)虚拟机Ubuntu18.04(内核版本linux-5.4.0-135-generic)

2024-03-06 11:12:21 891

原创 TorchScript C++ 自定义运算符 cpu&cuda

TorchScript C++ 自定义运算符 cpu&cuda

2023-11-22 16:09:21 734

原创 吴恩达机器学习作业4(python)

# 神经网络# 分类(识别)手写数字图片

2023-03-03 16:21:26 279

原创 吴恩达机器学习作业3(python)

分类(识别)手写数字图片

2023-02-15 16:01:25 250

原创 吴恩达机器学习作业2(python)

逻辑回归 op.minimize 高级算法计算代价最小值

2023-02-15 09:33:00 290

原创 吴恩达机器学习作业1(python)

1 单特征线性回归 2 多特征线性回归 2.1 归一化+梯度下降 2.2 正规方程

2023-02-07 16:55:26 301

原创 docker中使用声卡设备

docker中使用声卡设备/dev/snd,并且可以让宿主机和docker同时使用声卡

2023-01-05 09:20:53 1890

原创 Ubuntu18.04安装Xenomai

安装会提示你内核的选择:选择第一个安装(install the package maintainer’s version)三项注释掉,编译时系统会自动生成一次性密钥来加密。

2022-10-27 12:27:24 2573 2

原创 Shell常用命令记录

Shell 8种字符串截取方法若以%为截取位置,可以在%前加转义字符\,即\%字符串变量=`命令输出`,如GPU=`echo “$NVIDIA_HTOP” | grep mainboard`数值变量=$(命令输出),如LINE_NUM=$(echo “$GPU” | awk ‘END{print NR}’)awk ‘END{print NR}’ ,表示获取行数awk -v i=$i ‘NR==i{print}’ ,表示获取第i行,i为提前定义的变量awk ‘{print $5}’ ,表示获取第5个字符串,空

2022-06-14 16:58:22 292

原创 linux不同进程使用共享内存及互斥锁

linux不同进程使用共享内存及互斥锁1 共享内存头文件:#include <sys/shm.h>#include <sys/ipc.h>1.1 key值指定一个文件地址,让不同进程可以通过ftok产生同一个key值:std::string path = ("/home/test.txt");FILE *fd = fopen(path.c_str(),"a");fclose(fd);int key = ftok(path.c_str(), 0);1.2 创

2022-03-09 10:24:28 4044

原创 Linux进程调度响应时间测试方法

目录Linux进程调度响应时间测试方法Linux进程调度响应时间测试方法环境:虚拟机Ubuntu18.04内核版本:5.6.19参考:linux内核添加模块

2022-01-04 09:51:49 1534

原创 Ubuntu18.04内核编译裁剪

目录Ubuntu18.04内核编译裁剪1 准备工作1.1 下载内核源码1.2 安装依赖2 裁剪并编译内核Ubuntu18.04内核编译裁剪虚拟机Ubuntu18.041 准备工作参考:https://www.aflyingfish.top/articles/8b2fc9bcfb88/1.1 下载内核源码地址:https://www.kernel.org/,我选的是linux-5.4。解压到任意目录。1.2 安装依赖sudo apt-get install gcc make libncurs

2021-12-22 09:37:07 2151 1

原创 Apollo record文件格式

目录Apollo record文件格式1 Record文件总体格式2 Section中的Data格式2.1 HEADER Data2.2 CHUNK_HEADER Data2.3 CHUNK_BODY Data2.4 INDEX Data2.5 CHANNEL Data3 序列化与反序列化3.1 序列化3.2 反序列化Apollo record文件格式1 Record文件总体格式Record文件由许多的Section组成:Section Type为枚举类型,大小为8字节(来自apollo/cyb

2021-12-10 13:33:57 2827

原创 在TMS570LC43xx上移植ThreadX

目录在TMS570LC43xx上移植ThreadX1 准备工作1.1 获取例程1.2 安装IAR Embedded Workbench for Arm2 编译3 运行在TMS570LC43xx上移植ThreadX1 准备工作1.1 获取例程ThreadX官方没有直接提供TMS570LC43xx的移植例程,但是可以发邮件给azure-rtos-support@microsoft.com或者sclarson@microsoft.com,说明你想要移植的板子,就会发给你。地址:tms570lc43x_f

2021-11-29 10:18:37 871 4

原创 多机Nomad+Consul+consul-template+Nginx反向代理

目录多机Nomad+Consul+consul-template+Nginx反向代理1 Nomad与Consul连接1.1 Nomad1.2 Consul1.3 Nomad Job(http-echo容器)2 consul-template3 Nginx反向代理多机Nomad+Consul+consul-template+Nginx反向代理虚拟机1:Ubuntu18.04,IP:192.168.10.11虚拟机2:Ubuntu18.04,IP:192.168.10.22测试过程:Nomad起2个jo

2021-11-16 10:57:26 2689

原创 单机Nomad+Consul+consul-template+Nginx反向代理

目录consul-template单机测试1 下载consul-template工具consul-template单机测试1 下载consul-template工具源码:https://github.com/hashicorp/consul-template二进制文件:https://releases.hashicorp.com/consul-template/consul agent \ -server \ -bootstrap \ -ui \ -data-dir=/home/lz

2021-11-03 16:42:19 2263

原创 Nginx内网单机反向代理

目录Nginx内网反向代理1 Nginx安装2 配置Nginx3 修改hosts文件4 测试Nginx内网反向代理Ubuntu18.04虚拟机1 IP:192.168.10.10Ubuntu18.04虚拟机2 IP:192.168.10.11测试目的:在虚拟机1上部署Nginx服务器(192.168.10.10:80),通过浏览器访问自设的域名,可以反向代理到内网虚拟机2(192.168.10.11:1234)。虚拟机2最好原本就能用浏览器访问,显示界面区别于Nginx。1 Nginx安装虚拟

2021-11-01 14:45:52 2332

原创 用户docker权限 修改镜像的本地源及存储路径

目录用户docker权限 修改镜像的本地源及存储路径1.用户docker权限2.添加docker镜像的本地源3.修改docker镜像的存储路径用户docker权限 修改镜像的本地源及存储路径Ubuntu18.041.用户docker权限sudo groupadd dockersudo gpasswd -a $USER dockernewgrp docker重启之后,docker ps等命令就不需要sudo权限了。2.添加docker镜像的本地源sudo gedit /etc/docker

2021-10-22 09:56:17 624

原创 PetaLinux使用Gstreamer传输USB摄像头到DP显示屏

PetaLinux使用Gstreamer传输USB摄像头到DP显示屏开发板:Xilinx Zynq XCZU9EG虚拟机:Ubuntu18.04摄像头格式:jpeg显示屏接口:DisplayPort1.PetaLinux安装编译2.修改petalinux配置,添加关于Gstreamer的部分。在petalinux目录下,执行petalinux-config -c rootfs勾选以下项目:Configuration->Filesystem Packages->multim

2021-09-15 10:01:27 3144 1

原创 PetaLinux安装编译

目录PetaLinux安装编译1.安装petalinux2.编译petalinux3.生成BOOT文件PetaLinux安装编译开发板:Xilinx Zynq XCZU9EG虚拟机:Ubuntu18.04摄像头格式:jpeg显示屏接口:DisplayPort1.安装petalinux安装依赖包,运行脚本st_env_setup.sh如下,记得chmod给脚本权限:#!/bin/bash set -x script_dir=$(cd $(dirname ${BASH_SOURCE[

2021-09-15 09:22:21 1207

原创 Nomad 多job/group/task调度测试

目录Nomad 多job/group/task调度测试1.搭建nomad集群2.多job测试2.多group测试4.多task测试5.总结Nomad 多job/group/task调度测试关系:job 包含 group 包含 task1.搭建nomad集群本测试使用三台ubuntu18.04虚拟机,IP地址分别为:虚拟机1:192.168.60.10虚拟机2:192.168.60.11虚拟机3:192.168.60.12具体搭建方法见Nomad集群 自身高可用测试。使用的docker镜像为

2021-08-31 13:57:53 1098

原创 Nomad Nginx 暴露IP端口和重启/重调度验证

目录Nomad Nginx 暴露IP端口和重启/重调度验证1.准备工作搭建nomad集群pull nginx镜像2.nginx 暴露IP端口创建job文件运行验证3.重启/重调度验证restartrescheduleNomad Nginx 暴露IP端口和重启/重调度验证1.准备工作搭建nomad集群本测试使用三台ubuntu18.04虚拟机,IP地址分别为:虚拟机1:192.168.60.10虚拟机2:192.168.60.11虚拟机3:192.168.60.12具体搭建方法见Nomad集群

2021-08-30 11:35:03 1429 10

原创 Nomad集群 自身高可用测试

Nomad集群 自身高可用测试1.搭建nomad集群本测试使用三台ubuntu18.04虚拟机,IP地址分别为:虚拟机1:192.168.60.10虚拟机2:192.168.60.11虚拟机3:192.168.60.12搭建方法参考Nomad Consul搭建集群,去除consul的部分即可。三台虚拟机分别创建/etc/nomad.d/nomad_test.hcl:datacenter = "dc1"data_dir = "/home/xxx/nomad/data" #自己修改路径s

2021-08-27 14:25:26 1204 4

原创 Nomad Consul搭建集群

Nomad Consul配置命令1.安装Nomad和Consul或者直接下载二进制文件放在/usr/bin下。https://www.nomadproject.io/downloadshttps://www.consul.io/downloads2.准备虚拟机两台为例:虚拟机1 IP地址:10.11.16.150虚拟机2 IP地址:10.11.16.1213.Consul在所有的Nomad client机器上启动agent由于两台虚拟机将会都包含Nomad server和Nomad

2021-08-26 17:01:03 1366

原创 TMS570LC43xx的SCI串口输出

目录TMS570LC43xx的SCI串口输出安装准备过程1.生成代码2.编译运行TMS570LC43xx的SCI串口输出本文介绍在TMS570LC43xx上用SCI1作为串口输出到WIN10主机的过程。参考:https://www.youtube.com/watch?v=PpalANwuzIo安装准备CCS 10.4HAL Code Generator 4.7.1WIN10 串口工具过程1.生成代码打开 HAL Code GeneratorFile -> New ->

2021-08-17 17:03:35 1527

原创 systemd进程启动管理实验(Ubuntu18.04)

SystemD进程启动管理实验(Ubuntu18.04)参考资料Systemd 入门教程:命令篇Systemd 入门教程:实战篇实验1实验环境:ubuntu18.04虚拟机流程:利用SystemD,执行一个脚本,从而创建进程A运行一个无限循环二进制文件。将进程A杀死,SystemD经过规定的一段时间后,重新启动同一脚本,创建进程B运行同一个无限循环二进制文件。1.创建二进制文件创建main.c:#include <stdio.h>int main(){ //printf(

2021-08-11 09:13:36 1541

原创 ARM64交叉编译OSQP库

OSQP交叉编译ARM64准备工作下载OSQP 0.4.1:https://github.com/osqp/osqp/releases/tag/v0.4.1,因为需求而选择这个版本,但是不知为何其中的osqp\lin_sys\direct\qdldl\qdldl_sources是缺失的,还要下载最新版的复制进去。下载安装cmake 3.18.4:https://github.com/Kitware/CMake/releases/tag/v3.18.4,按照自己主机的情况下载,我的是cmake-

2021-08-06 09:20:51 1348 1

原创 ThreadX学习(9)——消息队列

ThreadX学习(9)——消息队列学习参考消息队列作用消息流向队列缓存线程挂起消息大小队列大小API1.tx_queue_create2.tx_queue_send3.tx_queue_receive4.tx_queue_info_get5.tx_queue_delete6.tx_queue_flush7.tx_queue_front_send8.tx_queue_prioritize9.tx_queue_send_notify学习参考《Real-Time Embedded Multithreadi

2021-07-14 10:50:42 3119

原创 ThreadX学习(8)——事件标志

ThreadX学习(7)——事件标志和线程同步学习参考事件标志学习参考《Real-Time Embedded Multithreading: Using ThreadX and ARM》(链接:https://pan.baidu.com/s/1GMScXSlHq13yS4AVxP_zPw 提取码:ysuw )事件标志事件标志是线程同步的一个强大工具。事件标志可以被任何线程设置或清除,也可以被任何线程检查。线程可以在等待设置某些事件标志组合时挂起。每个事件标志用1 bit表示,事件标志以32

2021-07-13 14:36:42 2939

原创 ThreadX学习(7)——多核SMP

ThreadX学习(7)——多核SMP学习参考多核SMP初始化调度执行中断学习参考ThreadX SMP user guide 官方多核SMPSMP指对称多处理器,与AMP非对称多处理器并列。两者区别这里不详述,大概是前者一般只跑一个系统,而后者一般跑多个系统。初始化这是ThreadX SMP应用程序中的第一种程序执行类型。初始化包括处理器重置和线程调度循环进入点之间的所有程序执行。初始化由核心0执行或启动,这是重置后默认运行的核心。调度执行初始化完成后,每个运行ThreadX SMP

2021-07-05 16:38:39 2396

原创 在Xilinx ZCU102上移植ThreadX SMP

在Xilinx ZCU102上移植ThreadXZCU102移植ThreadX获取例程安装Xilinx SDK 2018.03导入例程FSBL引导编译运行验证SMPZCU102移植ThreadX获取例程ThreadX官方没有直接提供Xilinx ZCU102的移植例程,但是可以发邮件给azure-rtos-support@microsoft.com或者sclarson@microsoft.com,说明你想要移植的板子,就会发给你。我收到了两个例程:zcu102_cortex-a53_smp_fu

2021-07-01 16:38:28 3069 6

原创 ThreadX学习(6)——信号量

ThreadX学习(6)——信号量学习参考信号量二值信号量事件通知API1.tx_semaphore_create2.tx_semaphore_delete3.tx_semaphore_get4.tx_semaphore_info_get5.tx_semaphore_prioritize6.tx_semaphore_put学习参考《Real-Time Embedded Multithreading: Using ThreadX and ARM》(链接:https://pan.baidu.com/s/

2021-06-28 10:25:56 1265

原创 ThreadX学习(5)——系统时钟和定时器

ThreadX学习(4)——系统时钟和定时器学习参考内部系统时钟作用API1.tx_time_set2.tx_time_get应用程序定时器学习参考《Real-Time Embedded Multithreading: Using ThreadX and ARM》安富莱_STM32-V7开发板ThreadX内核教程(V0.7)内部系统时钟作用ThreadX提供了一个连续递增的32位tick计数器 _tx_timer_system_clock 内部系统时钟。应用程序初始化期间将内部系统时钟设

2021-06-25 16:06:31 3406

原创 ThreadX学习(1)——概述

ThreadX学习(1)——概述学习参考:组件学习参考:《Real-Time Embedded Multithreading: Using ThreadX and ARM》安富莱_STM32-V7开发板ThreadX内核教程(V0.7)组件某些组件是公共资源,这意味着它可以从任何线程访问。访问一个组件与拥有它是不同的。例如,互斥锁可以被任何线程访问,但一次只能被一个线程拥有。...

2021-06-25 10:22:18 4972

原创 ThreadX学习(4)——内存管理

ThreadX学习(3)——内存管理学习参考:内存分配内存字节池 memory byte pool内存块池 Memory block pool学习参考:《Real-Time Embedded Multithreading: Using ThreadX and ARM》安富莱_STM32-V7开发板ThreadX内核教程(V0.7)内存分配内存字节池 memory byte pool顾名思义,内存字节池是可用于任何资源的字节的顺序集合。内存字节池类似于一个标准的C语言堆。与C堆不同,内存字节

2021-06-23 09:35:44 2929

原创 ThreadX学习(3)——互斥锁

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结学习目标:学习内容:学习时间:学习产出:前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pand

2021-06-16 15:49:40 1478

原创 ThreadX学习(2)——线程

ThreadX学习(2)——线程学习参考:ThreadX中的线程线程创建堆栈分配互斥锁线程优先级优先级反转优先级继承抢占阈值线程状态数据结构TCB就绪列表API学习参考:《Real-Time Embedded Multithreading: Using ThreadX and ARM》安富莱_STM32-V7开发板ThreadX内核教程(V0.7)ThreadX中的线程在ThreadX中,一般没有进程的概念,统称为线程。关于调度器的实现细节,ThreadX可能是用汇编写的,没看懂。T

2021-06-11 11:02:14 5342 1

空空如也

空空如也

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

TA关注的人

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