qnx的网络知识记录
1、网络驱动加载
http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.core_networking/topic/drivers_Loading.html
使用mount挂载io-pkt模块
mount -Tio-pkt /lib/dll/devnp-e1000.sonicinfo 命令可以查看网卡的各种状态,包括phy的状态
2、iopkt
iopkt的介绍,包括bpf
http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.sys_arch/topic/net_Manager.html
3、vdevpeer
http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.hypervisor.safety.user/topic/utils/devnp-vdevpeer-net.so.html
Guest-to-host
Configure a virtio-net vdev
The following excerpt shows the virtio-net vdev configuration in the *.qvmconf file for the VM hosting the guest.
For a QNX guest on an ARM board, configure a virtio-net vdev as follows:
system qnx71-arm-guest ... # The loc and intr gic options are for ARM only. The guest will see the # virtio-net vdev as a memory-mapped I/O device at the specified location. vdev virtio-net loc 0x1c0c0000 intr gic:40 mac aa:aa:aa:aa:aa:aa name p2p peer /dev/vdevpeers/vp0 peerfeats 0x3
http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.hypervisor.user/topic/network/guest2host.html
Description:
The devnp-vdevpeer-net.so driver enables an io-pkt-* networking manager running in the host to communicate with virtual network devices configured for guests. The driver works with both the io-pkt-v4-hc and io-pkt-v6-hc stack variants. It is used for peer-to-peer communication between the hypervisor host and guests, and can be used to facilitate communication between guests and the outside world, by enabling a bridge running in the host's networking manager to connect guests to the outside world.
To use the devnp-vdevpeer-net.so driver to set up peer-to-peer communication in a hypervisor system and with the outside world:
In the hypervisor host, start io-pkt-*, specifying the devnp-vdevpeer-net.so driver, and using the driver options to configure the node in the hypervisor host: the connection path, the MAC address, the path to the node in the guest, and, optionally, a name for the node. For example:
io-pkt-v6-hc -d vdevpeer-net \
peer=/dev/qvm/vt1,bind=/pkt/vp0,mac=a0b0c0d0e0f0
where /dev/qvm/vt1 is the path of the peer to communicate with, /pkt/vp0 is the path to the peer node (the guest), and a0b0c0d0e0f0 is this peer node's MAC address.
Configure the IP address of the peer node; for example:
ifconfig vp0 192.0.2.1
where vp0 is the peer node, and 192.0.2.1 is its IP address.
In the qvm configuration file for the VM that will host the guest, configure the virtio-net vdev (see “vdev virtio-net” in the “Virtual Device Reference” chapter).
可以通过.qvmconfig配置文件配置vdevpeer:
http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.hypervisor.safety.user/topic/network/guest2host.html
http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.hypervisor.user/topic/network/network.html
4、8155双系统中的qnx配置
QNX/qnx_ap/target/hypervisor/host/startup.qvmhost.tmpl
https://download.csdn.net/download/yudelian/87472378
这儿会根据Guest的类型挂载io-pkt,绑定不同的vdevpeer,我的车机系统只绑定了vp0
在这儿,qnx创建一个bridge0, 将vp0加入,并且将emac0加入,形成一个网桥二层网络
这儿还可以通过devc-quipv3设置 uart启动之类的
echo $(nsec)"mount -T io-pkt"
#if defined(__GUEST_TYPE_LA__)
mount -T io-pkt -o peer=/dev/qvm/la/la_to_host,bind=/dev/vdevpeer/vp0,mac=aaaaaaaaaaaa,mode=0660 /lib/dll/devnp-vdevpeer-net.so#elif defined(__GUEST_TYPE_FDN__)
echo $(nsec)"mount -T io-pkt -o peer=/dev/qvm/la/la_to_host"
mount -T io-pkt -o peer=/dev/qvm/la/la_to_host,bind=/dev/vdevpeer/vp0,mac=aaaaaaaaaaaa /lib/dll/devnp-vdevpeer-net.so
mount -T io-pkt -o peer=/dev/qvm/lv/agl_to_host,bind=/dev/vdevpeer/vp1,mac=aaaaaaaaaaa1 /lib/dll/devnp-vdevpeer-net.so
mount -T io-pkt -o peer=/dev/qvm/qnx_1/qnx_to_host,bind=/dev/vdevpeer/vp2,mac=aaaaaaaaaaa2 /lib/dll/devnp-vdevpeer-net.so#else
echo $(nsec)"mount -T io-pkt -o peer=/dev/qvm/la/la_to_host"
mount -T io-pkt -o peer=/dev/qvm/la/la_to_host,bind=/dev/vdevpeer/vp0,mac=aaaaaaaaaaaa /lib/dll/devnp-vdevpeer-net.so
mount -T io-pkt -o peer=/dev/qvm/lv/agl_to_host,bind=/dev/vdevpeer/vp1,mac=aaaaaaaaaaa1 /lib/dll/devnp-vdevpeer-net.so
#endif#if defined(__GUEST_TYPE_LA__)
if [ $SECPOL_ENABLE -eq 1 ];thenon -T ifconfig_t -u IFCONFIG_UID:IFCONFIG_GID ifconfig vp0 upon -T ifconfig_t -u IFCONFIG_UID:IFCONFIG_GID ifconfig bridge0 createbrconfig bridge0 add vp0 up
elseifconfig vp0 upifconfig bridge0 createbrconfig bridge0 add vp0 up
fiecho $(nsec)"brconfig bridge0 add emac0 up"
brconfig bridge0 add emac0 up
ifconfig emac0 172.20.0.34/24 up
route add default 172.20.0.40ifconfig vlan3 create
if_up -p vlan3
ifconfig vlan3 vlan 3 vlanif emac0
ifconfig vlan3 172.20.3.34/24 up
QNX/qnx_ap/ target/hypervisor/host/build_files/system.build.tmpl
这个文件应该可以配置uart、spi、中断号等
vdev vdev-virtio-net.so loc 0x1c0c0000 intr gic:41 peer /dev/vdevpeer/vp0 mac aa:bb:cc:dd:ee:23 name la_to_host//这儿感觉是通过qvm加载配置,暂时也不太清楚
//代码里没找到/vm/images/linux-la.config, 但是在qnx运行系统里有
[uid=0 gid=0 perms=555] bin/runla={
dtach -A /tmp/la_1 -r winch qvm @/vm/images/linux-la.config
相关文章:
qnx的网络知识记录
1、网络驱动加载http://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.core_networking/topic/drivers_Loading.html使用mount挂载io-pkt模块mount -Tio-pkt /lib/dll/devnp-e1000.sonicinfo 命令可以查看网卡的各种状态,包括phy的状态2、iopktiopkt的介…...
【Vue/基础知识】Vue基础知识(一)
如果觉得我的分享有一定帮助,欢迎关注我的微信公众号 “码农的科研笔记”,了解更多我的算法和代码学习总结记录。或者点击链接扫码关注 【Vue/基础知识】Vue基础知识(一) 1、v-show 和 v-if 指令的共同点和不同点? 共…...
Iceberg实战踩坑指南
第 1 章 介绍 Apache Iceberg 是一种用于大型分析数据集的开放表格,Iceberge 向 Trino 和 Spark 添加了使用高性能格式的表,就像 Sql 表一样。 Iceberg 为了避免出现不变要的一些意外,表结构和组织并不会实际删除,用户也不需要特…...
预告|2月25日 第四届OpenI/O 启智开发者大会昇腾人工智能应用专场邀您共启数字未来!
如今,人工智能早已脱离科幻小说中的虚构想象,成为可触及的现实,并渗透到我们的生活。随着人工智能的发展,我们正在迎来一个全新的时代——数智化时代。数据、信息和知识是这个时代的核心资源,而人工智能则是这些资源的…...
UnRaid虚拟机安装OpenWrt软路由
文章目录0、前言1、Openwrt虚拟机安装1.1、前提,需要先在UnRaid中开启虚拟机:1.2、下载OpenWrt虚拟机镜像并上传至UnRaid共享文件夹1.3、创建OpenWrt虚拟机2、开启并设置OpenWrt虚拟机2.1、修改OpenWrt管理ip2.2、OpenWrt的上网设置0、前言 最近折腾了很…...
开发日记-lombok
开发日记-lombok环境问题解决方案:1 Data注解失效 无法正常生成 get和set方法2 RequiredArgsConstructor(onConstructor _(Lazy)) 符号_无法识别环境 idea2020.1lombok1.18.24jdk1.8 问题 Data注解失效 无法正常生成 get和set方法RequiredArgsConstructor(onCons…...
Web3中文|2023年zk赛道爆发,即将推出的Polygon zkEVM有多重要?
2月15日,以太坊第2层解决方案提供商Polygon终于公布了备受期待的扩展更新,其零知识以太坊虚拟机(zkEVM)主网的测试版定于3月27日发布。 据官方消息报道,自去年10月上线测试网以来,已取得许多重要的里程碑&…...
【自然语言处理】主题建模:Top2Vec(理论篇)
主题建模:Top2Vec(理论篇)Top2Vec 是一种用于 主题建模 和 语义搜索 的算法。它自动检测文本中出现的主题,并生成联合嵌入的主题、文档和词向量。 算法基于的假设:许多语义相似的文档都可以由一个潜在的主题表示。首先…...
【ICLR 2022】重新思考点云中的网络设计和局部几何:一个简单的残差MLP框架
文章目录RETHINKING NETWORK DESIGN AND LOCAL GEOMETRY IN POINT CLOUD: A SIMPLE RESIDUAL MLP FRAMEWORKPointMLP残差点模块几何仿射模块精简版模型:PointMLP-elite实验结果消融实验RETHINKING NETWORK DESIGN AND LOCAL GEOMETRY IN POINT CLOUD: A SIMPLE RESI…...
《MySQL学习》 count(*) 原理
一 . count(*)的实现方式 MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count() 的时候会直接返回这个数,效率很高; 而 InnoDB 引擎就麻烦了,它执行 count(*) 的时候,需要把数据一行一行…...
时间序列数据预测的类型
本文主要内容是使用LSTM网络进行不同类型的时间序列预测任务,不涉及代码,仅仅就不同类型的预测任务和数据划分进行说明。 参考文章:https://machinelearningmastery.com/how-to-develop-lstm-models-for-time-series-forecasting/ 注…...
sk_buff结构体成员变量说明
一. 前言 Socket Buffer的数据包在穿越内核空间的TCP/IP协议栈过程中,数据内容不会被修改,只是数据包缓冲区中的协议头信息发生变化。大量操作都是围绕sk_buff结构体来进行的。 sk_buff结构的成员大致分为3类:结构管理域,常规数据…...
springbatch设置throttle-limit参数不生效
背景描述 当springbatch任务处理缓慢时,就需要使用多线程并行处理任务。 参数throttle-limit用于控制当前任务能够使用的线程数的最大值。 调整throttle-limit为10时,处理线程只有8,再次增大throttle-limit值为20,处理线程依旧为…...
用 tensorflow.js 做了一个动漫分类的功能(一)
前言:浏览某乎网站时发现了一个分享各种图片的博主,于是我顺手就保存了一些。但是一张一张的保存实在太麻烦了,于是我就想要某虫的手段来处理。这样保存的确是很快,但是他不识图片内容,最近又看了 mobileNet 的预训练模…...
看完这篇Vue-element-admin,跟面试官聊骚没问题
Vue-element-admin vue-element-admin 是一个后台前端解决方案,它基于 vue 和 element-ui实现。它使用了最新的前端技术栈,内置了 i18 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富…...
2022年全国职业院校技能大赛(中职组)网络安全竞赛试题A(5)
目录 模块A 基础设施设置与安全加固 一、项目和任务描述: 二、服务器环境说明 三、具体任务(每个任务得分以电子答题卡为准) A-1任务一 登录安全加固(Windows) 1.密码策略 a.密码策略必须同时满足大小写字母、数…...
基于Java+SpringBoot+Vue+Uniapp前后端分离商城系统设计与实现
博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战✌ 博主作品:《微服务实战》专栏是本人的实战经验总结,《Spring家族及…...
新建ES别名 添加别名 切换别名
# 查询别名指向到哪个索引 GET bebd_factory_search/_alias # 查询这个索引使用了什么别名 GET bebd_factory_search_1588250935622/_alias # 删除索引 DELETE bebd_factory_search_1588250935622 # 新建别名 POST /_aliases { "actions": [ { "ad…...
MySQL —— 内外连接
目录 表的内外连接 一、内连接 二、外连接 1. 左外连接 2. 右外连接 表的内外连接 表的连接分为内连和外连 一、内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面博客中的查询都是内连接,也是在开发过程中使用的最多…...
EXCEL中文本和数字的相互转换方法
将EXCEL中存为文本的数字转换成数字 如果在 Excel 中,将数字存储为文本格式,可以通过以下步骤将其转换为数字: 选中需要转换格式的单元格或者整列;右键单击,选择“格式单元格”;在弹出的对话框中选择“常…...
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
