C++ 常用函数
Welcome to [C++]CPP合集(github)虚函数表实现机制 Quick Start 多引用自github上的C++项目 成员变量或函数的命名约定public : 公共的成员变量不建议直接暴露,而是通过公共成员函数来获取protect : 结尾加下划线, 比如member_private : 结尾加下划线, 比如member_ (我觉得也可用开头加下划线 _member) UML类图箭头 普通箭头: 箭头通常表示关联关系(Association)。它指示两个类之间的连接,表示类之间的关联或依赖关系。 空心箭头:空心箭头通常用于表示继承关系(Inheritance)。它表示一个类继承自另一个类,即子类继承父类的属性和方法。 菱形符号菱形通常用于表示聚合关系(Aggregation)或组合关系(Composition)。聚合关系:表示整体与部分之间的关系,部分可以存在独立于整体。组合关系:表示整体与部分之间的关系,部分不能存在独立于整体。 实线和虚线实线:...
Eigen
矩阵Matrix 模板参数Matrix<typename Scalar, int RowsAtCompileTime, int ColsAtCompileTime, int Options = 0, int MaxRowsAtCompileTime = RowsAtCompileTime, int MaxColsAtCompileTime = ColsAtCompileTime> Options 参数是指定矩阵使用行为主存储顺序,比如RowMajor(枚举) 就是指定行主序,一行在内存中是连续的。MaxRowsAtCompileTime和MaxColsAtCompileTime在需要指定时非常有用,即使在编译时不知道矩阵的确切大小,但在编译时知道一个固定的上限。这样做的最大原因可能是为了避免动态内存分配。 点乘和叉乘dot(), cross() 欧几里得范数squaredNorm : 所有系数的平方之和norm : 欧几里得范数的平方根v.lpNormEigen::Infinity() :...
Eigen
lwip ethernetmac addrIPV4的全网广播地址是 FF:FF:FF:FF:FF:FFMAC 地址的结构:OUI + NIC 前 3 个字节 (24 位) 后 3 个字节 (24 位) OUI (Organizational Unique Identifier) NIC 部分 (Network Interface Controller) 组织唯一标识符 网络接口控制器标识符 标识 设备的制造商 由制造商分配的唯一序列号 由 IEEE 统一分配和管理 由制造商自行分配,确保在其 OUI 下唯一 OUIOUI 是由 IEEE(电气与电子工程师学会) 的注册管理机构 RA(Registration Authority) 官方分配给设备制造商的一个全球唯一的标识符。 特殊位:U/L 和 I/G在第一个字节中,有两个非常重要的位(最低有效位),它们定义了地址的属性: I/G (Individual/Group) Bit:位置:第一个字节的 第 0...
Qt
关于Qt的一些笔记Qt Creator的安装用清华镜像注意qt的账户分商务和社区版本https://mirrors.tuna.tsinghua.edu.cn/qt/ moveToThreadmoveToThread 设置线程亲和性的作用是将对象及其事件处理关联到指定的线程。在 Qt 等框架中,每个对象默认属于创建它的线程,只有属于某个线程的对象才能在该线程中安全地接收和处理事件。
关于嵌入式的一些概念
U-Boot常见的 开源引导加载程序,用于嵌入式系统。它支持多种架构,包括 ARM、x86、PowerPC、RISC-V 等。U-Boot 提供了启动嵌入式系统的关键功能,如加载操作系统内核、引导文件系统、硬件初始化和系统调试。 b: Byte 8bitw: Word 字 16bit(嵌入式)I: 整型 interge 32bit BSP板级支持包(BSP):BSP 是嵌入式系统开发中的一个重要概念,指的是为特定的硬件平台或开发板提供的软件支持包。BSP 包含了针对特定硬件平台的驱动程序、操作系统适配层、外设控制库以及其他必要的软件组件。它的目的是为嵌入式开发人员提供一个统一的接口和工具集,简化针对特定硬件平台的软件开发过程。BSP 可以包括针对处理器、内存、外设(如串口、GPIO、SPI、I2C 等)、中断控制等的底层驱动程序和库。 PS and PLPS : Processing SystemPS端通常指的是处理系统部分,即嵌入式处理器或CPU。这个部分通常运行软件,执行高层次的应用程序代码和控制任务。在Xilinx的Zynq系列FPGA中,PS端通常指的是内嵌的ARM...
arm
RICRIC 通常指 RAN Intelligent Controller(无线接入网智能控制器)
linux kernel
kernel 编译常见错误编译选项证书make[1]: [/home/hjk/Desktop/workspace/00.linux-kernel/linux-6.14.2/Makefile:1994: .] Error 2make: [Makefile:251: __sub-make] Error 2 编译时内存不足(多半是虚拟机分配的内存空间不足)# 1. 创建分区sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 # 1 * 1024 = 1024 创建 1 g 的内存分区sudo mkswap /swapfilesudo swapon /swapfile# free -m #可以查看内存使用# 创建完交换分区之后就可以继续编译# 编译完之后记得用以下命令关闭交换分区# 某次我就是忘了关闭交换分区,导致开不了机,然后切换 tty1 ,登进去之后关闭交换分区才可以进入桌面的。#2. 关闭分区sudo swapoff /swapfilesudo...
驱动开发
常用函数kmalloc 和 dev_kzalloc 分配内存kmalloc : 需要手动清理, 收到释放 ; 但是 dev_kzalloc可以自动管理内存devm系列的函数可以自动释放资源kzalloc : 分配需要初始化为零的内存块 module_platform_driver 和 platform_driver_register区别module_platform_driver 和 platform_driver_register 是 Linux 内核中用于注册平台驱动的两种不同方式。这两种方式都用于注册一个平台设备驱动程序,但在使用上有一些细微的区别。module_platform_driver : 不需要显示地调用注册函数(module_init module_exit)platform_driver_register : 需要显示地调用注册函数 设计器初始化允许在初始化结构体时显式指定某个字段的值。 .field_name = value, .field_name: 结构体的字段名。value: 要赋给该字段的值。 dma一般框架一个典型的 DMA...
petalinux
OSIOSI: Open System Interconnect (开放式系统互联)OSI参考模型 OSI七层模型 TCP/IP四层模型 TCP/IP协议族 应用层、表示层、会话层 应用层 HTTP, FTP, DNS, SMTP 传输层 传输层 TCP, UDP 网络层 网络层 IP, ICMP, ARP 数据链路层、物理层 网络接口层 Ethernet, Wi-Fi, PPP
petalinux
常用指令1 source /opt/pkg/petalinux/settings.sh2 cd workspace/petalinux/3 petalinux-create -t project –template zynqMP -n lark4 cd lark5 petalinux-config –get-hw-description ../../xsa_files/second/6 petalinux-config -c kernel7 petalinux-config -c rootfs8 petalinux-build9 petalinux-package –boot –fsbl –fpga –u-boot –force10 petalinux 2022.2...


