Linux系统下执行make命令,编译比较大一点的工程或者文件的时候,在命令行下错误和警告信息直接就把我们的实现覆盖了。
那么如何保存配置编译过程的信息?
最好是把编译过程的信息保存成日志文件,方便后面的分析。举例说明保存编译信息的行命令,它把make过程打印的所有信息都保存在xxx.log中。
# 这条命令是编译并保存打印信息。在Linux Shell的设备定义中,“0”表示标准输入,“1”表示标准输出,“2”表示标准出错信息输出。2>&1表示把2设备的信息重定向到1设备;
# “|”是管道符号,把标准输出的信息直接传递给后面的命令;tee是创建文件并保存信息的工具;xxx.log是文件名。
$ make 2>&1|tee xxx.log
# 相比于上面的命令,输出到log文件的信息更多
# 但是,终端不显示任何编译信息
$ make > build.log 2>&1
转:
# list PATH
$ echo $PATH
# add new to PATH
$ export PATH=$PATH:新添加的路径
# delete something in PATH
$ echo $PATH #if PATH=路径1:路径2:路径3:路径4
$ export PATH=路径1:路径2:路径4
参考:
“车载摄像头技术方案分析报告”
视频流:
Sensor -》 ISP -》 Serializer -》 CSI/MIPI -》 DeSerializer -》 SoC(内含ISP)
Sensor:CCD 或者 CMOS
ISP: 黑电平补偿 、镜头矫正 、坏像素矫正 、颜色插值 、Bayer 噪声去除、 白平衡矫正、 色彩矫正 、 gamma 矫正、 色彩空间转换( RGB 转换为 YUV) 、 在 YUV 色彩空间上彩噪去除与边缘加强、 色彩与对比度加强,中间还要进行自动曝光控制
色彩空间的概念,主要是RGB、YUV这两种(实际上,这两种体系包含了许多种不同的颜色表达方式和 模型,如sRGB, Adobe RGB, YUV422, YUV420 …)。
RGB与YUV的转换公式
如果摄像头图像传给到SoC主机后,用作自动驾驶,就涉及到自动驾驶的视觉技术,视觉技术需要解决的是“摄像头拍到的是什么物体”。
机器识别能读懂是什么物体,需要进行后续图像分割、物体分类、目标跟踪、世界模型、多传感器融合、在线标定、视觉SLAM、ISP等一系列步骤进行匹配与深度学习,其核心环节在于物体识别与匹配,或者运用AI 自监督学习来达到感知分析物体的目的。
特斯拉的深度学习网络称为HydraNet。其中,基础算法代码是共享的,整个HydraNet包含48个不同的神经网络,通过这48个神经网络,就能输出1000个不同的预测张量。理论上来说,特斯拉的这个超级网络,能同时检测1000种物体。
可以由视觉完成3D的深度信息。
前视摄像头:FOV角度不大(40~50度左右),频率30~60Hz,高动态(100dB),像素100W~200W。
倒车摄像头:FOV角度大于130度,频率30Hz以上就可以,大于70dB即可,像素大于100W。
环视摄像头:FOV角度非常大(170度),频率大于30Hz,宽动态。
[1] -D
CFLAGS += -DETHTSN
解释: -D是gcc命令行参数,定义宏。 虽然写在Makefile中,跟Makefile没什么关系
比如: CFLAGS= -D_MY_MACRO 下面一定有 $(CC) $(CFLAGS) 这样传给gcc
参考 1. 以太网详解(一)-MAC/PHY/MII/RMII/GMII/RGMII基本介绍(转)
2. MII、GMII、RMII、RGMII、SGMII、XGMII
指标 | GMII | RGMII | SGMII | USXGMII |
---|---|---|---|---|
全称 | Gigabit Media Independent Interface | Reduced GMII | Serial Gigabit Media Independent Interface | 10 Gigabit Media Independent Interface |
简介 | 是一种并行接口,用于连接MAC层和物理层 | 是GMII(Gigabit Media Independent Interface)的简化版本,数据位宽为4位 | 数据线和时钟线各为一根,双向共四根线,相比GMII的8位数据线和多根控制线,大大减少了引脚数量 | 是一种高速以太网接口标准,支持10G以太网的数据传输。它由IEEE标准802.3定义,用于连接网络设备如交换机和路由器 |
信号线(部分参见下表) | 使用8根数据线来传送数据 | 接口的数据线和时钟线各为一根,双向共四根线,相比GMII的8位数据线和多根控制线,大大减少了引脚数量 | 链路由收发各一对差分对组成,用来在单端口或多端口PHY和MAC之间传递数据帧和link速率等控制信息 | |
速率 | 适用于10/100/1000 Mbps的传输速率,时钟频率为125 MHz | 支持10/100/1000Mbps三种通信速率。在10/100Mbps模式下,数据线采用单沿采样,而在1000Mbps模式下,数据线采用双沿采样。RGMII接口的时钟频率在1000Mbps传输速率下为125MHz。 | SGMII的时钟频率为625 MHz,在时钟信号的上升沿和下降沿均采样,适用于MAC侧没有时钟的情况。 | serdes的最大速率由外部端口最大速率决定,一般有5G和10G两种serdes速率 |
是否双工 | 支持全双工传输,并且可以配置为单端口或多端口模式。 | |||
应用场合 | 适合成本敏感的应用 | 适合需要高密度连接的应用 | 适用于10G以太网传输,支持多端口配置,适合高性能网络设备 |
参考 1. 原文链接
释义 Docker是一个平台,允许您使用容器或与平台无关的独立环境在隔离状态下部署和运行您的应用程序,在该环境中,您的应用程序与运行所需的依赖项和资源一起打包。这种更快的访问使您的应用程序快速且高性能。
WebAssembly(也称为 Wasm)是万维网联盟发布的一种规范,用于创建可以以与容器相同的方式运行的高效二进制可执行文件。
结论
wasm特别适用于 Web 应用程序以及 Web 之外的服务器端应用程序。
在多种情况下,WebAssembly 将是比 Docker 或 containerd 更好的选择。
WebAssembly 有潜力成为 Docker 的重要替代部署单元。
Docker 的创建者 Solomon Hykes在 2019 年发推文说,“如果 WASM+WASI 在 2008 年存在,我们就不需要创建 Docker。”
它是如此强大。