C++设计模式
VisualGDB VisualKernel激活
破解机链接:VisualGDB和VisualKernel的破解
官网:
VisualGDB - Serious cross-platform support for Visual Studio
VisualKernel - Linux Kernel support for Visual Studio
Analyzer2Go - Turn your development board into a logic analyzer
官网下载对应软件并选择对应的 VS 进行按照
双击打开破解机 SysprogsTool.exe
在未启动 VS 的情况下点击 替换密钥 替换对应软件中的 VisualGDBCore.dll、VisualKernelCore.dll、LogicViewer.exe
点击 生成 生成序列号(激活码)、点击 获取 获取设备 ID
填写用户名
生成对应的 xxx.key 文件,并存放于硬盘上
点击 启动Http服务 启动 http 服务器
启动 VS ,选择 文件->新建->VisualGDB Proje ...
VSCode 常用快捷键
VSCode 常用快捷键
面板操作
Ctrl+Shift+P 打开命令面板
ctrl+p,ctrl+enter 搜索文件,并且新建一个窗口查看
ctrl+` 打开/隐藏终端
ctrl+j 切换面板可见性
ctrl+k, ctrl+s 打开快捷键设置
窗口
ctrl+tab 或 alt+1/2/3 切换文件
ctrl+PageDown/PageUp 切换打开的页面
ctrl+shift + T 打开最近一次关闭的页面
ctrl+w 关闭当前窗口
跳转
ctrl+shift+\ 花括号之间跳转
ctrl+g 跳转到指定行
shift+home/end 光标到行首/行尾文本
ctrl+k, ctrl+q 回到上一次修改的地方(几个页面之间修改应用)
ctrl+u 撤销光标的移动和选择(使用场景是,你修改了上一个地方,找不到了)
ctrl+shift+o 文件内函数的跳转
alt+左/右箭头 单词级跳转,可以结合多光标操作使用
格式化
ctrl+k, ctrl+f 格式化选中代码
alt+shift+f 可以自动排布文档(formating)
ctrl+[,] 行缩进
ctrl+shift+[ ...
openwrt安装transmission.md
openwrt安装transmission
参考链接:[OpenWrt Wiki] Transmission configuration
使用的是 coolsnowwolf/lede: Lean’s LEDE source,固件版本:OpenWrt R22.7.23 / LuCI Master (git-22.162.38724-815bb96)
123# 安装 transmissionopkg updateopkg install luci-i18n-transmission-zh-cn # 会连着带来下luci-app-transmission、transmission-cli-openssl、transmission-daemon-openssl、transmission-remote-openssl、transmission-web-control
安装后会出现在 openwrt 后台(LUCI界面)的网络存储项中
注意:LEDE 的源和标准 openwrt 的源不太一样,注意不要修改源
此时编辑 transmission 的配置文件 /etc/config/trans ...
Linux perl性能分析工具
Linux perl性能分析工具
参考链接:Linux perf Examples (brendangregg.com)
perl作为Linux上的分析器,也被称为 Linux 性能计数器 (Performance Counters for Linux,PCL)、Linux 性能事件 (Linux perf events,LPE) 或 perf_events
perf_events 是 Linux 内核的一部分,位于 tools/perf 下。虽然它使用了许多 Linux 跟踪功能,但有些还没有通过 perf 命令公开,需要通过 ftrace 接口来使用
C++ 虚函数、纯虚函数
C++ 虚函数、纯虚函数
转载于C++ 虚函数、纯虚函数
多态(polymorphism)是面向对象编程语言的一大特点,而虚函数是实现多态的机制。其核心理念就是通过基类访问派生类定义的函数。多态性使得程序调用的函数是在运行时动态确定的,而不是在编译时静态确定的。使用一个基类类型的指针或者引用,来指向子类对象,进而调用由子类复写的个性化的虚函数,这是C++实现多态性的一个最经典的场景。
虚函数,在类成员方法的声明(不是定义)语句前加“virtual”, 如 virtual void func()
纯虚函数,在虚函数后加“=0”,如 virtual void func()=0
对于虚函数,子类可以(也可以不)重新定义基类的虚函数,该行为称之为复写Override。
对于纯虚函数,子类必须提供纯虚函数的个性化实现。
在派生子类中对虚函数和纯虚函数的个性化实现,都体现了“多态”特性。但区别是:
子类如果不提供虚函数的实现,将会自动调用基类的缺省虚函数实现,作为备选方案;
子类如果不提供纯虚函数的实现,编译将会失败。尽管在基类中可以给出纯虚函数的实现,但无法通过指向子类对象的基类类型指 ...
VEYE摄像头调试
VEYE摄像头调试
购买链接汇总:
IMX335:https://item.taobao.com/item.htm?id=667838924636
镜头:https://item.taobao.com/item.htm?id=668932171370
IMX385:https://item.taobao.com/item.htm?id=652462224940
彩色镜头:https://item.taobao.com/item.htm?id=652466540222
日夜镜头:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-22168649243.40.23745011NQ44JF&id=668234229298
IMX307:https://item.taobao.com/item.htm?id=609353783398
镜头:https://item.taobao.com/item.htm?id=602355025463
参考资料汇总:
官方网站:www.veye.cc
gi ...
基于VSCode搭建ESP-IDF开发环境
基于VSCode搭建ESP-IDF开发环境
转载于基于VSCode搭建ESP-IDF开发环境 - 远处有泽细细说 (yuanze.wang)
乐鑫官方提供的VSCode插件Espressif IDF实在是称不上好用。实际上,基于VSCode手动搭建的ESP-IDF的开发环境可以获得与插件几乎相同的使用体验。
安装前的准备工作
ESP-IDF在Windows中仅仅依赖Git与Python3,其他如工具链、Cmake等工具,ESP-IDF均会自行安装并使用自己的版本。因此,在开始一切之前,请先下载Git与Python3,直接选择最新版本即可。
若您未安装Visual Studio Code,请前往微软官网进行下载并安装。同时,请在VSCode中安装C/C++插件。
在开始之前,强烈建议您同时安装Windows Terminal以提升使用PowerShell终端的体验。
获取ESP-IDF
使用Git在线获取
ESP-IDF可以在乐鑫官方的GitHub仓库中获取。对于非尝鲜的场景,强烈建议切换到一个release分支,而不是使用尚未稳定的master分支。在本文中,假定ESP-IDF ...
JetsonXavierNX摄像头驱动开发指南
JetsonXavierNX摄像头驱动开发指南
参考手册:NVIDIA Jetson Linux Developer Guide(下文中所指的参考手册均是指该手册)
Jetson资料下载中心:Jetson Download Center | NVIDIA Developer
Jetson Xavier NX 信息:
Linux jetson-desktop 4.9.253-tegra
L4T 32.7.2
platform代码:
t234:Jetson AGX Orin
t194:Jetson Xavier NX 系列、Jetson AGX Xavier 系列
t210:jetson nano、jetson tx1
内核定制化
下载编译内核
从Jetson Linux | NVIDIA Developer处下载最新的(或者自己选L4T版本号)内核源码L4T Driver Package (BSP) Sources
注意:
目前(2022/6/4)L4T 34.1之后,暂时只支持 Jetson AGX 系列和 Jetson Xavier 系列,其余暂不支持
下载的是源码包 ...
ESP32引脚使用注意事项
ESP32引脚使用注意事项
主要参考:
ESP32 Pinout Reference: Which GPIO pins should you use? | Random Nerd Tutorials
各引脚分别作为输入输出时的推荐程度和注意事项说明:
以绿色突出显示的引脚可以使用
黄色突出显示的可以使用,但需要注意,因为它们可能主要在启动时出现意外行为
不建议将红色突出显示的引脚用作输入或输出
电容式触摸 GPIO
ESP32 有 10 个内部电容式触摸传感器。这些可以感知任何带有电荷的东西的变化,比如人类皮肤。因此,他们可以检测用手指触摸 GPIO 时引起的变化。这些引脚可以很容易地集成到电容垫中并取代机械按钮。电容式触摸引脚也可用于将 ESP32 从深度睡眠中唤醒。
这些内部触摸传感器连接到这些 GPIO:
T0 (GPIO 4)
T1 (GPIO 0)
T2 (GPIO 2)
T3 (GPIO 15)
T4 (GPIO 13)
T5 (GPIO 12)
T6 (GPIO 14)
T7 (GPIO 27)
T8 (GPIO 33)
T9 (GPIO 32)
ADC ...
ESP8266引脚使用注意事项
ESP8266引脚使用注意事项
主要参考:
ESP8266 Pinout Reference: Which GPIO pins should you use? | Random Nerd Tutorials
各引脚分别作为输入输出时的推荐程度和注意事项说明:
以绿色突出显示的引脚可以使用
黄色突出显示的可以使用,但需要注意,因为它们可能主要在启动时出现意外行为
不建议将红色突出显示的引脚用作输入或输出
GPIO6 到 GPIO11 通常连接到 ESP8266 板上的 flash 芯片。因此,不建议使用这些引脚。
如果某些引脚被拉低或拉高会阻止 ESP8266 启动。以下列表显示了 BOOT 时的状态:
GPIO16: BOOT时为高
GPIO0: 如果下拉,则BOOT失败
GPIO2: BOOT时为高,如果下拉,则BOOT失败
GPIO15: 如果上拉,则BOOT失败
GPIO3: BOOT时为高
GPIO1: BOOT时为高,如果下拉,则BOOT失败
GPIO10: BOOT时为高
GPIO9: BOOT时为高
ESP8266 仅支持一个 GPIO 中的模拟读取。 ...