Linearx配置环境

news/2025/1/8 18:24:09/

代码地址

git@ssh.dev.azure.com:v3/linearx/PowerDDS/PowerDDS

LinearX-5G Wifi pwd: 50186058

Windows报错可以搜索错误代码找官方给出的解决方案

最新版本cmake:ubuntu 20.04安装(升级)cmake - 知乎 (zhihu.com)

gtest:gtest的安装_liuzubing的博客-CSDN博客

fastdds 1.1. What is DDS? — Fast DDS 2.9.1 documentation (eprosima.com)

换源 

#Ubuntu apt
https://blog.csdn.net/c417469898/article/details/106412160
cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo gedit /etc/apt/sources.list# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse# 预发布软件源,不建议启用# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiversesudo apt-get updatesudo apt-get upgrade#pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple#conda
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/cloud/conda-forge/#测速
https://lework.github.io/2020/03/18/test-speed.repo/#恢复默认源
conda config --remove-key channels

查看系统镜像配置文件

vim ~/.condarc

SSH配置步骤:

注:虚拟机使用ssh时不能切换网络,会使DNS改变

.ssh文件夹在特定用户的用户文件夹下,其中id_rsa是私钥,id_rsa.pub是公钥。在ssh协议中,只要对方有己方公钥,即可完成加密解密。

ssh的公钥和私钥与账号密码是两套机制,配置良好的ssh不再需要用户每次输入密码。

生成ssh key:

git config --global user.name "xxx"
git config --global user.email "xxx"
ssh-keygen

确保是server是server:第一次连接时,为了确保安全的服务器,客户端要比对服务端的指纹,随后将服务端公钥存储在known_hosts里

确保client是client:不想每次都输入密码,则将客户端(我们)的ssh public key存储到服务器上,如Github。在每次建立SSH连接时,client会将公钥发送给server,server验证是否和存储值相同。

除此之外,server会向client发送一个(client生成的)会话密钥和client 的pubkey双重加密的质询,这一步同事验证了client和server双方。

(3条消息) ssh登陆认证过程详解_lihang656的博客-CSDN博客

验证Github SSH配置是否成功

ssh -T git@github.com

配置Linux环境:虚拟机或子系统 

  1. vscode打开或clone代码都需要ssh,需确保sshd打开
  2. 用vscode看代码:虚拟机需要用桥接网卡的IP地址,用户名,密码连接;子系统在ubuntu软件下或wsl终端输入code. 即可打开(需要WSL插件),其IP默认=localhost
  3. 从azure或github上clone代码:ssh-gen命令生成id_rsa.pub,将这个公钥添加到Azure或github上(id_rsa是私钥)

VScode轻松使用

  1. 设置失焦自动保存:ctrl+,打开设置-》搜索save-》auto save 选择
  2. 正则匹配:模糊匹配【(.*)】【$1】引用
  3. 文件排除:不需要./   直接写文件夹名

Linux轻松使用

  1. ubuntu需要换源,这样apt-get才能顺利下载
  2. 设置复制粘贴
  3. vim i插入 q退出 wq写入 /cmake构建项目

WSL轻松使用

WSL查看windows文件:在/mnt/c/Users/99396目录下,可以通过mv cp操作文件

通过Ubuntu软件打开VScode: 【code .】

Windows查看WSL里的文件【\\wsl.localhost\】【\\wsl$】

在WSL命令行打开文件资源管理器 【explorer.exe .】

编译项目

//在第三方库的build里
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON
cmake --build . --target install -j12//在PoweDDS下的build里
cmake ..  -DCMAKE_INSTALL_PREFIX=/usr/local
cmake --build . --target install -j12//生成的install文件在根目录下
//https://blog.csdn.net/u012739527/article/details/124687387?spm=1001.2014.3001.5502

 除了按以上方法build install thirdparty以外,还要按GTest下载方法将googletest下载到thirdparty内,并同样build install。此时PowerDDS下的build文件夹可以build了

// /home/kong/workspace/PowerDDS/src/cpp/utils/ipc/channel.h
// /home/kong/workspace/PowerDDS/src/cpp/utils/ipc/posix/mutex.hpp
// /home/kong/workspace/PowerDDS/src/cpp/utils/ipc/shared_memdata.h
// /home/kong/workspace/PowerDDS/src/cpp/utils/ipc/shared_memdata.cpp
#include<memory>
// /home/kong/workspace/PowerDDS/src/cpp/rtps/transport/common/system_comm_ops.cpp
#include<stdexcept>//添加stub
https://github.com/coolxv/cpp-stub/tree/master/src
只需要将stub.h放入到/usr/include的目录中即可

自动驾驶汽车是复杂的分布式系统,它结合了视觉、雷达、GPS、导航、规划和控制等组件。这些模块必须组合成安全可靠的系统,实时分析复杂的环境并对其做出正确反应。小鹏汽车、奥迪HIL平台等均采用DDS集成多种复杂异构传感器收集的信息,以支撑其作出及时正确的控制决策。

特别是多个 DataWriter 可以在不同的线 程中运行。如果它们隶属于同一个 Publisher,则中间件保证其操作是线程安全的。不要求 每个请求线程与其他请求线程隔离处理(例如导致几个隔离的一致变化集合)。如果每个请 求线程与其他请求线程相互隔离是期望的行为,那么正确的设计是为每个线程创建一个 Publisher

IPC核间通信

现在很多的芯片都会几个core核,有的用的是Cortex M0+、M4、M7、A53、A73等等,有的是2核、3核、4核甚至6核8核,不同的核的主频支持度不一样,适用的具体应用场景也不同。那么核间通信Inter-processor communication即IPC,一般作为核间通信使用。      核间通信(IPC)的主要目标是:充分利用硬件提供的机制,实现高效的CORE间通信;给需要CORE间通信的应用程序提供简洁高效的编程接口。 根据所使用的硬件特性,核间通信的实现机制有: Mailbox中断 基于共享内存的消息队列


http://www.ppmy.cn/news/51632.html

相关文章

文献阅读 Meta transfer learning-based super-resolution infrared imaging

题目 Meta transfer learning-based super-resolution infrared imaging 基于元迁移学习的超分辨率红外成像 摘要 我们提出了一种具有元迁移学习和轻量级网络的红外图像超分辨率方法。我们设计了一个轻量级网络来学习低分辨率和高分辨率红外图像之间的映射。我们使用外部数据…

python-数据库-4

数据查询 分页(限制查询返回条数) limit 子句 create table test(id int primary key auto_increment,name char(5),gerden varchar(2),grade double(4 , 1) );insert into test(name , gerden , grade) values (刘水东,男,89), (曹洪清,男,95), (轻岚,男,88), (泽瑞,男,90…

【SCI征稿】IEEE旗下1区人工智能类SCI, 稳定检索22年,仅3个月左右录用~

一、期刊简介&#xff1a; 1区人工智能类SCI&EI (高质量) 【期刊概况】IF:6.0-7.0, JCR1区, 中科院3区&#xff1b; 【终审周期】走期刊部系统&#xff0c;3个月左右录用&#xff1b; 【检索情况】SCI&EI双检&#xff0c;正刊&#xff1b; 【数据库收录年份】2001…

JVM中的垃圾回收概念及其基础算法说明

文章目录 一、 垃圾回收概述1、什么是垃圾&#xff1f;2、为什么我们需要GC 二、垃圾回收之判别对象死活1、标记阶段&#xff1a;引用计数算法2、标记阶段&#xff1a;可达性分析算法 二、 finalization 机制三、整理和清除对象1、标记-清除算法&#xff08;Mark-Sweep&#xf…

应急照明系统在民用建筑的设计应用与产品选型

【摘要】应急照明分为备用照明、安全照明及疏散照明。文章介绍了应急照明系统的设计、灯具选择、灯具布置、配电等要求。并结合实例进行疏散照明的计算&#xff0c;以指导应急照明系统的设计与应用。 【关键词】照度&#xff1b;光通量&#xff1b;消防应急灯具&#xff1b;A型…

C#开发的OpenRA的游戏侧边界面

C#开发的OpenRA的游戏侧边界面 OpenRA游戏开始之后,会在右边提供一个游戏侧边界面, 通过这个游戏界面,可以查看游戏状态、执行一些特殊的命令,以及雷达显示, 还有创建各种需要的建筑物,以及生产各种兵种,飞机等等。 这个游戏界面,就是给玩家提供一个操作平台,因此它…

Redis序列化设置以及jetcache连接Redis序列化的设置

1、问题 问题&#xff1a;我在使用jetchche进行连接redis的时候&#xff0c;存入redis的value一直使用的是redis默认的序列化方式&#xff0c;是使用的jdk序列化。当我使用jetcache向redis存入一个对象 存入redis的结果: 这是使用jdk序列化的结果。 但是我记得使用redis的时候…

使用手机在网状态查询 API 有效防止虚假注册的设计思路

引言 随着移动互联网的普及&#xff0c;手机在网状态成为重要的数据指标。在网状态反映了手机用户的实际使用情况&#xff0c;对于各类企业和机构具有重要意义。 本文将为大家介绍手机在网状态 API 的主要特点和优势&#xff0c;并且探讨手机在网状态 API 的应用场景和效果展…