===================
== lxulxu's blog ==
===================
Hello there

Y2024Q3 影视音总结

生活

🎬MOVIES

Y2024Q2 影视音总结

生活

🎬MOVIES

C++安全指南

c++

编程习惯

  • switch中应有default
  • 不应在debug或错误信息中提供过多内容
  • 不应该在客户端代码中硬编码对称加密秘钥
1    // Bad
2    char g_aes_key[] = {...};
3    void Foo() {
4      ....
5      AES_func(g_aes_key, input_data, output_data);
6    }
1    // Good
2    char* g_aes_key;
3    void Foo() {
4      ....
5      AES_encrypt(g_aes_key, input_data, output_data);
6    }
7    void Init() {
8      g_aes_key = get_key_from_https(user_id, ...);
9    }
  • 函数不可以返回栈上的变量的地址,而应当使用堆来传递非简单类型变量,强烈建议返回 string、vector 等类型。
1    // Bad
2    char* Foo(char* …
Read more...

Y2024Q1 影视音总结

生活

🎬MOVIES

RF Analyzer 简介

xilinx RF

参考PG269 Ch1 & Ch2。

特点

  • 多达16个14-bit RF-DAC Gen 1/Gen 2:4个14-bit二倍频RF-ADC tile,2/4个14-bit四倍频RF-ADC tile; Gen 3:1/2/4个14-bit二倍频RF-ADC tile,2/4个14-bit四倍频RF-ADC tile。
  • 支持多个转换器之间的对齐(多片同步(MTS))
  • 支持预编程RF-DAC和RF-ADC,用户可以定义关键参数
  • RF-ADC和RF-DAC有多个AX14-Stream数据接口
  • 单独的AX14-Lite配置接口
  • Gen 1/Gen 2:1x(旁路),2x, 4x, 8x抽取和插值 Gen 3:1x(旁路),2x, 3x, 4x, 5x, 6x, 8x, 10x, 12x, 16x, 20x, 24x, 40x抽取和插值后的额外的2x插值
  • 数字复合混频器和数控振荡器(NCO)
  • 正交调制校正(QMC),Gen 3每个RF-ADC有嵌入式数字步进衰减器(DSA),每个RF-DAC有可变输出功率(VOP)控制
  • 片上时钟系统包含每个tile的PLL
  • Gen 3:片上时钟分配网 …
Read more...

RF Analyzer 功能详解

xilinx RF

RF-ADC

img-72

转换器设置(Converter Settings)

  • 校准模式(Calibration Mode)

    img-151
    校准子系统由三个主要模块组成:

    • 时间交错偏移校准模块(OCB):校正每个子RF-ADC的DC偏移
    • 增益校准模块(GCB):校正交错子RF-ADC之间的增益差异
    • 时间偏移校准模块(TSCB):校正交错子RF-ADC之间的时间偏移

    除了自动校准外,所有四个校准模块(OCB1、OCB2、GCB、TSCB)都可用于获取和设置用户系数。 应用程序读回校准解冻时生成的系数,并在需要时恢复它们; 这有助于在输入信号不满足校准要求时保持 RF-ADC 性能。 此功能适用于 IP 向导中的每个 RF-ADC。 启用此功能会增加 IP 的大小。

     1//以下示例代码显示了 TSCB 的用户系数设置。
     2
     3u32 Status = XRFDC_FAILURE;
     4XRFdc_Calibration_Coefficients Coeffs;
     5//使用下面的样本系数
     6Coeffs.Coeff0 = 146;
     7Coeffs.Coeff1 = …
Read more...

RFdc 驱动

xilinx RF

参考PG269 Appx.C

数据结构

数据结构UML图如下:

UML

API 功能

系统设置相关函数

函数原型功能
u32 XRFdc_CfgInitialize(XRFdc *InstancePtr, XRFdc_Config *ConfigPtr)通过从配置结构复制相关条目来填充驱动程序实例中的适当条目。与 RFdc 驱动程序 API 的任何软件交互都需要此函数,并且必须在使用任何其他 API 函数之前首先调用此函数。
XRFdc_Config *XRFdc_LookupConfig(u16 DeviceId)根据设备的唯一 ID 查找设备配置
u32 XRFdc_RegisterMetal(XRFdc *InstancePtr, u16 DeviceId, struct metal_device …

《高质量C++编程指南》笔记

c++

文件结构

头文件结构

 1//版权和版本声明
 2/*
 3* Copyright (c) 2001,上海贝尔有限公司网络应用事业部
 4* All rights reserved.
 5*
 6* 文件名称:graphics.h
 7* 文件标识:见配置管理计划书
 8* 摘   要:简要描述本文件的内容
 9*
10* 当前版本:1.1
11* 作   者:输入作者(或修改者)名字
12* 完成日期:2001年7月20日
13*
14* 取代版本:1.0
15* 原作者 :输入原作者(或修改者)名字
16* 完成日期:2001年5月10日
17*/
18
19#ifndef GRAPHICS_H // 防止 graphics.h 被重复引用
20#define GRAPHICS_H
21#include <math.h> // 引用标准库的头文件
22...
23#include “myheader.h” // 引用非标准库的头文件
24...
25void Function1(...); // 全局函数声明
26...
27class Box // 类结构声明
28{ …
Read more...

Tcl Cheat Sheet

cheat-sheet tcl
  • 基础语法
 1puts "Hello World"#输出
 2set x [expr 1 == 2 ? 1 : 2]#设置变量;三元运算符
 3[exec ls]#调用子进程
 4
 5#if
 6if { $x < 2} { ... }
 7elseif { $x == 1 } { ... }
 8
 9#while
10while { $x < 2 } {
11	incr x
12}
13
14#for
15for { set i 0 } { $i < 5 } { incr i } { ... }
16
17#switch
18switch $x {
19	1 { ... }
20	2 { ... }
21	default { ... }
22}
  • 字符串
 1set s1 "_Hello_World_"
 2set s2 "_"
 3
 4[string length $s1]
 5[string index $s1 0]
 6[string range $s1 1 end]
 7append s1 …

许可管理

IEEE xilinx

IEEE Std 1735-2014 Ch8 一些整理

简介

定义

1`protect license_proxyname="acme_proxy"
2`protect license_attributes="USER,MAC,PROXYINFO=1.2"
3`protect license_symmetric_key_method="aes128-cbc"
4`protect license_public_key_method="rsa"
5`protect license_keyowner="ACME", license_keyname="ACME2014"
6`protect license_public_key
7AV6f6JyGUxBpr49EwxN7jfdUQcRqRFDN7Mto2ltk+emrRCQS+bW/Yvu8U3w9kx7g
8rCXFueY/S8lyKUExUP2Yi5C3K9WIFqF7Ov3Hm9/fEumxDzvYkGOGuGu/xv/OYIyb
9 …
Read more...
Previous Page 2 of 3 Next Page