diff --git a/10-Project/100-日常记录/2024-09-08.md b/10-Project/100-日常记录/2024-09-08.md new file mode 100644 index 0000000..c6061ac --- /dev/null +++ b/10-Project/100-日常记录/2024-09-08.md @@ -0,0 +1,4 @@ +- [ ] 调试waydroid 补充一个文档 +- [ ] 需要整理linux系统脑图到obsidian + + diff --git a/10-Project/100-日常记录/2024-09-09.md b/10-Project/100-日常记录/2024-09-09.md new file mode 100644 index 0000000..705735b --- /dev/null +++ b/10-Project/100-日常记录/2024-09-09.md @@ -0,0 +1 @@ +- iic的开漏输出,需要上拉电阻。 \ No newline at end of file diff --git a/10-Project/100-日常记录/2024-09-18.md b/10-Project/100-日常记录/2024-09-18.md new file mode 100644 index 0000000..8e1f0a3 --- /dev/null +++ b/10-Project/100-日常记录/2024-09-18.md @@ -0,0 +1,2 @@ +尝试笔记本发射wifi, 设置-网络-移动热点 +黑神话普通结局 \ No newline at end of file diff --git a/10-Project/100-日常记录/2024-10-07.md b/10-Project/100-日常记录/2024-10-07.md new file mode 100644 index 0000000..aa0c544 --- /dev/null +++ b/10-Project/100-日常记录/2024-10-07.md @@ -0,0 +1,4 @@ +- 测试linux下的obs + - 安装intel vpu库 + - 安装ffmpeg + - 安装最新版本的obs 设置要改成高级模式才可以配置quicksync作为编码方法 diff --git a/10-Project/100-日常记录/2024-10-20.md b/10-Project/100-日常记录/2024-10-20.md new file mode 100644 index 0000000..7bf673d --- /dev/null +++ b/10-Project/100-日常记录/2024-10-20.md @@ -0,0 +1,2 @@ +- [Linux App]安装了BBDown +- [Linux App]安装了peazip \ No newline at end of file diff --git a/10-Project/100-日常记录/2024-12-21.md b/10-Project/100-日常记录/2024-12-21.md new file mode 100644 index 0000000..45f07c5 --- /dev/null +++ b/10-Project/100-日常记录/2024-12-21.md @@ -0,0 +1,2 @@ +- [Linux app] 安装lvim +- [Linux app] 安装飞书 \ No newline at end of file diff --git a/10-Project/101-整理/整体规划.md b/10-Project/101-整理/整体规划.md index f66c406..67190af 100644 --- a/10-Project/101-整理/整体规划.md +++ b/10-Project/101-整理/整体规划.md @@ -2,10 +2,11 @@ - Project 有时有终的任务叫做项目,笔记中重点记录“过程”,“心得”,“备忘” - 整理 20240228 - 上班 -- Area 应该更多是主观输出的内容或者是对内容的再整理,客观的内容尽量放到Resource中 +- Area 应该更多是主观输出的内容或者是对内容的再整理,客观的内容放到Resource中 - 个人管理 Excel - - 物品管理 - - 开销管理 + - 财物管理 + - 财产管理 + - 物品管理 - 消费 - 电子 - 衣 @@ -13,11 +14,12 @@ - 住 - 行 - 计算机技术 + - Linux工具 - 外语 - 经济学 - 文学影视艺术 - 历史人文地理 - Resource - - 获取方式 + - 个人相关 + - 整理获取方法? - Archive 暂时先当作垃圾箱 - - P \ No newline at end of file diff --git a/10-Project/102-上班/备忘/EVB.md b/10-Project/102-上班/备忘/EVB.md new file mode 100644 index 0000000..68c260b --- /dev/null +++ b/10-Project/102-上班/备忘/EVB.md @@ -0,0 +1,2 @@ +- 第8个 断开VAD到GPIO_A6的连接 +- GPIO_A6负责日志的打开或者关闭 \ No newline at end of file diff --git a/10-Project/102-上班/备忘/GPIO和PINMUX 操作 (不完整).md b/10-Project/102-上班/备忘/GPIO和PINMUX 操作 (不完整).md new file mode 100644 index 0000000..a3d80e6 --- /dev/null +++ b/10-Project/102-上班/备忘/GPIO和PINMUX 操作 (不完整).md @@ -0,0 +1,12 @@ +- 查看GPIO和PINMUX概要 + - cat /proc/acme/pinmux_summary 可以查看寄存器手册 +- 确定PINMUX模式 + - padc寄存器手册 /mas/v0.8/pad + - 第7-8bit是11就是gpio + - 设置此寄存器调整模式 +- 配置gpio + - 查看enable usb func的操作即可 + - echo 90 >/sys/class/gpio/export + - echo out >/sys/class/gpio/gpio90/direction + - echo 1 >/sys/class/gpio/gpio90/value + - echo 90 >/sys/class/gpio/unexport \ No newline at end of file diff --git a/10-Project/102-上班/备忘/evb单板基本命令.md b/10-Project/102-上班/备忘/evb单板基本命令.md new file mode 100644 index 0000000..61ea674 --- /dev/null +++ b/10-Project/102-上班/备忘/evb单板基本命令.md @@ -0,0 +1,37 @@ +- 网络mount + - mount -t nfs -o nolock 192.168.9.12:/data/nfs/huchuan /mnt +- 启动脚本 + `sh /acme/scripts/enable_usb_func.sh` + `sh /acme/scripts/enable_nfs.sh` + `ifconfig usb0 192.168.100.100` + `route add default gw 192.168.100.1` + `#mount -t nfs -o nolock -o tcp -o rsize=32768,wsize=32768 192.168.9.12:/data/nfs/huchuan/sys0407-003 /acme` + `cd /acme/scripts` + `sh load_evb_E_linux_all.sh` + `ln -s /acme/usr/bin/dbclient /usr/bin/dbclient` +- 拷贝 + - scp -r huchuan@192.168.9.12:~/Workspace/qa/sdk_6920_qa/gtestlib/lib/* /acme/lib + - scp -r huchuan@192.168.9.12:~/Workspace/qa/sdk_6920_qa/bin/TEST_GREEN_SNS_VI_ISP_VPSS_720P /acme/bin + - scp -r huchuan@192.168.9.12:~/Workspace/qa/sdk_6920_qa/bin/TEST_FILTER_TOP /acme/bin +- 配置dns + - `root@acme:~# cat /etc/resolv.conf` + `nameserver 114.114.114.114` +- 查看时钟 + - mount -t debugfs none /sys/kernel/debug + - cat /sys/kernel/debug/clk/clk_summary +- 9901调压 + - 0.6v + - i2cset -r -y 0 0x40 0x1 0x31 + - i2cset -r -y 0 0x40 0x1 0x30 + - 0.4v + - i2cset -r -y 0 0x40 0x1 0x9 + - i2cset -r -y 0 0x40 0x1 0x8 +- 查看寄存器 + - devmem 0x5000006c +- 切换日夜全彩 + - echo set night 0 0 0 > /tmp/icr +- 临时关闭金字塔 + - echo 3 ISP -s 0 pyr 0 > /tmp/pid +- 查看cpu工作模式 + - cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor +- \ No newline at end of file diff --git a/10-Project/102-上班/备忘/功耗测试/DDR用电.md b/10-Project/102-上班/备忘/功耗测试/DDR用电.md new file mode 100644 index 0000000..c57a599 --- /dev/null +++ b/10-Project/102-上班/备忘/功耗测试/DDR用电.md @@ -0,0 +1,5 @@ +soc侧 DDR颗粒侧 + +VDDQ_11_DDR VDDQ_11_DDR +VDDQ_DDRPHY VDD1_18_DDR +VDD18_PLL_DDR \ No newline at end of file diff --git a/10-Project/102-上班/备忘/功耗测试/功耗板拨码开关.md b/10-Project/102-上班/备忘/功耗测试/功耗板拨码开关.md new file mode 100644 index 0000000..97ef05c --- /dev/null +++ b/10-Project/102-上班/备忘/功耗测试/功耗板拨码开关.md @@ -0,0 +1,2 @@ +- 拨码开关布局 +- ![[功耗板拨码布局.png]] \ No newline at end of file diff --git a/10-Project/102-上班/备忘/功耗测试/功耗版调整电压.md b/10-Project/102-上班/备忘/功耗测试/功耗版调整电压.md new file mode 100644 index 0000000..01c1c3b --- /dev/null +++ b/10-Project/102-上班/备忘/功耗测试/功耗版调整电压.md @@ -0,0 +1,12 @@ +- 0x49 DVDD_CPU 75 +- 0x4A DVDD_VPU 60 +- 0x4B DVDD_FILTER 60 +- 0x4C DVDD_NPU 60 +- 0x4D DVDD_AISP 60 +- 0x4F DVDD_ISP 60 +- i2cset -f -y 0 0x49 0x1 0x46 +- i2cset -f -y 0 0x4A 0x1 0x28 +- i2cset -f -y 0 0x4B 0x1 0x28 +- i2cset -f -y 0 0x4C 0x1 0x28 +- i2cset -f -y 0 0x4D 0x1 0x28 +- i2cset -f -y 0 0x4F 0x1 0x28 \ No newline at end of file diff --git a/10-Project/102-上班/备忘/功耗测试/自助功耗测量.md b/10-Project/102-上班/备忘/功耗测试/自助功耗测量.md new file mode 100644 index 0000000..2c97918 --- /dev/null +++ b/10-Project/102-上班/备忘/功耗测试/自助功耗测量.md @@ -0,0 +1,13 @@ + +- 安装arm keil uvision5 + - 安装mdk536.exe + - 点击pack文件,点击即可手动导入 +- 下载 http://192.168.8.60/hexi/ina226_pwr_monitor 工程 +- 打开工程 + - 加载上面的pwr monitor工程 project - open project + - 选择TEST.uvprojx +- 使用keil构建工程 project-build target (快捷键 F7) +- 烧写准备, 把整点原子usb烧写器接好, 从左往右黑紫绿红,即3v3的电在右侧边缘测 +- 点击download的下载 +- ![[Pasted image 20240322101735.png]] +- 查看Jtag设备, Option for target -- Target \ No newline at end of file diff --git a/10-Project/102-上班/备忘/工程操作/BSP/BSP工程下载.md b/10-Project/102-上班/备忘/工程操作/BSP/BSP工程下载.md new file mode 100644 index 0000000..3171ed8 --- /dev/null +++ b/10-Project/102-上班/备忘/工程操作/BSP/BSP工程下载.md @@ -0,0 +1,9 @@ +所有人 bsp的仓库换了个目录, 目前包括 linux pack_tool rt-thread rt-thread-nano,  + +repo init -u git@192.168.8.60:software/bsp/sa6920/manifest.git -b develop // 以后发布时候,这里要用main, + +repo sync -c // 如果不加-c会拉去所有分支 + +repo start develop --all // 创建分支并根据 manifest revision建立跟踪关系 // 以后发布时候,这里也要用main + +备注: repo start --all develop // 从remote已有的分支创建同名分支,若远程没有同名分支则不创建 \ No newline at end of file diff --git a/10-Project/102-上班/备忘/工程操作/BSP/BSP编译.md b/10-Project/102-上班/备忘/工程操作/BSP/BSP编译.md new file mode 100644 index 0000000..8eac718 --- /dev/null +++ b/10-Project/102-上班/备忘/工程操作/BSP/BSP编译.md @@ -0,0 +1,48 @@ +- build + - Makefile + - ==过程== + - linux编译 + - 准备rootfs + - 编译Image **rootfs也打包进了Image** + - CONFIG_BLK_DEV_INITRD=y + - CONFIG_INITRAMFS_SOURCE="${ACME_TOP}/linux/rootfs" + - pack_tool 按照ini进行打包 + - bootimg-BL2-6920A-0P75.bin + - boot_info.bin # 离线生成 + - bl2.bin # 离线生成 + - bootimg-BL2-6920A-0P75-evb-linux.bin + - boot_info.bin # 离线生成 + - bl31.bin # 离线生成 + - Image # 编译生成 + - dtb # 编译生成 + - star_app # 编译生成 rtt-nano for star + - dd 拼包 + - bootimg-BL2-6920E-0P75-evb-linux.bin +- bl2 + - 源码 +- linux + - atf 没参与编译 + - bl31.bin # 直接文件 + - kernel + - linux-5.10 编译生成dtb / image + - rootfs_acme rootfs扩展包底包 + - spd + - tee-raw.bin 安全 没用 + - uboot 没用 +- rtthread-nano + - +- tools + - opt_tool + - update_tool + - rpmsg_clk + - reboot ? +- pack/pack_tool + - boot_info + - nor nor文件生成物 没参与编译 + - bl2 + - bl2.bin # 直接文件 + - bl2.info # 直接文件 + - linux + - linux.info # 直接文件 + - fpga/rtt/deprecated 不关心 + - pack_tool/pack_tool.py diff --git a/10-Project/102-上班/备忘/工程操作/SDK/QA测试.md b/10-Project/102-上班/备忘/工程操作/SDK/QA测试.md new file mode 100644 index 0000000..d8e5f54 --- /dev/null +++ b/10-Project/102-上班/备忘/工程操作/SDK/QA测试.md @@ -0,0 +1,3 @@ +- 拷贝QA编译生成物 + - scp huchuan@192.168.9.12:~/Workspace/qa/sdk_6920_qa/gtestlib/lib/* /acme/lib/ + - scp huchuan@192.168.9.12:~/Workspace/qa/sdk_6920_qa/bin/TEST_FILTER_TOP /acme/bin \ No newline at end of file diff --git a/10-Project/102-上班/备忘/工程操作/SDK/SDK分支说明.md b/10-Project/102-上班/备忘/工程操作/SDK/SDK分支说明.md new file mode 100644 index 0000000..9c3b692 --- /dev/null +++ b/10-Project/102-上班/备忘/工程操作/SDK/SDK分支说明.md @@ -0,0 +1,5 @@ +| --> sdkv1.0 已经废弃 +| --> sdkv1.5 (pt2) +| --> sdk_w1 (w1) tag: SDK_V1.8.1.9_REL_240319 +| --> sdkv2.0 (t2s,pt2) tag: SDK_V1.9.0.0_REL_240401 +sdk-dev \ No newline at end of file diff --git a/10-Project/102-上班/备忘/工程操作/SDK/SDK工程下载.md b/10-Project/102-上班/备忘/工程操作/SDK/SDK工程下载.md new file mode 100644 index 0000000..b3016b5 --- /dev/null +++ b/10-Project/102-上班/备忘/工程操作/SDK/SDK工程下载.md @@ -0,0 +1,13 @@ +- 下载某一个分支代码 + - repo init -u git@192.168.8.60:software/sdk/acme-sdk-manifest.git -b develop_v2.2 + - repo sync + - repo start --all develop_v2.2 // repo forall -c git checkout develop_w1 +- 下载某一个tag代码 + - repo init -u git@192.168.8.60:software/sdk/acme-sdk-manifest.git -b main_v2.0 -m soc_sdk_linux_v1.8.4.1-REL-20240425-release.xml + - - repo init -u git@192.168.8.60:software/sdk/acme-sdk-manifest.git -b main_v2.2 -m soc_sdk_linux_v2.2.0.5.0-REL-20240722_64-release.xml + +新建一个repo的方法 +- repo forall -c git checkout -b develop_qiyidage +- repo forall -c git push acme +- 新建一个default.xml [software / sdk / acme-sdk-manifest · GitLab](http://192.168.8.60/software/sdk/acme-sdk-manifest) +- repo init -u git@192.168.8.60:software/sdk/acme-sdk-manifest.git -b qiyidage \ No newline at end of file diff --git a/10-Project/102-上班/备忘/工程操作/SDK/SDK工程编译.md b/10-Project/102-上班/备忘/工程操作/SDK/SDK工程编译.md new file mode 100644 index 0000000..81ff931 --- /dev/null +++ b/10-Project/102-上班/备忘/工程操作/SDK/SDK工程编译.md @@ -0,0 +1,5 @@ +`rm ./out_images -rf` +`source build/env_setup.sh` +`lunch 1` +`ninja -C ./out_images make_packages` +`date` \ No newline at end of file diff --git a/10-Project/102-上班/备忘/工程操作/SDK/service代码.md b/10-Project/102-上班/备忘/工程操作/SDK/service代码.md new file mode 100644 index 0000000..22dabc2 --- /dev/null +++ b/10-Project/102-上班/备忘/工程操作/SDK/service代码.md @@ -0,0 +1,7 @@ +camerasvp -b 1 -m 0 -e 0 + +-m 0 是npu +-m 1 是vnne + +-b 0 手动送帧 +-b 1 软绑定到vpss \ No newline at end of file diff --git a/10-Project/102-上班/备忘/数据备忘/NPU 性能测试.md b/10-Project/102-上班/备忘/数据备忘/NPU 性能测试.md new file mode 100644 index 0000000..824a52f --- /dev/null +++ b/10-Project/102-上班/备忘/数据备忘/NPU 性能测试.md @@ -0,0 +1,4 @@ +devmem 0x50000014 32 9 + +脸的开销 1.3ms +检测的开销 4.8 -5.2ms \ No newline at end of file diff --git a/10-Project/102-上班/备忘/数据备忘/SA6920 iic地址.md b/10-Project/102-上班/备忘/数据备忘/SA6920 iic地址.md new file mode 100644 index 0000000..0114ccc --- /dev/null +++ b/10-Project/102-上班/备忘/数据备忘/SA6920 iic地址.md @@ -0,0 +1,35 @@ +- 0x1a SA8900 +- 0x3c Sensor-04d10 + - EVB iic1出的 + - 功耗板 iic1出的 +- 0x43, 0x49-0x4f PMIC +root@acme:~# i2cdetect -ry 0 + 0 1 2 3 4 5 6 7 8 9 a b c d e f +00: -- -- -- -- -- -- -- -- -- -- -- -- -- +10: -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- -- // 8900-早期iic0 +20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +40: 40 41 -- 43 -- -- -- -- -- 49 4a 4b 4c 4d -- 4f // 9901 TI PMIC +50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +70: -- -- -- -- -- -- -- -- +root@acme:~# i2cdetect -ry 1 + 0 1 2 3 4 5 6 7 8 9 a b c d e f +00: -- -- -- -- -- -- -- -- -- -- -- -- -- +10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- // 4d10sensor 5l10sensor +40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +70: -- -- -- -- -- -- -- -- +root@acme:~# i2cdetect -ry 2 + 0 1 2 3 4 5 6 7 8 9 a b c d e f +00: -- -- -- -- -- -- -- -- -- -- -- -- -- +10: -- -- -- -- -- -- -- -- -- -- 1a -- -- -- -- -- // 8900-后期iic2 +20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 3e -- // 8901 +40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +70: -- -- -- -- -- -- -- -- \ No newline at end of file diff --git a/10-Project/102-上班/备忘/数据备忘/SA6920内存分布.md b/10-Project/102-上班/备忘/数据备忘/SA6920内存分布.md new file mode 100644 index 0000000..fd053af --- /dev/null +++ b/10-Project/102-上班/备忘/数据备忘/SA6920内存分布.md @@ -0,0 +1,9 @@ +- Sram分布 8MB + - 0x20020000 filter + - 0x20120000 green + - 0x20220000 green + - 0x20320000 green + - 0x20420000 green + - 0x20520000 green + - 0x20620000 aisp? + - 0x20720000 npu 需要配置0x5a180004寄存器打开或者关闭对外使能 \ No newline at end of file diff --git a/10-Project/102-上班/备忘/数据备忘/图床/Pasted image 20240322101735.png b/10-Project/102-上班/备忘/数据备忘/图床/Pasted image 20240322101735.png new file mode 100644 index 0000000..78c98d7 Binary files /dev/null and b/10-Project/102-上班/备忘/数据备忘/图床/Pasted image 20240322101735.png differ diff --git a/10-Project/102-上班/备忘/数据备忘/图床/功耗板拨码布局.png b/10-Project/102-上班/备忘/数据备忘/图床/功耗板拨码布局.png new file mode 100644 index 0000000..ef7a8bb Binary files /dev/null and b/10-Project/102-上班/备忘/数据备忘/图床/功耗板拨码布局.png differ diff --git a/10-Project/102-上班/备忘/音频codec8901注意点.md b/10-Project/102-上班/备忘/音频codec8901注意点.md new file mode 100644 index 0000000..c3d3e7d --- /dev/null +++ b/10-Project/102-上班/备忘/音频codec8901注意点.md @@ -0,0 +1,10 @@ +- speaker使能管脚 spk-ctrl-gpios + - 可以由sa8901的gpio使能/sa6920的gpio使能(E3) +- i2s clk源配置 ? + - 独立晶振配置 / 从6920供给clk(E3) +- mic 2.8V电使能 + - 可以由6920控制 / 可以直接使能 +- vad管脚(todo) +- ldo-en的配置 + - 如果是E芯片 0xff + - 如果是E3芯片 0x9f bit5VDDIO_18(影响功耗) bit6 \ No newline at end of file diff --git a/10-Project/102-上班/心得/出差备忘.md b/10-Project/102-上班/心得/出差备忘.md new file mode 100644 index 0000000..b604cbd --- /dev/null +++ b/10-Project/102-上班/心得/出差备忘.md @@ -0,0 +1,18 @@ +- 工作 + - 笔记本/鼠标/耳机 + - 100w华为充电头 + 长typec充电线 + - 拓展坞1号 + - 拓展坞2号 + - 2根typec/2根microusb/2根usb串口 + - 开发板 +- ~~~~~~~~~~~~~ +- 笔记本 + - 拓展坞1号 + - 鼠标 + - typec1/usb1 + - 拓展坞二号 + - typec2 + - usb2 + - 串口1 + - 串口2 + - 耳机 \ No newline at end of file diff --git a/10-Project/102-上班/心得/工作内容/npu驱动设计.md b/10-Project/102-上班/心得/工作内容/npu驱动设计.md new file mode 100644 index 0000000..960ba92 --- /dev/null +++ b/10-Project/102-上班/心得/工作内容/npu驱动设计.md @@ -0,0 +1,14 @@ +- Session设计 (Session manager) + - 原本的设计帧为单位到以session为单位的转变 + - 创建session manager,通过内核链表进行管理 + - 帧与session的关联 + - 好处是呢可以更精准的观测每一路数据的运行状况 + - 增加proc机制 +- 自动化sram管理器 (sram manager) + - 由原本的用户态分配改为内核态分配,避免用户态分配共享内存 + - 由于帧间数据无关联 +- 实现胶水层 兼容多种操作系统 + - 平台驱动 + - 字符设备文件操作操作函数 + - 中断挂载 + - 内存申请 \ No newline at end of file diff --git a/10-Project/102-上班/心得/工作内容/开发需求.md b/10-Project/102-上班/心得/工作内容/开发需求.md new file mode 100644 index 0000000..553f194 --- /dev/null +++ b/10-Project/102-上班/心得/工作内容/开发需求.md @@ -0,0 +1,12 @@ +- BSP软件 + - 启动 + - 操作系统 + - 文件系统 + - 工具 +- SDK软件 + - 底层设计 + - 接口设计 + - 文档编写 +- 工具软件 + - 功耗工具 + - 带宽工具 \ No newline at end of file diff --git a/10-Project/102-上班/心得/时间管理.md b/10-Project/102-上班/心得/时间管理.md new file mode 100644 index 0000000..0ae106b --- /dev/null +++ b/10-Project/102-上班/心得/时间管理.md @@ -0,0 +1,4 @@ +- 终生学习/偏见/接收不通的观点 +- 沟通与反馈 +- 时刻紧盯结果 以终为始 +- 资源 \ No newline at end of file diff --git a/10-Project/102-上班/心得/测量结果.md b/10-Project/102-上班/心得/测量结果.md new file mode 100644 index 0000000..ddcfd73 --- /dev/null +++ b/10-Project/102-上班/心得/测量结果.md @@ -0,0 +1,27 @@ +- A55@1.0Ghz 8nm 2核100% 大约120mW +- DDR @594Mhz + - 规格 16bit 594Mhz + - 理论带宽 + - 594x2x4 = 4752MBps 4.75GBps + - 读数据(bwmem rd) 4.4GBps + - 利用工具读出来的 bwmem在单进程时看似统计值反而不准(结果偏大,几乎是2倍, 是不是因为单进程跑的自己x2了?) + - 需要双核才能跑出来这个数据,单cpu只能压到3.1GBps + - ==读效率 92.6%== ? + - 读数据(bwmem frd) 3.8GBps + - ==读效率 80%== ? + - 写数据 读写总共2.85GBps + - 写1.43GBps + - 读1.43GBps +- tick 4ms +- bpm工具从20ms到1000ms都准,可以和bw_mem的数据基本对上。 +- ------------------ +- DDR @512Mhz + - 规格 16bit 512Mhz + - 理论带宽 + - 512\*8=4096MBps 4.096GBps + - 读数据 3.75GBps + - bw_mem -P 4 -N 2 1024000 rd + - rd 1.02 3755.51 + - 没复现上面结果偏大的问题 + - 读效率 + - 3.755 / 4.096 = 91.67% \ No newline at end of file diff --git a/10-Project/102-上班/心得/设计与思考/Linux 问题.md b/10-Project/102-上班/心得/设计与思考/Linux 问题.md new file mode 100644 index 0000000..28a788a --- /dev/null +++ b/10-Project/102-上班/心得/设计与思考/Linux 问题.md @@ -0,0 +1,6 @@ +1. 抢占与非抢占 + 服务器一般使用非抢占内核, host驱动设计上要考虑这一点 +2. 内核配置 + - 哪些内核配置可以优化功耗 + - 哪些内核配置可以减少体积 + \ No newline at end of file diff --git a/10-Project/102-上班/心得/设计与思考/思考.md b/10-Project/102-上班/心得/设计与思考/思考.md new file mode 100644 index 0000000..194c8d2 --- /dev/null +++ b/10-Project/102-上班/心得/设计与思考/思考.md @@ -0,0 +1 @@ +频率低执行相同任务反而功耗高 \ No newline at end of file diff --git a/10-Project/102-上班/心得/设计与思考/设计.md b/10-Project/102-上班/心得/设计与思考/设计.md new file mode 100644 index 0000000..6040275 --- /dev/null +++ b/10-Project/102-上班/心得/设计与思考/设计.md @@ -0,0 +1 @@ +- 有一个dedicated的apb timer做启动计时,不需要软件配置 \ No newline at end of file diff --git a/10-Project/102-上班/心得/问题总结/rtthread问题总结.md b/10-Project/102-上班/心得/问题总结/rtthread问题总结.md new file mode 100644 index 0000000..4c7aa65 --- /dev/null +++ b/10-Project/102-上班/心得/问题总结/rtthread问题总结.md @@ -0,0 +1,3 @@ +- printf的地方有问题,加多了会导致整个bin起不来, 具体原因需要分析。使用rt_thread就没有问题了。 +- 打开关闭日志是编译时完成的, 把对应宏定义为1就可以 +- rtt如果堆栈设置的小的话很容易出堆栈问题, 因为堆栈设置的太小。 \ No newline at end of file diff --git a/10-Project/102-上班/心得/问题总结/关于mutex和spinlock.md b/10-Project/102-上班/心得/问题总结/关于mutex和spinlock.md new file mode 100644 index 0000000..1617135 --- /dev/null +++ b/10-Project/102-上班/心得/问题总结/关于mutex和spinlock.md @@ -0,0 +1,2 @@ +- 使用spinlock尽量也不要irqsave来关闭本核中断 +- 这两个的差别是什么? \ No newline at end of file diff --git a/10-Project/102-上班/心得/问题总结/关于内核态的睡眠与唤醒以及atomic schedure.md b/10-Project/102-上班/心得/问题总结/关于内核态的睡眠与唤醒以及atomic schedure.md new file mode 100644 index 0000000..e69de29 diff --git a/10-Project/102-上班/心得/问题总结/内存的过量提交 overcommit_memory.md b/10-Project/102-上班/心得/问题总结/内存的过量提交 overcommit_memory.md new file mode 100644 index 0000000..843abdc --- /dev/null +++ b/10-Project/102-上班/心得/问题总结/内存的过量提交 overcommit_memory.md @@ -0,0 +1,6 @@ +- 当内存过量提交之后,会出现OOM +- /proc/sys/vm/overcommit_memory + - When this flag is 0, the kernel attempts to estimate the amount of free memory left when userspace requests more memory. + - When this flag is 1, the kernel pretends there is always enough memory until it actually runs out. + - When this flag is 2, the kernel uses a “never overcommit” policy that attempts to prevent any overcommit of memory. Note that user_reserve_kbytes affects this policy. +- 感觉对于确定业务的设备, 应该使用2(禁用)比较好。 \ No newline at end of file diff --git a/10-Project/102-上班/心得/问题总结/芯片问题.md b/10-Project/102-上班/心得/问题总结/芯片问题.md new file mode 100644 index 0000000..70a85e9 --- /dev/null +++ b/10-Project/102-上班/心得/问题总结/芯片问题.md @@ -0,0 +1,5 @@ +- 确认芯片内部的电平转换,如果没有的话 压差可能导致时序不收敛 +- AXI 总线outstanding的处理,可能没考虑 +- delay太大导致buffer (vnne sram<-> vnne ddr) +- npu时序收敛 +- AXI总线满载仿真 \ No newline at end of file diff --git a/10-Project/102-上班/日记/其它问题解决.md b/10-Project/102-上班/日记/其它问题解决.md new file mode 100644 index 0000000..c9ab807 --- /dev/null +++ b/10-Project/102-上班/日记/其它问题解决.md @@ -0,0 +1,7 @@ +- ldd显示not found问题 + - uclibc的utils提供了ldd工具, 需要配置uclibc打开 LDSO_STANDALONE_SUPPORT=y + - 修改效果:![[ldd-issue.png]] +- 通过网络共享mount失败问题 减少网口购买 + - 使用最新develop代码,发现没这个问题了。 可能跟nfs有关? + - 结果 ![[usb0网口的mount.png]] + - 性能上差不多比一个百兆网口还要强一些 ![[usb0和pc的性能测试.png]] \ No newline at end of file diff --git a/10-Project/102-上班/日记/图床/ldd-issue.png b/10-Project/102-上班/日记/图床/ldd-issue.png new file mode 100644 index 0000000..d71627e Binary files /dev/null and b/10-Project/102-上班/日记/图床/ldd-issue.png differ diff --git a/10-Project/102-上班/日记/图床/usb0和pc的性能测试.png b/10-Project/102-上班/日记/图床/usb0和pc的性能测试.png new file mode 100644 index 0000000..5cf5ebc Binary files /dev/null and b/10-Project/102-上班/日记/图床/usb0和pc的性能测试.png differ diff --git a/10-Project/102-上班/日记/图床/usb0网口的mount.png b/10-Project/102-上班/日记/图床/usb0网口的mount.png new file mode 100644 index 0000000..c9c7612 Binary files /dev/null and b/10-Project/102-上班/日记/图床/usb0网口的mount.png differ diff --git a/10-Project/102-上班/日记/图床/文档sramP电描述错误.png b/10-Project/102-上班/日记/图床/文档sramP电描述错误.png new file mode 100644 index 0000000..b8804af Binary files /dev/null and b/10-Project/102-上班/日记/图床/文档sramP电描述错误.png differ diff --git a/10-Project/102-上班/日记/支持列表.md b/10-Project/102-上班/日记/支持列表.md new file mode 100644 index 0000000..0782cf3 --- /dev/null +++ b/10-Project/102-上班/日记/支持列表.md @@ -0,0 +1,4 @@ +shaoyin +liangyou +changshi +xinghan \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0422.md b/10-Project/102-上班/日记/日记/0422.md new file mode 100644 index 0000000..101c8ab --- /dev/null +++ b/10-Project/102-上班/日记/日记/0422.md @@ -0,0 +1,6 @@ +- 云主机建立一个基于容器的git,整理docker-compose使用方法 +- fedora中,尝试启动一次qemu,整理一个文档 + - insmod + - rmmod + - 其实想查看一下task struct的打印, 看一下pid和tgid +- 整理一下书籍 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0423.md b/10-Project/102-上班/日记/日记/0423.md new file mode 100644 index 0000000..2cb770e --- /dev/null +++ b/10-Project/102-上班/日记/日记/0423.md @@ -0,0 +1,2 @@ +- 研究一下obsidian的模板 +- 将日记部分整理成模板 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0429.md b/10-Project/102-上班/日记/日记/0429.md new file mode 100644 index 0000000..44e6b26 --- /dev/null +++ b/10-Project/102-上班/日记/日记/0429.md @@ -0,0 +1,23 @@ + +- npu stop + - npu没有这个问题, 因为没有预放置到硬件 +- npu 没有buffer的规避方案 + - 已修改 +- 日报 + - ok +- w1联调 + - 改size 16->22 +- npu 0.5v + - 测一下产测模型 0.55 + - QA-ALGO-0059_face-recognition_mbf-superacme-face-v01_kl_singlePictur + - 还是压差问题 + - 当时手动测,还是不严谨,没有测出来压差问题! + - 237 55下可以过 + - ==补充cpu测试方案== 到机台测试方案 +- sysdma测试sramP + - 研究一下sysdma +- 凌明的模型集成 不行就明天 + - 问了没有 说蔡博需要一个全要的 +- 挂机 +- 收拾 +- \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0508 0509.md b/10-Project/102-上班/日记/日记/0508 0509.md new file mode 100644 index 0000000..8c7eb52 --- /dev/null +++ b/10-Project/102-上班/日记/日记/0508 0509.md @@ -0,0 +1,53 @@ +- 音频驱动加载报错问题 + - 需要load带v1后缀的 + - 通过i2cdetect观测 带“UU”说明被驱动 + - sa8900在产品板上i2c0和i2c2选贴 + - i2cdetect -r -y 0 或者 i2cdetect -r -y 2 +- 运行sample成功 + - 运行sample + - sample_audio_mapi -D 0 -i /mnt/sdcard/sdcard1/weight_systest.bin -o /mnt/sdcard/sdcard1/evb_test/1.pcm -r 16000 -b 16 -c 2 -m 2 -f 0 -p 160 -w 10 # 硬直通 + - sample_audio_mapi -D 0 -i /mnt/sdcard/sdcard1/weight_systest.bin -o /mnt/sdcard/sdcard1/evb_test/1.pcm -r 16000 -b 16 -c 2 -m 2 -f 0 -p 160 -w 12 + - 参数解释 + - -i 模型文件 aifile 在测试10和12中就是模型文件 + - -o 采集到的pcm文件 + - -D 0 device 0 8900/WM8978 # 对应AiDev + - -r 16000 采样率 + - -b 16bit 16bit采样 + - -c channel 左右声道 + - -m 2 mapi soundMode # 对应AiChn + - -f 0 0:i2s 1:tdm 2:pdm 8900上固定给i2s,应该是固定0 + - -p 160 编码用的 AENC_G_80_SAMPLES_PER_FRAME 编码每帧多少个sample anne用不到 + - -w 10 workindex 就是测试的case + - 10 AUDIO_SAMPLE_ANNE_I2S0_DIRECT + - 12 AUDIO_SAMPLE_ANNE_BIND_AI +- 函数整理 + - SA_MAPI_ANNE_Init + - 注册了一个结果处理回调 sample_anne_event + - SA_MAPI_ANNE_LOAD_Modle + - SA_MAPI_ANNE_SetAttr + - SA_MAPI_ANNE_Start + - my_anne_dump_result_task_direct + - 通过myAnneHandle.anneResultQueue来传递结果 my_attach_anne_result写入结果 + - 调用在init的时候注册的回调 + - my_anne_get_result_task + - LAPI_ANNE_GetAnneResultsFc + - my_attach_anne_result + - + - sample_auido_StartAi + - audio_AnneBindAi + - sample_audio_CreatTrdAiFile + - sample_audio_DestoryTrdAi + - sample_audio_StopAi + - SA_MAPI_ANNE_Stop + - SA_MAPI_ANNE_DeInit +- 编写函数 + - 通道转换函数 + - SVP_ADD_CHN + - SVP_GET_CHN + - SVP_DEL_CHN + - SVP_CHECK_PARAM + - SVP-ANNE函数 + - SVP_ANNE_CreateChn + - SVP_ANNE_DestroyChn + - SVP_ANNE_StartChn + - SVP_ANNE_StopChn diff --git a/10-Project/102-上班/日记/日记/0520.md b/10-Project/102-上班/日记/日记/0520.md new file mode 100644 index 0000000..792c096 --- /dev/null +++ b/10-Project/102-上班/日记/日记/0520.md @@ -0,0 +1,33 @@ +- 总结 + - ~~ldd的流程,看看target侧不能实现~~ target直接用readlelf + - 交叉编译工具生成物的文件夹中的内容 buildroot框架 + - sdk编译框架 整理整理 +- musl + - 移植ldd, 检查运行不起来程序的依赖关系 + - 手动编译 + - 搞清楚abi 其实应该不是abi的问题,就是依赖的问题, 还是需要ldd工具 + - 代码合入bsp/sdk/buildroot +- 交叉编译工具构成 +- streaer ok了 + - huchuan@user:~/Workspace/sdk-develop.new/out_images/sys/bin$ arm-microbt-linux-musleabihf-ldd --root /data/home/huchuan/Workspace/bsp-develop/linux/rootfs ./streamer + libimu_open.so.1.9.2.1 not found 参与编译 + liblens_open.so.1.9.2.1 not found 参与编译 + librtsp_open.so.1.9.2.1 not found 参与编译 + libjson_open.so.1.9.2.1 not found 参与编译 + libae_algo.so not found 内网拷贝 + libawb_algo.so not found 内网拷贝 + libsd_algo.so not found 内网拷贝 + libservice_api.so not found 参与编译 + libfreetype.so.2.6 not found ./source/sdk/mapi/serviceapi/lib/lib32/libfreetype.so.6.12.5 + libicr.so not found 内网拷贝 + libsmartLamp.so not found 内网拷贝 + liboswl.so not found 参与编译 + liblapi.so.1.9.2.1 not found 参与编译 + libmapi.so.1.9.2.1 not found 参与编译 + libfdk-aac.so.2 not found ./source/sdk/mapi/audio/mapi/sound/aac_lib/6920/linux-32bit/libfdk-aac.so.2 + libive.so.1.9.2.1 not found 参与编译 + libispalg.so.1.9.2.1 not found 参与编译 + libulog.so not found ./source/adapter/linux/oswl/lib32/libulog.so + libstdc++.so.6 => /lib/libstdc++.so.6 (0x8badf00d) + libc.so => /usr/lib/libc.so (0x8badf00d) + libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xdeadbeef) \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0522.md b/10-Project/102-上班/日记/日记/0522.md new file mode 100644 index 0000000..09d44ec --- /dev/null +++ b/10-Project/102-上班/日记/日记/0522.md @@ -0,0 +1,3 @@ +测试9710底板 +w1代码合成 +测试用例 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0528.md b/10-Project/102-上班/日记/日记/0528.md new file mode 100644 index 0000000..df7fd2d --- /dev/null +++ b/10-Project/102-上班/日记/日记/0528.md @@ -0,0 +1,24 @@ +- E2 测试 +- +**** current pll3: 2408000000**** +*****TESTING npu FREQ 802666666 ***** +【脚本名称】 /acme/bin/temperature0P55/svp.json +【用例总数】 1 +【用例 1 - npu-1】 开始执行 /acme/bin/sample_svp /acme/bin/npu-smoke.ini +【用例 1 - npu-1】 进程号 5684.. +【用例 1 - npu-1】 进程执行完毕 ecode=0 +【用例 1 - npu-1】 MD5校验失败, expect=46ead4082ff1ab02385de5b655130507, actual=2a8f6b2a781534500b33fcaeebd177fc +【用例 1 - npu-1】 日志位置: /acme/bin/result/0101_000456_svp_npu-1_fail.log +【用例 1 - npu-1】 执行失败,耗时:1s + + +**** current pll3: 1704000000**** +*****TESTING npu FREQ 568000000 ***** +【脚本名称】 /acme/bin/temperature0P55/svp.json +【用例总数】 1 +【用例 1 - npu-1】 开始执行 /acme/bin/sample_svp /acme/bin/npu-smoke.ini +【用例 1 - npu-1】 进程号 3063.. +【用例 1 - npu-1】 进程执行完毕 ecode=0 +【用例 1 - npu-1】 MD5校验失败, expect=46ead4082ff1ab02385de5b655130507, actual=dc026a9812660e1634ada74400982ed0 +【用例 1 - npu-1】 日志位置: /acme/bin/result/0101_000254_svp_npu-1_fail.log +【用例 1 - npu-1】 执行失败,耗时:1s \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0529.md b/10-Project/102-上班/日记/日记/0529.md new file mode 100644 index 0000000..a92c01c --- /dev/null +++ b/10-Project/102-上班/日记/日记/0529.md @@ -0,0 +1,4 @@ +- 测试底版功耗 +- 日报 + - E2 + - 测试问题总结 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0603.md b/10-Project/102-上班/日记/日记/0603.md new file mode 100644 index 0000000..d2e6da8 --- /dev/null +++ b/10-Project/102-上班/日记/日记/0603.md @@ -0,0 +1,61 @@ +- 工作 + - **文金对功耗** + - 更新新版本之后sensor变低 + - usb会引发提前唤醒? + - **菊姐** + - **vnne?** + - **测试啥?** + - **sramP改电** + - 文艺iic ok + - 小核和大核读代码逻辑不一样 一个是发一个连续的 另一个是离散的发两个 + - 见 + - 测试iic命令备注 + rt_i2c_read 0 0x49 0x1 1 + rt_i2c_read 0 0x51 0x1 1 + i2cget -f -y 0 0x49 0x1 + + rt_i2c_open 0 + rt_i2c_write 0 0x49 0x1 1 0x46 + rt_i2c_write 0 0x4a 0x1 1 0x28 60 + rt_i2c_write 0 0x4b 0x1 1 0x28 + rt_i2c_write 0 0x4c 0x1 1 0x28 + rt_i2c_write 0 0x4d 0x1 1 0x28 + rt_i2c_write 0 0x4f 0x1 1 0x28 + + # 都压制到0.4v + rt_i2c_open 0 + rt_i2c_write 0 0x49 0x1 1 0 + rt_i2c_write 0 0x4a 0x1 1 0 + rt_i2c_write 0 0x4b 0x1 1 0 + rt_i2c_write 0 0x4c 0x1 1 0 + rt_i2c_write 0 0x4d 0x1 1 0 + rt_i2c_write 0 0x4f 0x1 1 0 + + rt_i2c_write 0 0x49 0x1 1 0x46 + rt_i2c_write 0 0x4a 0x1 1 0x28 + rt_i2c_write 0 0x4b 0x1 1 0x28 + rt_i2c_write 0 0x4c 0x1 1 0x28 + rt_i2c_write 0 0x4d 0x1 1 0x28 + rt_i2c_write 0 0x4f 0x1 1 0x28 + a55_deassert + # 回到 75 60 + - pm_suspend S2 S3(deep sleep) CONFIG_SUSPEND_SKIP_SYNC + - enter_state s2idle shallow deep + - suspend_devices_and_enter + - suspend_enter + - syscore_suspend +- +- 分析suspend流程 看一下用的什么中断来唤醒? + - 并不是用中断唤醒,而是直接复位了cpu。 + - 还有2个问题 + - 复位之前 cpu状态如何? 肯定不是wfi + - 复位地址是怎么发给小核的? + - rpmsg底层用的什么函数? +- 分析内核日志打印 + - 先不看了,因为是复位 [%5lu.%06lu] + - log_output + - log_store 传入了ts_nsec, + - local_clock + - sched_clock + - 有2个实现 time/sched_clock.c + - info_print_prefix print_time(info->ts_nsec) diff --git a/10-Project/102-上班/日记/日记/0613.md b/10-Project/102-上班/日记/日记/0613.md new file mode 100644 index 0000000..a507b07 --- /dev/null +++ b/10-Project/102-上班/日记/日记/0613.md @@ -0,0 +1,5 @@ +- vnne实验可能有缺陷 +- 整理表格 +- 修改filter问题 +- 支持ae测试 +- 后端bus75 npu55问题 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0621.md b/10-Project/102-上班/日记/日记/0621.md new file mode 100644 index 0000000..1714f6c --- /dev/null +++ b/10-Project/102-上班/日记/日记/0621.md @@ -0,0 +1,25 @@ +- norflash问题 + - 确认NorFlash型号 GD25LQ128ESIG + - 请何熙添加对应nandflash配置文件 boot_info_gd25lq128.bin, 更新后可以运行。 + - 搞清楚BSP需不需要修改? 并行的版本只修改bl2? +- 01101100010 +- Y:/Workspace/BSP/bsp-develop/out_images/bootimg-evb-linux.bin + + + +- 通过jenkins自动化测试冒烟case --> 冒烟case用qa平台运行   0622 + - Streamer Case + - 功能测试case   设计一个脚本 给定频率运行   +- nor版本出版本工作  0622 + - 弄3套环境 V22+3nor 写了一个文档 + - 先放到emmc里 dd emmc的分区2 + - 再放到nor里 + - mtd1 mtd2 mtd3 + - | "bl2" | bl31+kernel+rootfs | acmefs + - 拉个表 +- +- 测试晶村芯片 +- 集成W1算法到sdk                          0622 + - 浮点问题 +- AE工作找算法组提需求,并整合      0628 +- ServiceApi sample 测试 后面也上到qa冒烟  周六 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0628.md b/10-Project/102-上班/日记/日记/0628.md new file mode 100644 index 0000000..00e590a --- /dev/null +++ b/10-Project/102-上班/日记/日记/0628.md @@ -0,0 +1,2 @@ + dd if=bl1_nor_no_compress_0627.bin of=pt2l-nor.bin bs=1 conv=notrunc + dd if=bootimg-evb-linux.bin of=pt2l-nor.bin bs=1 seek=327680 conv=notrunc \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0701.md b/10-Project/102-上班/日记/日记/0701.md new file mode 100644 index 0000000..99aae9a --- /dev/null +++ b/10-Project/102-上班/日记/日记/0701.md @@ -0,0 +1,8 @@ +年终word ok +陈军 小建 streamer ok +晚上开会/笔记本测试升级 ok +BSP合64bit的相关文件 no +禅道npu2个问题 no + +广岳 no + 生产 streamer测试/tf卡测试 ok \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0708.md b/10-Project/102-上班/日记/日记/0708.md new file mode 100644 index 0000000..ac5d5cf --- /dev/null +++ b/10-Project/102-上班/日记/日记/0708.md @@ -0,0 +1,29 @@ +- PT2L出版本  0715 + - 代码合入  详见codesize文档 乐平+何熙 还有5处要合入 + - 烧录夹具采买,避免变砖 周二 + - 功能测试 + - 烧录工具 0708 ok + - 快起测试 周二 + - 各种压缩时间测试  周二 + - 写releasenote和问题总结 周二 + - +- SDK与禅道问题 + - 3个svp问题 + - vpu? + +- 通过jenkins自动化测试冒烟case --> 冒烟case用qa平台运行   0731 + - Streamer Case + - 功能测试Case + - 支持32b程序,并且脚本中自动选择    + - 设计一个脚本 给定频率运行  请qa冒烟 + +- ServiceApi sample 测试 后面也上到qa冒烟  0731 + +- 集成W1算法到sdk  0731 + - 同时获取分类结果和检测结果,需要改位图, 临时方案暂时无法合入。 不行就合入W1分支 + +- AE工作找算法组提需求  0731 + - 整合学鹏的Track ID + - 整合md与od结果 ==> 看了代码 ok 后面小建改 + +- ANNE对接测试  0831 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0709.md b/10-Project/102-上班/日记/日记/0709.md new file mode 100644 index 0000000..f803255 --- /dev/null +++ b/10-Project/102-上班/日记/日记/0709.md @@ -0,0 +1,4 @@ +norflash烧录错误 +插上usb之后串口闪烁与无日志 +有些板子必须下电2s-3s再启动,而有些不用? traced1上拉 +有的可以不插电池使用,而有些必须插电池? traced1上拉? \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0714.md b/10-Project/102-上班/日记/日记/0714.md new file mode 100644 index 0000000..52c075c --- /dev/null +++ b/10-Project/102-上班/日记/日记/0714.md @@ -0,0 +1,27 @@ +- sram-bl2测试提速 文档更新 ok +- 国伟的图像测试 ok? 版本烧进去了,但是触发不出来开灯? +- tf卡 ok + - 挂载测试 s30fsmount的时机不行 需要打个延迟 或者tf卡初始化时间太晚 nok + - 热插拔测试 从设备层面可以, ls /dev/每次都正确,热插拔需要自己手动提前umount或者再次mount ok +- 禅道问题 + - 一共4个问题 + - 23477 TEST_GREEN_SNS_VI_ISP_VPSS_720P_V2 TEST_GREEN_SNS_VI_ISP_VPSS_720P_V2_816 2.1.5.9.0.2 .6开始不能复现 直接走问题单了 deepsleep问题 + - 23146 TEST_GREEN_SNS_VI_ISP_VPSS_1080P_V15 TEST_GREEN_SNS_VI_ISP_VPSS_1080P_PTHREAD337  2.1.5.8.9.5 1/3 + - 23724 TEST_GREEN_SNS_VI_ISP_VPSS_1080P_V15 TEST_GREEN_SNS_VI_ISP_VPSS_1080P_PTHREAD330 2.2.0.0.3 1/3 + - 22870 TEST_GREEN_SNS_VI_ISP_VPSS_720P_V2 TEST_GREEN_SNS_VI_ISP_VPSS_720P_V2_825 2.1.5.8.9.1 + - 版本 + - v2.0最新上跑一下 +- 写文档 ok 乐平改 +- 产品硬件的测试 + - qspi测试 nok + - 9710外狗测试 ok +- 对比测试 + - 102Mhz + - 使用initramfs boot linux use 1581 ms + - 使用squashfs +- 9710测试 + - 看一眼原理图的对比 + - 等晨宇的文档 + - 从杭州借一个pt2c设备 + - 运行业务 调优手段 60mV的纹波 来远那边测试的比较低 + - 高低温测试 -20°C 到 60°C diff --git a/10-Project/102-上班/日记/日记/0729 本周.md b/10-Project/102-上班/日记/日记/0729 本周.md new file mode 100644 index 0000000..1ca08e8 --- /dev/null +++ b/10-Project/102-上班/日记/日记/0729 本周.md @@ -0,0 +1,117 @@ +- 提供了4台设备 发回去1台设备 周一 ok +- Jffs2分区 找一下乐平 周一 ok +- 测试 + - 测试一下橙色24M sramc? 测不了 // clk source 和 分频都不能只针对sramc配置 + - 15帧的isp 写入; 测试绿色sram vnne 测试中 ok // 跑了30万帧 +- 升级pt2l设备的bl1 ok +- 面试 ok +- 接受c2板子 10块 + - 烧写分区软件 ok + - 接插针 ok + - 现象 + - 更新版本之后概率性无法启动. + - tf卡不上电 设备树切1.8 + - bsp支持新款型(设备树与打包), sdk也得加进来 + - 问题 + - pmic代码适配? 概率无法启动是否有关系? + - 设备树适配 bsp和sdk增加对应设备树,烧写对应版本 + - tf卡电源 3.3v 1.8v + - wifi + - usbid的配置 + - 协助调试wifi (c2 + pt2lw) 后续 +- 给晨宇出包测试包 ok + - isp+vi 2592x1944 15fps 从sensor来数据 + - vpu 2592x1944 15fps 从isp来的数据 编码格式265 // lapi的格式不对 + - npu 尽力运行一个检测网络 + - cpu 双核尽力运行浮点计算 +- 人脸AE 放到steamer里 isp.c 周三 + - 确认是否能在2.2上完成 ? 品领老哥说可以 目前只合了develop + - 会议上什么是效果问题?? + - 人脸AE 合入develop +- 小建的od md合成 周四 +----------------------------------------------------------' +- 0805-0809 + - 晨宇提供c2满载包 ok // 后面讨论怎么进一步压榨 vpu 升压等 + - 提供了一个cpu npu满载 vpu(5m 15fps) isp(15帧hdr) 的版本 + - 有测试结果了 1w多 + - 测试任务 + - 30fps测试功耗 ok + - 概率性hang ok // 最新版本已经不出现了 + - 概率性断流 nok // 出现就重启 + - 如果挂2个后级就只能跑20帧 // 更换成多线程绑定就可以了 + - 输入改30fps 但是进入温箱之后会降低到25帧 + - 软绑265 + - 手动送帧 npu + - 夜晚模式只能测到25帧,无法到30,温箱里照亮光敏电阻(?)避免进入夜晚模式。 + - 周二发布给春垚测试 ok ? 版本2.2.1 json见钉钉网盘 测试结果见邮件 + - 方式1与方式2的快起时间对比 ok 周二 + - 方式一 991 1181 ok + - 方式二 挂载到/上确实不好用,什么文件也编辑不了了, 无法测试 先不搞了 ok + - V24功耗底板的使用 为测9901准备 能检测48路,兼容32路,后续测试一下。 ok --> 不能用, stm32代码中iic得调整顺序,否则顺序都是错的。 + - c2问题 等叨哥增加款型 + - 刷新版本 102/2.2/2.2/叨哥 测试下列问题 + - 启动问题 周二 ok 先试一下烧写了再试一下 需要上一个0402的电容 + - t卡问题 周二 ok + - 打包问题 周三 叨哥处理中 nok 下周 + - ircut qspi不对 nok 下周 + - wifi问题 下周 nok 下周 + - 烧了4台 4台更新1 再烧1台 提供给测试 nok 下周 + - 编写一个《c2使用指南》 nok 下周 + - SVP + - AE发布给管姐 并且只显示人脸 提示小建画多种类型的框的时候有问题 ok + - SADK和SVP是否可以同时运行 ok + - runtime和svp的区别 周三 下午 ok + - 测试ae功耗 带宽等什么东西 周四上午 测试 ok + - 一绑多 QA 周四上午 测试 ok + - ~~郭峰 2个网络 下周~~ + - ~~陈军 1个后处理 下周~~ + - // 小建hapi集成解答? + - 禅道或钉钉问题 + - 75电压+高频 硬绑画面花 nok 周五 // 找一个v23功耗板继续实验 周五 + - service sample 周四 + - w1分支merge review ? 周五 + - 9901高低温测试 下周 + - 对外 ok + - 算子支持文档 周三晚上 ok + - 性能规格 周三晚上 ok +- 0812-0816 + - C2工作 ok + - 编写一个《c2使用指南》 ok + - 提供4块C2 ok + - 叨哥增加文件535的文件打包到rootfs ok + - 改设备树model错误 区分c2 model,不操作gpio 50. + - 9901普通测试 + - 看原理图 看那一路是可调压的 ok + - U26 tp12 VCC_0V6_B5 buck5 + - U25 tp10 VCC_0V75_B7 buck7 + - ![[Pasted image 20240812164701.png]] + - 看文档 看怎么调压 ok + - i2cset -r -y 0 0x40 0x1 0x4e + - 问题 ok + - u25和u26的初始电压不一致 --> trim什么的 + - buck5和buck7的掉电现象不一样 --> 负载问题,buck7没负载,掉的慢 + - 上板测试 + - V24功耗板 + - 摸底测试 今天excel表反馈 ok + - 搭建好功耗测试环境(48路工具) ok + - 更新代码 烧新的stm32 + - 需要改channel.txt + - 更新48路monitor工具 + - 问题 ok + - 缺后32路的电压显示 ok --> inr226默认没电, 需要借一个电 + - switch1的电压过低,v24功耗板不作进一步测试,不是检测的问题,就是低 差300mV--> 寄回给毅帆了 + - BC4E (nor版本) + - 乐平明天发我,上9901芯片 测试基本功能 ok + - 降压测deepsleep 改临时代码 得重新编译 ok + - 常温项目 ok + - - 功能对不对 + - 对比v23功耗板功耗 + - 底功耗效率 降压不降压 成强测试了 + - iic 配置完成时间 delay + - 高低温? + - SVP + - 郭峰 2个网络 下周 + - 陈军 1个后处理 下周 + - od md合成 + + \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0819 本周工作.md b/10-Project/102-上班/日记/日记/0819 本周工作.md new file mode 100644 index 0000000..972d18f --- /dev/null +++ b/10-Project/102-上班/日记/日记/0819 本周工作.md @@ -0,0 +1,49 @@ +- 自动化测试云问题 ok + - eth问题 建议3秒之后再多等5秒 // 还是不行 + - script问题 查看raw 和 dd if的md5结果 // 不复现了... + - - 网口问题 非设备问题 107的位置无论换什么设备都不行 怀疑网卡和电源线? 给晓哥换设备 ok + - wifi问题 烧了4台 ok 但是必须插着TF卡? +- isplite的结果? // ok 小建说module改成1就可以 + - develop分支 vnne现在没帧了? 得先看没帧的问题 加打印看看 + - json中,isplite通道怎么配 0-3都是isplite的 +- 9901测试 ok + - 升压问题 测试升压 --> 截了0.36 - > 0.6的图 ok + - 反馈问题 ? --> 反馈给大橘子了 + - lpmode电压输出有有跳动问题 问题1 + - 升压过程有跌落问题 问题2 + - 降压的正确性 周一挂测 nok!!!! + - 晚上在v24上先压测2.3不降压的. 关skip跑一下 晚上压测 v2.3看似 已经保存了xml ok + - 用bsp工程替换 测试0.75v /测试0.6v 不跑skip ok + - 帧间降压 nok! + - 跑一晚上,看稳定性1 --> 2.2能跑,但是没检查数据正确性 + - 现在到2.3上跑不了了 成强说dev上可以跑,切到dev上跑 跑了一晚上稳定,但是没测试结果 + - 顺带给海宽测一下skip --> 先不测了 2.3上跑不了 +- 合入 vnne resume做下一帧 ok + - 先合入develop 测一下 ok + - 明天合v2.3 ok 后续关注fat结果 +- SVP 工作 + - npu 不共享的修改 周三 ok? + - 设计 + - 驱动 + - 原地申请的逻辑发生变化, 如果失败则申请下一段。 ok + - 申请结果要挂到session manager上 + - sram manager + - 要维护多段数据 ok + - 要记录这个空间的refcount,如果没有则释放。 + - 用户态 + - 释放session要refcount -1 + - 0大小的特殊处理! 不申请也不释放。 ok + - 测试 + - 合入是w1s ok + - 编译并测试rtt之后, 合入dev + - 有一个释放问题 胡广帮忙测一下。 又不复现了 + - md和od库的合入 NOK! + - 那会不会一个人停下来之后就没有了 怎么配置,放到后处理参数合适吗? + - 郭峰2模型 串接 新模式? +- 对外春垚支持 +- c2温度测试相关 + - c2满载高温测试 --> 如果没问题,那应该就不6920的问题 春垚测呢 ok + - 芯片测试脑图 ook + - tsensor合入bsp ok + - 注: 校准没人管 +- \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0826本周.md b/10-Project/102-上班/日记/日记/0826本周.md new file mode 100644 index 0000000..cbe6e1c --- /dev/null +++ b/10-Project/102-上班/日记/日记/0826本周.md @@ -0,0 +1,24 @@ +- 测试9901 周三 + - 根据脑图汇总表格 + - 补充升压降压的响应时间 + - 高低温 长稳 + - 纹波测试 春垚? 高低温纹波? +- svp + - 沟通 cmodel od<->md 周二ok + - 拉表格 周二ok + - 集成npu + - multi-task hir 周四合入 + - vnne hir 周四提供 + - 人脸识别 hir 周五 + - 集成vnne + - 合入到develop 测试ok 效果压误检,所以置信度偏低 同样场景低0.1+ + - 实现底层md通路 + - 支持手动送帧 + - 周三开发 周四测试 等2.4拉完再合 + - HAPI + - 顶层场景定义 周五 + - 实现与提测 下周 +- sdk禅道问题分析 + - v2.3 svp丢帧, 主要是没帧发下来。 因为没有机制能保证帧发下来。 所以还是要用suspend函数做一个信号,由发帧触发完成。文金 周二 这个方案不行,因为用户态先睡眠。 文金设计了一个内核态绑定的方案。 +- QA支持 + - wifi临时解决方案 rmmod 周二 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0905.md b/10-Project/102-上班/日记/日记/0905.md new file mode 100644 index 0000000..aa7fdbf --- /dev/null +++ b/10-Project/102-上班/日记/日记/0905.md @@ -0,0 +1,12 @@ +- E3测试 + - 软硬件修改 + - 调整拨码 第5pin上调到1 ok + - 烧写bl1 + - 更新设备树 更新8901代码 + - 测试内容 + - 单模块定频 调试 --> 合入QA + - +- Ex测试 +- Tensor测试 + - 同一 空载 单颗 不同温度下 Tsensor数值 曲线 等乐平的小核版本 下午 + \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0910.md b/10-Project/102-上班/日记/日记/0910.md new file mode 100644 index 0000000..ef9015c --- /dev/null +++ b/10-Project/102-上班/日记/日记/0910.md @@ -0,0 +1,36 @@ +- 汇总80片结果 ok + - excel + 芯片 周三发货 +- 测试535 hdr npu ok 叨哥管 + - streamer hdr是好的 2.3 + - 有些case expectnum 应该是校验问题 ok 想一下trigger模式怎么调用 + - TEST_GREEN_SNS_VI_ISP_VPSS_720P_V2 --gtest_filter=*.TEST_GREEN_SNS_VI_ISP_VPSS_720P_V2_820 --sensor SC535 --u32StreamTimes 100 --chn0save 1 --chn0OutFile /mnt/sdcard/6574292/chn0OutFile.video --u32RunTimes 5 --eMode 5 --fSrcFrameRate 1 --eRcMode 2 --u32BitRate 2000000 --u32ExpTimeRangeMax 200000 --u32SrcWidth 2592 --u32SrcHeight 1944 --u32DstWidth 2592 --u32DstHeight 1944 2>&1 +- 算法组支持 od/md融合 周三晚上合入 ok + - 先改sample + - 合入mapi的md_fuse分支 + - vnne + - npu + - 再新增一个模型 + - 等模型更新 + - w1 multi + 跟踪 待合入 **跟踪没合入!!** + - 出一个samplesvp的源码 周三晚上 ok +- 解决自动化测试问题 找QA增加CASE 十月份 + - runner.sh 到底要不要改,要不干脆不跑 周四 + - streamer增加时间配置 返回值 周四 -m -t +- 廖波 增加回调全吐模式并配合调通trigger ok + - 提供了一版 等待合入 ok + - trigger支持手动获取,没必要限制 波哥合 ok +- 出C2-E3的nor版本 列出问题 **周五?** ok + - 拉齐 8901.c 怎么合代码?还是临时出 没有封装信息 // 明天林明辉发邮件 + - 上传sdk ? + - **出一个临时的能拉流的版本 盲测 并记录版本**!!! 最新代码加一个就行 ok +- 写测试用例/E3任务分解??? 钉钉 ok +- 给叶欣发一个板子 ok +- 封装ALG函数 周五 +- 整理什么任务 钉钉? + + +static int sa8901_init(struct snd_soc_component *component) +{ +    +    snd_soc_component_update_bits(component, TEST_REGISTER_SOFT_RSTN, REG_SOFT_RSTN_MASK, 1 << REG_SOFT_RSTN); +    snd_soc_component_write(component, HOUSEKEEP_LDO_4, 0xbf); \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/0923 ok.md b/10-Project/102-上班/日记/日记/0923 ok.md new file mode 100644 index 0000000..3b19242 --- /dev/null +++ b/10-Project/102-上班/日记/日记/0923 ok.md @@ -0,0 +1,43 @@ +- svp ok + - 写ALG函数 下周 + - 给默涵改vnne的传递并联调 --> 默涵先把vnne参数写死就行了 ok + - develop分支统一改一下sample中的命名 ok + - 软绑定没有办法获取md结果 --> 调用了一个inner函数 廖波测试 ok + - 替换郭峰模型 合入develop ok + - vnne label编号 + - 与陈军沟通后处理 +- 测试 ok + - 写E3测试计划 ok + - 更新E3测试内容 测试单模块 整理脚本 周三 + - 叶欣 E3坏片换了个底板好了 回来分析! + - 谈外包-测试TF卡,找任务 nok + - 成强 版本/脚本 + - 外包 谈一下 nok 招一个吧 + - 测V24功耗 ok +- 测试 周一上午 ok + - 功耗测试 周四之前 ok + - 不降压的已经好了 ok + - 降压的不好 v2.3为什么不降压-> 使用v24版本 + - 生成一个结果文件 周四用 ok + - E3问题分析 周三周四 + - 3个老卡 ok + - 找几个新芯片测试 Review测试用例?? 应该不能了 + - deepsleep 老版本不行,但是新版本可以跑 ok + - 使用C2进行测试 周四 分析低温问题! 没能复现 + - 奇一哥 + - amt程序加入 IICtest进行筛片 + - 测试E3 DDR功耗 ok + - Peak测试 周四 + - 掉电压问题 + - buck5掉电压问题先飞线,跟叶欣看一眼掉电压的波形, 如果解决不了做一下升压配置继续测试 V24反馈的问题,没有从远端反馈。 需要上下件2个电阻 ok + - 重新出版本 + - 合入品领老哥的修改 AIISP增加功耗 + - VPU升频运行5M 30fps 并开启长期参考帧 + - CPU/NPU / VPU 30fps 长期参考帧 + - T卡测试标准 节后 + - 3类卡 2个品牌3个容量 出6个报告 + - 写测试用例和测试计划 + - 等成强版本进行测试 生成测试报告 +- 写JD ok 发布到猎聘上 +- 写需求 做功耗版 ok +- \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/1015.md b/10-Project/102-上班/日记/日记/1015.md new file mode 100644 index 0000000..92e35d7 --- /dev/null +++ b/10-Project/102-上班/日记/日记/1015.md @@ -0,0 +1,64 @@ +- Sram0.6v / RM值 10/9 ok + - 修改方法 --> 王诚 ok + - 功能测试 长稳/高低温 --> 测不了 ok + - 功耗测试 常温功耗增加 --> 测不了 ok + - 测一下寄存器 没影响 ok 10/9 + - 与架构和万博确认 6920与6921的设计 ok +- 功耗测试 10/11 + - 535 今天测试 -> 有问题 dp无法睡眠 aor丢帧 10/9 ok + - 4J10 ok + - 5L10 的功耗测试 imx681 玉军测试 还没点起来 + - 4k测试 8238功耗 + - 广岳ppt +- 招聘 => 长期等简历 + - 文档 + - 联系1个候选人 张媛媛 ok + - 考虑面试大纲 背景情况/行业知识/环境 约面试时间 ok + - 约一个面试 !!! + - 外包 + - Mandy / peter 提了需求 -> 明确推简历的人? 文档/协作 ok + - 猎聘 + - 卢 mandy 流程中 +- 功耗peak测试 周四 10/10 ok + - powertree图修改 ok + - 周四晚上开会 9910的peak计算对比 10/17 周三跟bc4e v1.1对齐功耗 +- tf卡初步测试 周五外包 + - 测试大纲->整理测试计划 ok + - 输出测试结果 整理测试报告 + - 2个PC测试工具 (H2 / Crystal DiskMark) ok + - 2个手动测试 ok + - 1个高低温 测试中 高温 低温 测试成本太高! + - 整理测试结果,abc +- 廖波 10/12 + - 看be的问题? --> 应该是dev代码的问题。 ok + - 先stop 再unbind,unbind的时候鞋带线程会卡 --> 有个初步修改方案,streamer测试没问题了 叨哥按照他的方式合了。 ok + - dummy的合入! vnne npu + - npu在aor模式下的使用 下周 +- SVP + - 裁剪符号excel 周四 10/10 ok + - 裁剪符号实施 10/15 + - 写alg函数 10/30 +- 测试E板 什么时候回板? + - nor款型 linux下读写不正常 何熙 ? +- BC系列进一步降低功耗 + - 等板子修复,使用乐平的版本测试streamer + - 使用老哥的金字塔版本 +- 支持 + - pt2lw固件升级 测试成功率 ok + + + + + +--------------------------------- + + +mkdir /testsd +mount -t vfat -o sync /dev/mmcblk1p1 /testsd +# write +echo 3 > /proc/sys/vm/drop_caches +dd if=/dev/zero of=/testsd/test bs=4K count=10000 conv=fsync + +# read +echo 3 > /proc/sys/vm/drop_caches +dd of=/dev/null if=/testsd/test bs=4K count=10000 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/1018.md b/10-Project/102-上班/日记/日记/1018.md new file mode 100644 index 0000000..e69de29 diff --git a/10-Project/102-上班/日记/日记/1021.md b/10-Project/102-上班/日记/日记/1021.md new file mode 100644 index 0000000..95c05fd --- /dev/null +++ b/10-Project/102-上班/日记/日记/1021.md @@ -0,0 +1,75 @@ +- EVB-V15 10/21 + - 出图 ok + - 板级其他测试 + - ~~nor ok~~ + - ~~合了develop ok~~ + - ~~兼容表配置 -> FAQ ok~~ + - ~~T卡 成强 ok~~ + - ~~改evb-v15设备树 待合入~~ + - audio codec测试 + - ~~写FAQ,过一下 ok~~ + - 改设备树 spk_en + - 小核代码 MIC 2.8v没电 + - 还是没声音 培春/郑勇调试 + - wifi + - 烧写调试 + - 休眠 + - ~~写硬件缺陷~~ + - ~~有些板子不打印~~ + - ~~bom3.3 + 2个已经有的~~ + - 看看如何写dts 不能再烧写pt2l的版本 见下面 + - 设备树 + - 音频 mic上电 spk_en +- ~~T卡结项 成强 10/21 ok 不管了~~ +- 做功耗ppt + - Normal模式功耗 + - 4K功耗 8238测量 测不了 sensor不识别/降压到0.6v失败 + - 按照新模板去做ppt 10/23 怎么人家的功耗这么低 +- 联系文档候选人 10/23 +- ~~合入郭峰svp的代码 10/22 ok~~ +- Ex + - ~~aor出一个hang,复现不出来了。 先认为没问题吧~~ + - 功耗测试 等功耗板 +- 全功能DDR测试 + - ai/aenc/record 后找一个稳定的频率 +- 产品板子 bc4e v1.1 10/24 +- SVP + - 改vnne问题 + - 解耦 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +&sdhi1 { + bus-width = <4>; + no-sdio; + no-mmc; + disable-wp; + //no-1-8-v; + post-power-on-delay-ms = <1>; + //vqmmc-supply = <®_ldo3>; + cap-sd-highspeed; + cd-inverted; + cd-gpios = <&portc 0 0>; + pinctrl-0 = <&pinctrl_sdio_pmux &pinctrl_gpioc0_pmux>; + status = "ok"; +}; + +sa8901_2: codec@3e{ + compatible = "microbt,sa8901"; + status = "okay"; + #sound-dai-cells = <0>; + reg = <0x3e>; + clocks = <&clock I2S0_MCLKOUT>; + clock-names = "mclk"; + clock-frequency = <12000000>; + pinctrl-0 = <&pinctrl_i2s0_mclk_pmux &pinctrl_gpiof3_pmux>; + pinctrl-names = "default"; + spk-ctrl = <0>; +// spk-ctrl-gpios = <&portf 3 GPIO_ACTIVE_LOW>; +// vad-out-gpios = <&porta 6 GPIO_ACTIVE_LOW>; +}; + +wifi的int脚修改 +mic的gpio修改 + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + diff --git a/10-Project/102-上班/日记/日记/1025.md b/10-Project/102-上班/日记/日记/1025.md new file mode 100644 index 0000000..dc8de1d --- /dev/null +++ b/10-Project/102-上班/日记/日记/1025.md @@ -0,0 +1,30 @@ + - EVB-V15 + - audio调试 录音可以,但是不正常,放音不对 + - wifi调试 ok + - 其他板子 ok + - 写设备树/写pack/测试整体版本 有了但是不对 + - 功耗测试 + - sensor测试 + - imx681 ? sensor在哪 + - sc8238 会hang + - 场景测试 + - normal场景优化 + - 周五会议上讨论 + - 先测试,再合入 + - 然后测脑图里的各个场景,然后制作对标ppt + - ppt + - 对比场景和sensor + - 招聘 + - 测试工程师 + - 没简历了 + - 文档工程师 + - Chen ok + - wang 周五 + + - 9910Peak测试 + - 与王科翔对齐版本 + - SVP软件 + - 隔离 poll +- Ex + - 功能测试, 给QA测试,没有32bit软件版本,测试有啥意义? + - 功耗测试, 没有功耗板 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/1105.md b/10-Project/102-上班/日记/日记/1105.md new file mode 100644 index 0000000..951a50d --- /dev/null +++ b/10-Project/102-上班/日记/日记/1105.md @@ -0,0 +1,42 @@ +- 降压到0.5v + - 场景3 normal场景降压0.5v + - vpu硬绑 297 已经降不了了 + - 夜景场景降压到0.5v 等郭堃的版本 +- 高低温 电压 明天 +- svp + - 陈军模型 + - 4分类模型 新增一个 + - 后处理集成 + - 前处理提供 定义 + - 串接? + - 修改内容 + - opensource 提交到分支 4class + - inner svp + - ive 直接提交 4class develop / develop_v2.5/ !develop_v2.4 ok + - + - system 增加头文件 4class 4653e902e02252a09426a2170a3b7b15ba29d414 + - mapi 提交到分支 4class 2个提交 + - 后处理 + - 其他适配 + - sample 提交到分支 4class 2个提交 + - 模型 + - sample hapi +- svp支持双sensor develop/ 2.5? + - 修改内容 + - svp pipie + - bind 有一个看不懂的修改? +- 问题修改 + - md信息获取 仕建改了,我先不改 可以临时第一次不获取避免问题, 但意义不大 + - 多路退出死机问题 // ok + - osal适配 // 周六合进去 ok + +- 更新提交记录 + - 代小建, 双sensor支持 // 只合入develop + - 降功耗sdk // 只合了sdk2.5 2.4合不合? develop没合! + - npu适配4脸与trigger通道的前处理可配置 // 只合入了v2.5 2.4确认不合 develop没合! + - osal // 只合了sdk2.5 2.4合不合? develop没合! + - 问题修改 + - 禅道npu hang // 只合了sdk2.5 2.4合不合? develop没合! + - +- 需要更新svp文档 + - \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/1月第2周.md b/10-Project/102-上班/日记/日记/1月第2周.md new file mode 100644 index 0000000..37a3003 --- /dev/null +++ b/10-Project/102-上班/日记/日记/1月第2周.md @@ -0,0 +1,3 @@ +30出15 15出15 +2.6 2.5对比 +测纹波噪声 buck5 buck7 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/20241119 ~ 24 (完结).md b/10-Project/102-上班/日记/日记/20241119 ~ 24 (完结).md new file mode 100644 index 0000000..eca8a53 --- /dev/null +++ b/10-Project/102-上班/日记/日记/20241119 ~ 24 (完结).md @@ -0,0 +1,52 @@ +- ~~bc功耗测试~~ + - [ ] ~~重新记录一个稳定的版本号进行 3个内容的测试~~ + - [ ] ~~60功耗 // 55某个场景测试,不测55了~~ + - [x] ~~sensor ✅ 2024-11-20~~ + - [ ] ~~音频codec~~ + - [x] ~~更新ppt 菊姐自己更新了✅ 2024-11-21~~ + - [ ] ~~2n10更新表格与ppt~~ +- c2c + - [x] E3封装硬件变更测试 ✅ 2024-11-22 + - [x] sfc的3.3 1.8v的io电 ✅ 2024-11-21 + - [x] watchdog测试 ✅ 2024-11-25 + - [x] E3手动筛片 ✅ 2024-11-21 + - [x] 40片,用老程序即可 ✅ 2024-11-19 + - [x] 手动写新封装otp? 奇一哥今天提供方法 ✅ 2024-11-20 + - [x] 发给产品 ✅ 2024-11-21 + - [x] 构造 新E3 + 3.3v Norflash + 5L10 + usb wifi的环境(可选,在老C2上验证即可) ✅ 2024-11-21 + - [x] 先试验1.8v的全流程 把EVB的sfc接出来。 !无法正常启动到bl31-> 跳 ✅ 2024-11-20 + - [x] 切换到3.3v Nor板子 新E3<->PQ25H(3.3) 测试全流程 先准备一个 ✅ 2024-11-21 + - [x] 验证 ✅ 2024-11-22 + - [x] Norflash烧写 1.8v 3.3v ✅ 2024-11-21 + - [x] Norflash启动 1.8v 3.3v ✅ 2024-11-21 + - [x] Linux下读写 1.8v 3.3v ✅ 2024-11-21 + - [x] streamer 5L10测试 ✅ 2024-11-22 + - [x] 用老c2进行wifi测试 ✅ 2024-11-22 + - [x] 给产品提供整合nor包 ✅ 2024-11-22 + - [x] bl1-nor 用库上的 ✅ 2024-11-21 + - [x] system分区 sdkv2.5 ✅ 2024-11-22 + - [x] 使用e3-c2的设备树 在e3-c2上验证启动? ✅ 2024-11-22 + - [x] 扩展分区 ✅ 2024-11-22 + - [x] 带上验证后的wifi功能文件和5l10.json文件 ✅ 2024-11-22 +- [x] streamerlite上QA ✅ 2024-12-12 +- [x] 缺陷 tf竖版子的sfc不通 “sdk项目需求填写” E3核心板支持3.3v ✅ 2024-11-22 +- svp工作 + - [x] 陈军新模型 周二晚上 ✅ 2024-11-20 + - [ ] 调试车牌流程 完成廖波的需求 周六 + - [ ] sample_svp支持2路 周六 + - [ ] 同步一些提交到develop上 周六 + - [x] npu4脸前处理 周五 ✅ 2024-11-22 + - [ ] osal适配 与 npu hang // 注意不要踩踏stop问题 + - [ ] 车流程与车 2路sample + - [ ] svp文档需要更新版本! + - [x] 禅道问题 ✅ 2024-12-16 + - [x] md打印报错,不想改,没什么用 ✅ 2024-12-16 + - [x] destroy锁的问题 ✅ 2024-11-23 +- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- 更新提交记录 + - 代小建, 双sensor支持 // 只合入develop + - 降功耗sdk // 只合了sdk2.5 2.4合不合? develop没合! + - npu适配4脸与trigger通道的前处理可配置 // 只合入了v2.5 2.4确认不合 develop没合! + - osal // 只合了sdk2.5 2.4合不合? develop没合! + - 问题修改 + - 禅道npu hang // 只合了sdk2.5 2.4合不合? develop没合! \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/20241125 ~ 30 12月第一周第二周.md b/10-Project/102-上班/日记/日记/20241125 ~ 30 12月第一周第二周.md new file mode 100644 index 0000000..f000da6 --- /dev/null +++ b/10-Project/102-上班/日记/日记/20241125 ~ 30 12月第一周第二周.md @@ -0,0 +1,76 @@ +- [ ] ~~bc功耗测试~~ 第三周 + - [ ] 重新记录一个稳定的版本号进行 3个内容的测试 + - [ ] 60功耗 // 55某个场景测试,不测55了 + - [ ] 音频codec + - [ ] 更新ppt + - [ ] 2n10更新表格与ppt +- [x] QA对接 ✅ 2024-11-25 + - [x] streamerlite上QA ✅ 2024-11-25 找@宗崎跟踪下结果,结果看着对了 + - [x] HeronTest多路测试!! 0.85 周二 找@宗崎跟踪下结果 + - [x] 多路有内核crash!,原因在于锁的范围不对 ✅ 2024-11-28 + - [x] 多路会hang,然后重启。 2.4就有这个问题, ✅ 2024-11-28 +- [ ] svp工作 + - [x] sample_svp支持2路 周二 ✅ 2024-11-27 + - [ ] 调试车牌流程 周四 + - [x] 完成廖波的需求 周六 ✅ 2024-11-29 // 廖波反馈坐标不对。 先不调了三步走流程放弃 + - [x] 完善detectoutput的输出结果 周二 要做一个字符串出去 ✅ 2024-12-12 + - [x] motionstate(3类)/函数名统一/label统一 ✅ 2024-12-12 + - [x] 同步一些提交到develop上 周五 ✅ 2024-11-29 + - [x] osal适配 与 npu hang // 注意不要踩踏stop问题 ✅ 2024-11-29 + - [x] 宗崎测试出来的死机bug 2个提交 ✅ 2024-11-29 + - [x] 车流程与车模型,~~以及后处理统一~~ ✅ 2024-11-29 + - [x] 2路sample以及sample整理 ✅ 2024-11-29 | mapi + - [ ] ~~svp文档需要更新版本! 周日~~ + - [ ] 禅道问题 + - [x] oswl_free死锁? 周二晚上 ✅ 2024-12-10 + - [x] vnne 切换问题 ✅ 2024-12-10 + - [x] remove驱动问题 npu_heron_remove ✅ 2024-12-10 保存npu_dev的方式不对 remove也不对 // 要提交到内网 + - [x] 影响品领的isp 周一 看错了,不影响。 ✅ 2024-12-02 + - [x] 品领的2.4不匹配问题 给个连接? ✅ 2024-12-03 + - [x] 提前获取md打印报错 不想改,没什么用 下周 ✅ 2024-12-10 + - [ ] npu死机问题 2.4的合入? 已经有patch了 讨论一下不太想合入 + - [ ] 智能会议 + - [x] 模型与后处理一起管理 sample只处理yuv和ini 避免不同步的合入 ✅ 2024-12-06 + - [x] sample修改 dev 周三 ✅ 2024-12-04 + - [x] sample修改 v2.5 周末 ✅ 2024-12-06 + - [x] 告警jpg? 如果有有没有osd时间戳信息 ✅ 2024-11-29 + - [ ] 讨论ae/yuv信息透传给后处理 周五 + - [x] 先用2.5做一个手动送帧的透传版本 郭峰先用streamer调试 周二早晨 ✅ 2024-12-03 + - [ ] 异步模式的透传需要讨论! 可以做驱动透传,但是不能保证结果的正确性; 驱动不能等后处理用完了再通知软绑定线程。 + - [ ] 借助语义分割优化编码质量 + - [x] 讨论ok ✅ 2024-11-29 + - [ ] 拉分支开发! 周四 + - [ ] 其他问题 + - [ ] streamer serviceapi上报双结果还是有问题! 周末 + - [x] 用新交叉编译工具解决svp的编译问题 周末 ✅ 2025-01-24 +- [x] C2C 更新版本 ✅ 2024-12-16 + - [x] maxloading程序 1.35W 有问题! 打开herontest单线程之后,streamer跑不起来了 ✅ 2024-12-02 + - [x] 自研云 方案1(app)/方案2(廖波对讲) projects/cloud ✅ 2024-11-28 + - [x] E3芯片测试 ✅ 2024-12-05 + - [x] 高低温中的ddr读写(maxloading) 测试-25°C 和 高温80°C 周三晚上 ✅ 2024-12-05 + - [x] ~~高低温中的音频测试 在温箱里不好测 测测放音~~ 产品自己测吧 ✅ 2024-12-03 + - [x] ~~支持另一个norflash xt25~~ 周三 ✅ 2024-12-12 + - [x] ~~10秒才进烧写,但是又烧不进去 不管了 1月份再说。 ✅ 2024-12-12~~ + - [x] 交付C2C给QA 下周吧 ✅ 2024-12-16 + - [x] C2C设备树 版本发布 用C2能出声吗 QA要做拉流测试吗? 找乐平叨哥出版本 ✅ 2024-12-16 + - [x] 讨论Wifi烧写版本瘦身问题 提供4台,不需要usb 下周 ✅ 2024-12-16 + - [x] C2C产品 gpio问题(E3) ✅ 2024-12-11 改padc寄存器就可以 +- [x] TF卡 ✅ 2025-01-24 + - [ ] 测试得一微的卡 + - [x] 生成测试报告 周二 ✅ 2024-12-04 + - [x] 与厂商开会 ✅ 2024-12-04 + - [x] 收烧写板,重新测试DYW升级后固件 下周 ✅ 2025-01-24 + - [x] 另外一家的卡 ✅ 2025-01-24 + - [x] 没收到货 继续与刘俊沟通 ✅ 2025-01-24 +- [x] 招聘 ✅ 2024-12-11 + - [x] 外包招聘 📅 2024-12-15 ✅ 2024-12-11 + - [x] 周一下午 汽车 ✅ 2024-12-03 + - [x] 文档招聘 ✅ 2024-12-11 + - [x] 下周一 周六/周一 ✅ 2024-12-11 +- [x] 9901B的测试 下周 ✅ 2025-01-24 + - [x] 写测试脑图 有2个文件 ✅ 2024-12-11 + - [x] 整理成脑图和测试计划。 周四 ✅ 2025-01-24 + - [x] 进行测试。 下周三之前 ✅ 2025-01-24 +- [x] 想给测试员工写个脑图 ✅ 2025-01-24 + - [x] 功耗测试/芯片测试/高低温测试 ✅ 2025-01-24 + \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/202412月 第三周第四周.md b/10-Project/102-上班/日记/日记/202412月 第三周第四周.md new file mode 100644 index 0000000..7a7b5cc --- /dev/null +++ b/10-Project/102-上班/日记/日记/202412月 第三周第四周.md @@ -0,0 +1,42 @@ + +- [ ] SVP工作 + - [ ] 更新svp文档 + - [ ] 禅道问题 + - [ ] 2.4的死机问题,不影响产品不想合 + - [x] 2.6上 streamerlite都报错了, sns报错,转给品领了 另外deepsleep还有睡不下去的问题,昌德兄在看 ✅ 2024-12-19 + - [ ] 使用hapi销毁通道时 有一个低概率报错,对功能目前看无影响。 + - [ ] vnne那个还是有概率错,应该还缺个锁,跟叨哥一起看一下。 + - [ ] 其他问题 + - [x] 新交叉编译工具链的svp的编译问题 ✅ 2024-12-17 + - [ ] 智能会议 + - [ ] 讨论ae/yuv信息透传给后处理 周五 + - [x] ~~异步模式的透传需要讨论! 可以做驱动透传,但是不能保证结果的正确性; 驱动不能等后处理用完了再通知软绑定线程。 廖波改的同步的。~~ ✅ 2024-12-20 + - [x] 语义分割调试 周二 ✅ 2024-12-20 + - [x] 给何博华基于2.6改临时代码 ✅ 2024-12-17 + - [x] 等何博华初步调试完成后, 给陈军更新npu建立任务,支持多分辨率模型 周四 ✅ 2024-12-20 廖波做了 + - [ ] 软件发布 + - [ ] 更新npu功耗文档 频率/电压 时间/功耗 下周 + - [x] 后处理可重入以适配多sensor ✅ 2024-12-17 + - [x] 跟踪陈军的修改情况,不要使用init,每帧算iou即可 ✅ 2024-12-17 + - [x] 如果不行就要放到mapi ✅ 2024-12-17 + - [x] 代码同步 ✅ 2024-12-18 +- [ ] 测试 + - [x] 交付给测试C2C 先不弄wifi了,交付了5台 3北京2杭州 ✅ 2024-12-17 + - [ ] 9901B测试 周一脑图和测试计划 + - [x] 跟菊姐碰一下, 整理成脑图和测试计划。 周一 ✅ 2024-12-17 + - [x] ~~**重新生成测试用例 周四!**~~ ✅ 2024-12-20 + - [ ] 进行测试。 周一周二 + - [ ] bc功耗测试 周一晚上 + - [x] 4d10 30fps的测试工作 ✅ 2024-12-20 + - [ ] 重新记录一个稳定的版本号进行 3个内容的测试 + - [ ] 60功耗 // 55某个场景测试,不测55了 + - [x] 音频codec ✅ 2024-12-20 + - [x] 2n10更新表格与ppt ✅ 2024-12-20 + - [x] 产品TF卡 ✅ 2024-12-20 + - [x] 得一微 等更新版本 周六 ✅ 2024-12-19 + - [x] **另外一个珠海的什么卡 外包在测试 周五** ✅ 2024-12-20 +- [x] 新员工与面试 ✅ 2024-12-19 + - [x] 测试员工脑图 周三 周四入职 ✅ 2024-12-19 + - [x] 终面讨论 周一 ✅ 2024-12-16 + + diff --git a/10-Project/102-上班/日记/日记/2025年1月.md b/10-Project/102-上班/日记/日记/2025年1月.md new file mode 100644 index 0000000..b66b343 --- /dev/null +++ b/10-Project/102-上班/日记/日记/2025年1月.md @@ -0,0 +1,2 @@ +- [ ] 产品测试 + - [ ] xt25的导入测试 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/2025年1月底-2月.md b/10-Project/102-上班/日记/日记/2025年1月底-2月.md new file mode 100644 index 0000000..8eb5c1f --- /dev/null +++ b/10-Project/102-上班/日记/日记/2025年1月底-2月.md @@ -0,0 +1,83 @@ +- [x] 完善V24单板使用手册!! ✅ 2025-01-26 +- [x] PRD ✅ 2025-01-26 +- [x] 相对于外网,NPU少了一个提交 ✅ 2025-01-26 + - [x] 向叨哥申请合入 ✅ 2025-01-26 +- [x] 功耗 ddr降低 明天 ✅ 2025-02-06 + - [x] 整理测试结果 --> ✅ 2025-02-06 + - [x] 原本多个场景在2.5上需要重新测试,加入音频,并合入json ✅ 2025-02-06 + - [x] 更新了奇一哥之后的文件,再进行测试。 ✅ 2025-02-06 +- [x] sram电压 字节的问题 保留哪几个电就可以retention住 ✅ 2025-02-06 + - [x] 信息 ✅ 2025-02-06 + - 红色域sram 192K + 128K + - 橙色域sram 3MB + - 绿色域sram 5MB + - DVDD075_SHUTDOWN/DVDDP_SHUTDOWN/DVDD_FILTER/DVDD075_FILTER + - [x] 方案 ✅ 2025-02-06 + - [x] 改一下V24功耗板测试 ✅ 2025-02-06 +- [ ] ~~BC6 开机降压的测试 0207~~ + - [ ] ~~打包以及基本功能~~ + - [ ] ~~过冲测试? 一次降压还是两次降压~~ + - [ ] ~~快起 找文明~~ +- [x] PRD文档 ✅ 2025-02-08 + - [x] 讨论需求 ✅ 2025-02-08 + - [x] 更新1 channel 跟赵俊 ✅ 2025-02-08 +- [ ] 9901B降压 + - [ ] **补充测试项**,并更新测试报告 @雷波 + - [ ] 动态响应 + - [ ] 模式 + - [ ] 音频的问题 + - [x] 提个缺陷 ✅ 2025-02-05 + - [ ] 讨论一下是否可以移动到红色域? 培春 + - [ ] 改一下v24功耗板 dvdd_filter 只能改到buck8 + - [ ] 关闭音频的结果 + - [ ] 不改电源树的情况 buck5 buck7 + - [ ] buck5 0.4v ->0.36v streamer deepsleep卡死 + - [ ] buck7 0.36v ->0.2v BSP损坏 +- [ ] E3南亚测试 + - [ ] 下周更新测试用例和测试报告 +- [x] TF卡测试 跟随刘俊 ✅ 2025-01-27 + - [x] 明天更新一下结果 ✅ 2025-02-06 +- [x] 品领 4d10双sensor ✅ 2025-02-08 + - [x] 收快递 ✅ 2025-01-26 + - [x] ~~it增加权限~~ 可以通过csv导入导出 ✅ 2025-02-06 + - [x] 测试 -> 预计今天完成 给个报告 ✅ 2025-02-08 +- [ ] 招聘 + - [ ] 文档工程师 1个 + - [ ] 测试工程师 3个 +- [ ] 其它硬件单板 + - [ ] V16? + - [ ] 小竖版子? +- [x] 9901B BC6 ✅ 2025-02-08 + - [x] buck6 0x40 临时版本 ✅ 2025-02-06 + - [x] ~~正式版本 ? ✅ 2025-02-08~~ + - [x] ~~要不要给国增提需求 TI某些款型的Vset 可以决定start-up的电压 @大橘子 ✅ 2025-02-08~~ +- [ ] DFF半静态 + - [ ] 吕永志资料 + - [ ] 6920测试 AIISP + - [ ] 6940测试 +- [ ] E3测试报告 + - [ ] 刘俊 +- [ ] 提缺陷 + - [ ] E3 + - [ ] 图像 +- [ ] 9901 + - [ ] 测试项目补充 + - [ ] pwm配置对效率的影响。 过零固定一个配置 + - [ ] 双模式(lp/normal)下效率 + - [ ] 结合vref的单步调压过冲测量与多步调压 + - [ ] 改进点 + - [ ] i2c地址只有一根线 3颗芯片 iic地址就排不开了 + - [ ] vset + - [ ] vref调压方式不常见,按照文档某些配置要兜圈 + - [ ] lp和normal要手动配置 +------------------------ +- [ ] 万博什么半 2月 对接ic的谁 吕永志 -> 测试 +- [ ] 前处理 +- [ ] anne集成? +- [ ] 测试整理效果? +- [x] ~~pt2lv2 npu卡死 不想搞了~~ ✅ 2025-02-06 +- [ ] 40测试 // 现在还得挂jtag,不好用 + - [ ] psram + - [ ] 汇报结果 温度/电压 +- [ ] 同步资料 +- [ ] 电源树方案 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/3-4月TODO.md b/10-Project/102-上班/日记/日记/3-4月TODO.md new file mode 100644 index 0000000..4cea390 --- /dev/null +++ b/10-Project/102-上班/日记/日记/3-4月TODO.md @@ -0,0 +1,137 @@ +- 单板维修与测试工作 记录到excel表中 + - 志敏的v1.8单板 + - 改好了 放了一天 + - 1.81的板子 反复重启了 + - VPU测试 + - memtester测试 + - 纹波测试 没测 + - 但是跑了80万帧之后,测出来手动筛片问题了 + - 不知道能继续做什么测试了 + - 高低温 + - 常温跟cpu能到达的最高频率关系更大, + - 低温升bus电压的话,能有效改善低温不过的现象 +- 产测 excel与数据库 + - excel表 + - 数据库 已经改了 + - op2 和 op4电压不一样 未解决 + - 但奇一哥说电压一样, op2和op4的ddrc的频率不一样 op4的ddrc频率搞 + - 难道是ddrc频率高 造成的drop大 + - npu c case设计 //0408搞 + - 600ms问题 +- vpu 手动筛片问题 + - 之前用1.5.1.1的版本测试的 + - 用最新版本测试硬绑定 + - 用最新版本测试软绑定 ? + - ~~用os04d10的文件是可以的用通道1~~ + - ~~用.1的文件是不可以的, 比较差异中 跟打开svp有关系 没搞~~懂 关了svp就可以了 + - 硬绑 6帧 + - 软绑 80帧 - 200帧 + - 手动 80帧 - 200帧 + - 3颗芯片 没问题 + - 把vpu和isp电分离 ok +- npu55 vpu75问题!!漏测问题 重要 + - 先问史程 问题发给翟云了 跟踪测试结果 在后端那里 +- 6921 npu讨论 + - 注意控制帧完整性 +- w1 sdk工作 + - ~~trigger路复制 其它路不复制~~ + - 设计一个自由输出的结构体 + - 测试trigger + - 代码改善 合dev 部分合w1 + - ~~SVP MAPI中, NPU手动送帧的非Trigger路可以进一步减少输入buffer分配。 + - ~~SVP MAPI中, 通道Context结构体需要优化,区分成配置结构体和状态结构体, 只有状态结构体需要通道状态锁保护。~~ 优化了,但是锁没必要改了 + - ~~SVP MAPI中, 异步接收线程中目前poll函数调用时持有了一把通道状态锁, 需要优化。~~ 优化了,但是锁没必要改了 + - ~~SVP MAPI中, 在SYS模块中增加SVP的Init函数, 通道状态锁的初始化应该在这个init函数中实现。~~ + - SVP MAPI中, 异步接收线程的创建和销毁随Start/Stop函数建立和销毁有可能丢帧更少。 // 0409搞 + - ==VNNE的帧缓存模式下, VNNE可以Mask掉0x4000 0x400等直通模式专属的中断。== // 0411-0412搞 + - ==VNNE的lapi和驱动可以转移到SVP仓库中。== // 0411-0412搞 + - ~~SVP完整支持rtt // **0410** 合入到了develop中,没有合W1 + - ~~启动失败, 换成同步打印, 发现跟小建现象是一样的 开始的打印丢失是因为异步打印所导致~~ + - ~~测试~~ + - ~~todo~~ + - ~~KCONFIG中增加BSP_USING_SVP,并正确设置依赖 vnne npu aiisp?~~ + - ~~修改代码使用BSP_USING_SVP隔离mapi以上的代码 ok~~ + - ~~so代码增加rtt的编译,避免dlopen问题~~ + - ~~分别编译rtt下带svp的和不带svp的 保证都能编过! 不带的ok了~~ + - ~~测试lapi heronrt ok!~~ + - ~~测试mapi sample ok~~ + - ~~问题1 发现来源于栈溢出, 破坏了slab分配区,造成了slab分配堆内存失败~~ + - ~~问题2 来源于mapi使用了sram_filter, 但是rtt下没有对应分区但也分出来了,释放的时候报错。~~ + - ~~编译linux develop分支!~~ + - ~~说一声之后, 提交他们的代码~~ + - ~~要通知小建改的地方 主要是isp.c~~ + - ==当前npu驱动对随机ctrl c的支持应该有问题。 应该是改出来的问题== 0412复现不了,没想明白差异 + - 复现不了了 + - ==测试一下trigger== + - ==anne合入== + - ~~代码如何同步到dev2.0分支? 和dev分支?~~ +- pt2s sdk工作 + - 讨论trackid的计算 如果是mapi做的话, 那么后处理中还需要保存历史信息。 +- sa6940问题维护 + - 单进程sram问题 + - os内存oom问题 +- DDR读写测试 + - 测试一下降频的版本的利用率 ok 确实还是90%左右 +- rtt集成amt cpu测试 ok + - 在功耗板上复现一下lunch 1 + - 成功启动 + - Debug + - 乱码 设置失败 + - 修改2个clk函数 +-------------- + +bootfrombl2 + + 小建 奇一 我的 +lunch1 ok ok nok (需要分析bl2的问题,为什么我的不行,是boolfrombl2宏导致的么) +lunch5 ok ok nok +lunch4 nok + +--------------------- +- 文明反馈结果 ok +- amt cpu 1 问题 ok + - sram ok + - bootfrombl2 不测了 +- 测试sram + - 旧的测试 + - 绿色域cpu与绿色域sram的测试 + - 跟cpu频率有关系 + - 682 75/55 可以启动 + - 1024 75/55 不可启动 + - 1024 75/75 可以启动 + - 那当时成强的现象(启动到kernel才死)又怎么解释呢? 还得复现一下 + - 红色域cpu与绿色域sram的测试 + - 高晗使用v23功耗板测试 + - 75/45 不可以读写 + - 首先文档写错了, sramP电给cpu的cache供电,已经跟詹立新确认过了,他们安排修改。 + - ![[文档sramP电描述错误.png]] + - 根因:芯片内部缺少levelshift设计,所以不能产生大压差。 + - case设计:由于cpu cache用的也是sramP的电,因此大核cpu直接跑cpu用例就可以。 + - 测试结果 + - cpu/sramP 75/75 cpu频率运行到1024Mhz以上 + - cpu/sramP 75/55 cpu频率运行到852Mhz挂了 + - cpu/sramP 75/50 cpu频率运行到584Mhz挂了 + - cpu/sramP 75/45 没测,版本起不来必然低于500Mhz + - 重新测试一下 需要用绿色域的dma进行测试 + - 0.75v + - step1 devmem 0x50000098 32 0x11 # 降低sramc的分频 sramc 198000000 -> 396000000 axi-dmac 99000000 dma ok + - step2 devmem 0x50000010 32 0xbf # 提升bus频率 sramc 396000000 -> 594000000 axi-dmac 148500000 dma ok + - step3 devmem 0x500000B0 32 0x2 # 修改shut_ahb_hclk分频 sramc 594000000 axi-dmac 297000000 dma ok + - step4 devmem 0x500000B0 32 0x1 # 修改shut_ahb_hclk分频 sramc 594000000 axi-dmac 594000000 dma ok + - 0.50v + - step1 devmem 0x50000098 32 0x11 # 降低sramc的分频 + - step2 devmem 0x50000010 32 0xbf # 提升bus频率 sramc 396000000 -> 594000000 dma nok 但是这样已经超了sramC的频率了 + - step3 + - step4 axi-dmac 99000000 -> 396000000 dma ok + - 0.45v 现象很奇妙 + - 不给cpu降压到0.55v的话会起不来 ? + - 降低到0.55v也不对 0x20200000 - 0x202570f5 # 这是sram读写错误了 + - 将0x50000098改到0x18之后, 会变成ddr训练错误 dwc_ddrphy_getmail timeout enter + - 降低cpu频率(提升cpu分频), 问题又回来了 (神奇) + - 此时如果用红色域访问的话, sramc是没有问题的,因为sramc被降频了 + - 总结, 没出来压差问题。 0.45v下面的一些现象还不知道原因。 + +- 高晗功耗测试 支持 + - 480mW 生成了表格 +- npu 50v电压测试 + - 本质上还是压差的问题 只要降低了dvddshutdown之后 其它电压就可以下来了 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/JD初稿.md b/10-Project/102-上班/日记/日记/JD初稿.md new file mode 100644 index 0000000..c597f1b --- /dev/null +++ b/10-Project/102-上班/日记/日记/JD初稿.md @@ -0,0 +1,6 @@ +1) 有严谨负责与耐心的态度,在工作中有质量意识。 +2) 大学专科以上学历,专业不限。对芯片,计算机或通信有基础认知。 +3) 日常工作涵盖Soc芯片功能与性能的相关测试,疑难问题复现,以及对问题进行初步分析与分类归纳等等。 +4) 具有一种脚本编写能力是加分项。 +5) 或者具有硬件焊接能力,熟练使用示波器能力是加分项。 +6) 岗位为劳动派遣岗位。 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/c2c工作.md b/10-Project/102-上班/日记/日记/c2c工作.md new file mode 100644 index 0000000..f3a23a9 --- /dev/null +++ b/10-Project/102-上班/日记/日记/c2c工作.md @@ -0,0 +1,31 @@ +- e3 (海力士/hynix) + - 没有otp // 手工筛片时增加此步骤 + - bl2 // 没有otp的话,有个南亚的参数不一样 + +- norflash 3.3v + - 调试 + - 硬件 + - 使用E3新封装核心板,+evb // 得查一下3.3v怎么配置 + - 使用3.3 nor芯片 PY25Q128HA 改一下3.3v供电 查一下io怎么配置为3.3 + - 列表 + - PY25Q128HA * + - XT25F128F + - 配置 何熙 应该ok + - bl2 何熙 应该ok + - linux 何熙 应该ok + - 文档 + - 没有文档 + +- usb wifi c2 海波 + - 没人调 乐平 + +- 5L10出图 + - 应该还好 + +- E3新封装 + - 3v3电 + - 狗 + - 筛片 + +- 给天辉发板子 + - E/E3新封装 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/pm日志分析 vnne慢 59Mhz.md b/10-Project/102-上班/日记/日记/pm日志分析 vnne慢 59Mhz.md new file mode 100644 index 0000000..96a2436 --- /dev/null +++ b/10-Project/102-上班/日记/日记/pm日志分析 vnne慢 59Mhz.md @@ -0,0 +1,58 @@ +[ 112.383265] !!!send!!! +[ 112.385839] PM: suspend entry (deep) +[ 112.408795] Filesystems sync: 0.019 seconds +[ 112.413000] Preparing system for sleep (deep) +[ 112.417415] Freezing user space processes ... (elapsed 0.001 seconds) done. +[ 112.425732] OOM killer disabled. +[ 112.428977] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done. +[ 112.437524] Suspending system (deep) +[ 112.441131] printk: Suspending console(s) (use no_console_suspend to debug) + +S3 睡眠 60ms 445-385=56ms 打印的问题 + 454-385=70ms + +[ 112.450915] acme_wdt_disable +[ 112.452937] acme_wdt_timer_disable cpu0 +[ 112.453122] suspend of devices complete after 4.625 msecs +[ 112.453131] start suspend of devices complete after 5.018 msecs +[ 112.453666] late suspend of devices complete after 0.526 msecs +[ 112.454213] noirq suspend of devices complete after 0.405 msecs +[ 112.454219] Disabling non-boot CPUs ... +[ 112.454224] Checking wakeup interrupts +[ 112.454247] Calling sched_clock_suspend+0x0/0x34 +[ 112.454249] Calling timekeeping_suspend+0x0/0x1c4 +[ 112.454249] Calling cpu_pm_suspend+0x0/0x1c 是不是这里打印被憋住了? 是因为串口被suspend +  + Resume_devices: + +[ 112.454249] Calling cpu_pm_resume+0x0/0x18 +[ 112.454249] Calling irq_pm_syscore_resume+0x0/0x18 +[ 112.454249] Calling timekeeping_resume+0x0/0x124 +[ 112.454249] Timekeeping suspended for 0.792 seconds +[ 112.454249] Calling sched_clock_resume+0x0/0x4c +[ 112.454587] noirq resume of devices complete after 0.323 msecs +[ 112.454981] early resume of devices complete after 0.303 msecs +[ 112.455086] acme_wdt_enable 0 +[ 112.455157] acme_wdt_timer_enable cpu0 +[ 112.457176] (isp_m_drv_resume, 99)isp driver resume +[ 112.457284] resume of devices complete after 2.292 msecs +[ 112.475731] !!!result!!! 又过了25ms ??? +[ 112.562846] Finishing wakeup. +[ 112.565827] OOM killer enabled. +[ 112.568980] Restarting tasks ... done. +[ 112.573504] PM: suspend exit + + + + +[ 150.605756] !!!send!!! +[ 150.608891] PM: suspend entry (deep) +[ 150.631876] Filesystems sync: 0.019 seconds +[ 150.636080] Preparing system for sleep (deep) +[ 150.640496] Freezing user space processes ... (elapsed 0.001 seconds) done. +[ 150.648825] OOM killer disabled. +[ 150.652069] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done. +[ 150.660613] Suspending system (deep) +[ 150.664222] printk: Suspending console(s) (use no_console_suspend to debug) + +3 睡眠 60ms 664-605=59 \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/pm日志分析 vnne快.md b/10-Project/102-上班/日记/日记/pm日志分析 vnne快.md new file mode 100644 index 0000000..d2aa75d --- /dev/null +++ b/10-Project/102-上班/日记/日记/pm日志分析 vnne快.md @@ -0,0 +1,42 @@ +[ 390.418989] !!!send!!! +[ 390.421567] PM: suspend entry (deep) +[ 390.444478] Filesystems sync: 0.019 seconds +[ 390.448687] Preparing system for sleep (deep) +[ 390.453064] !!!result!!! 35ms 237Mhz +[ 390.455946] Freezing user space processes ... (elapsed 0.001 seconds) done. +[ 390.464255] OOM killer disabled. +[ 390.467501] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done. +[ 390.476039] Suspending system (deep) +[ 390.479631] printk: Suspending console(s) (use no_console_suspend to debug) + +S3 睡眠 60ms 479-421=56ms + 492-421=70ms + +[ 390.489461] acme_wdt_disable +[ 390.491484] acme_wdt_timer_disable cpu0 +[ 390.491685] suspend of devices complete after 4.672 msecs +[ 390.491693] start suspend of devices complete after 5.082 msecs +[ 390.492238] late suspend of devices complete after 0.534 msecs +[ 390.492796] noirq suspend of devices complete after 0.401 msecs +[ 390.492803] Disabling non-boot CPUs ... +[ 390.492808] Checking wakeup interrupts +[ 390.492831] Calling sched_clock_suspend+0x0/0x34 +[ 390.492835] Calling timekeeping_suspend+0x0/0x1c4 +[ 390.492835] Calling cpu_pm_suspend+0x0/0x1c + +[ 390.492835] Calling cpu_pm_resume+0x0/0x18 +[ 390.492835] Calling irq_pm_syscore_resume+0x0/0x18 +[ 390.492835] Calling timekeeping_resume+0x0/0x124 +[ 390.492835] Timekeeping suspended for 0.789 seconds +[ 390.492835] Calling sched_clock_resume+0x0/0x4c +[ 390.493187] noirq resume of devices complete after 0.337 msecs +[ 390.493629] early resume of devices complete after 0.306 msecs +[ 390.493731] acme_wdt_enable 0 +[ 390.493758] acme_wdt_timer_enable cpu0 +[ 390.495397] dw-apb-uart 50040000.serial: Not use DMA +[ 390.495789] (isp_m_drv_resume, 99)isp driver resume +[ 390.495898] resume of devices complete after 2.257 msecs +[ 390.603794] Finishing wakeup. +[ 390.606776] OOM killer enabled. +[ 390.609930] Restarting tasks ... done. +[ 390.614206] PM: suspend exit \ No newline at end of file diff --git a/10-Project/102-上班/日记/日记/来远.md b/10-Project/102-上班/日记/日记/来远.md new file mode 100644 index 0000000..f392b73 --- /dev/null +++ b/10-Project/102-上班/日记/日记/来远.md @@ -0,0 +1,7 @@ +- 第一天 + - 强制pwm + - 更改0x50寄存器 0x1f 原理? +- 第二天 + - 直流电源 + - 更换电容 100uF + - 低温 \ No newline at end of file diff --git a/10-Project/102-上班/面试/czm 1026.md b/10-Project/102-上班/面试/czm 1026.md new file mode 100644 index 0000000..dfd7d60 --- /dev/null +++ b/10-Project/102-上班/面试/czm 1026.md @@ -0,0 +1,44 @@ +1 自我介绍 + 个人性格、教育经历 + +2 工作回顾 结合具体工作实例 + 描述 + 与本专业的关系? + 测试报告 / 产品使用文档 突出什么重点 + 用户反馈 + 团队/角色/沟通方法 + + +3 讲讲硬技能 + - 英文 生成英文文档的过程是怎么样的 难点? + - markdown/git/obsidian photoshop + - office word + - 好的文档的要点 + - 在撰写技术文档时,为了让非技术人员也能理解,你会如何处理复杂的技术术语和概念? + + +4 行业与工作跨度 + - 页面 + - 芯片行业 哪些知识? + - 困难 制定步骤,如何解决问题 + + +5 拓展 + 个人知识管理 + 怎么看AI,有使用哪些工具。 + 已经解决了什么问题, 预期 + + +6 提问 + +--- +角色 + +搭建 文档中心 技术类工作? + +编写 + 标准化 细节 + 困难 问题 名词 + pm审核 技术文档团队 反馈? 翻译团队? 理解了文档内容 举例? + 从0开始会做什么 + 硬技能 字节? 规范 \ No newline at end of file diff --git a/10-Project/102-上班/面试/zmj.md b/10-Project/102-上班/面试/zmj.md new file mode 100644 index 0000000..4d19914 --- /dev/null +++ b/10-Project/102-上班/面试/zmj.md @@ -0,0 +1,22 @@ +- zmj + - 动机 + - 从产品角度讲讲软硬件架构,典型的性能指标与延迟? + - 视频软件栈 + - 芯原ip umd 优缺点 典型一路1080p解码 内存带宽多少 vapi umd厚 kmd薄 dx + - 硅前zebu有什么用 + - 框架 dma读写 内存 cache如何同步 + - pcie中断 + - 算子库 + - chipmedia + - 是video的工作么? + - 讲讲gpu和嵌入式平台vpu的设计区别? rk/hisi + - 竞品分析分析了哪些平台 讲讲各家产品的优缺点? + - cuda兼容么? 优缺点是什么? vector engine + - coding么 + - 常见Linux环境中性能测量手段与性能优化手段 +- ~~~~~~~~~~ +- zck +- 设备地址/物理地址/虚拟地址 iommu iotlb +- smmu如何应用到虚拟化中 +- 32b的外设, 但是内存是 +- 典型显卡的 bar空间 \ No newline at end of file diff --git a/10-Project/102-上班/面试/zyy 1010.md b/10-Project/102-上班/面试/zyy 1010.md new file mode 100644 index 0000000..25d0892 --- /dev/null +++ b/10-Project/102-上班/面试/zyy 1010.md @@ -0,0 +1,31 @@ +1 自我介绍 + 个人性格、教育经历 + 工作内容和承担的角色,重要性 + +2 工作回顾 结合具体工作实例 + 测试到QA的转变 + • 组织整理编制项目技术相关文档(测试计划、用例、报告等); + 如何设计测试用例,制定测试计划时 你理解的重点有哪些,让测试真正可以落地,体现出质量检测的效果 + 重要结果 改善了什么 有没有遇到哪些困难问题 + 评价或者考察这些文档 + + 编制质量保证大纲并检查实施完成情况 + 质量目标 质量数据 收集 重要成果 重点难点 + + +3 讲讲硬技能 + 讲述一下涉及到的项目管理或者质量管理的工具, + git版本管理 + 其他 + +4 行业与工作跨度 + 讲讲前公司所处行业 产品 | 目前研极产品 摄像头芯片 + - 跨度体现在哪 潜在困难 解决方法 + + - 文档工程师 生成交付给芯片客户的文档 可能存在的挑战以及解决方法 + +5 拓展 + - 优势,能给芯片软件开发团队带来什么我们没有的东西? + 对于AI工具,是否已经有过哪些尝试? 是否有考虑过与工作的结合? + +6 提问 diff --git a/10-Project/102-上班/面试/感悟.md b/10-Project/102-上班/面试/感悟.md new file mode 100644 index 0000000..44b773c --- /dev/null +++ b/10-Project/102-上班/面试/感悟.md @@ -0,0 +1,6 @@ +- 研究员首先是品性要求,好的研究员还要独立思考,有开放的心态、很强的好奇心,做事有很强的韧性。智商在这个行业内从来不是瓶颈,做事情的坚韧度和毅力很重要。 --《朱少醒》 +- 极致的透明,极致的理性。 --《达利欧》 +- 做事情不要拘泥于形式,不要拘泥于对某个名词的理解。 自己的险隘的理解,会限制自己的发挥,最终导致产品的呆板。 例如篮球黑人大哥名片册的案例。 --《Reality》 +- 经理的责任 + - 懂技术,沟通,分配任务跟踪进度,整理对齐信息  + - 照顾情绪与提供资源 \ No newline at end of file diff --git a/10-Project/102-上班/面试/技术面试提纲.md b/10-Project/102-上班/面试/技术面试提纲.md new file mode 100644 index 0000000..afa9946 --- /dev/null +++ b/10-Project/102-上班/面试/技术面试提纲.md @@ -0,0 +1,110 @@ +- 技术面试 30-45分钟 + - 介绍一下工作  5分钟 + - 针对工作内容 + - 系统 + - Bearmetal rtos linux的工作区别 + - 驱动如何做兼容 + - IP 以NPU为例 + - npu相对于cpu体系结构上的特点 + - npu编译 + - npu算子类型 几类?  正确率问题?如何分析 + - 验证工作的重点与难点 + - 内存?? 多个图 与 sram加速 + - fpga验证平台 + - 问题与解决 推理错误 误差  异常   客户 + - 验证平台 + - Emu 指的什么平台  使用问题  抓波形 利用波形分析问题 + - Fpga  什么平台 + - 验证平台上解决了什么功能问题 + - 能否观测性能是什么样子的 问题有哪些 + - TO标准是什么 + - 额外知识 + - cmodel指的什么 什么级别  //  行为 近似时钟精确 时钟精确 + - 时序逻辑电路和组合逻辑电路 + - 回片Bring-up + - 回片测试顺序?哪些问题 + - DDR稳定性测试工作 遇到什么问题,   + - 软件设计 + - 同步与互斥 + - Cache   // 每帧flush   驱动 + - 驱动设计 + - 用户态内核态 零拷贝   // get release函数 + - 多路复用 // id 多进程 + - 框架设计 + - 调优 + - 例如 + - 核间通讯方案 + + - 基础知识 + - 进程管理 + - 调度粒度 如何配置 + + - 内存管理 + - 一次malloc内存申请的流程 + + - 文件系统 + - 常见文件系统 区别 + + - arm基础知识 + - 大小核 + - 启动 + - arm启动流程 + - 多核启动的几种方式 + + - 内核 + - 内核编译,内核头文件 + - dts文件dtsi文件 + - Spinlock irqsave + + - 驱动 + + - 设备类型 + - probe + - 进程异常退出时,内核中的资源如何释放  (release函数) + - armv8进入中断之后 软件还需要关中断么, 常用的中断底半部技术 + - Writel  + + - spinlock irqsave //  为什么中断里不能用 + + - 中断中是不能调用vmalloc的为什么   中断上下文却不是一个进程,它并不存在task_struct,所以它是不可调度的。所以,在中断上下文就不能睡眠。 + + - va/pa + + - mmu + - ioremap + - 内核进程空间地址分布 + + - Dma  npu 内存分配 pa + + - cache 流式映射 + - 实现zero-copy系统 + + - Linux基本操作 + - 查看内核日志 + - 临时读写寄存器 + - 查看中断 + + - 文件系统 + - procfs + - debugfs + - sysfs + + - 问题分析 + - 内存泄漏如何分析 + - 性能分析 + - 怎么分析性能问题 + - 火焰图如何生成 + + - 常用调试 + - debug工具 gdb 栈帧结构 多线程如何切换  打印所有线程的  gdb原理了解么 + - Strace使用过么 Ftrace + - Trace32工具用过么  分析过什么问题 + + - 项目描述 + - 技术成果 + - 角色 推动/主导/学习 + + - 扩展 + - 在用什么ai工具 + - 这几个月做了什么事情 + - 评价你之前的团队, 团队如何评价你 \ No newline at end of file diff --git a/10-Project/102-上班/面试/未命名.md b/10-Project/102-上班/面试/未命名.md new file mode 100644 index 0000000..1978893 --- /dev/null +++ b/10-Project/102-上班/面试/未命名.md @@ -0,0 +1,20 @@ +简介 +- 橘子聊 角色 哪块 +- 介绍 + - 问题攻关 + - 流程管理 + - 产品推广 落地竞争力 +- 我们这情况 + - 芯片硬件 + - 芯片生产 + - 系统软件 + - 新芯片验证 + - 6920 + - 生产/功耗优化/单板内部测试 + - 机台 + - 手工 + - bsp/sdk + - 对外销售 + - 6940 + - 6921 + - 6941 \ No newline at end of file diff --git a/20-Area/.obsidian/app.json b/20-Area/.obsidian/app.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/20-Area/.obsidian/app.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/20-Area/.obsidian/appearance.json b/20-Area/.obsidian/appearance.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/20-Area/.obsidian/appearance.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/20-Area/.obsidian/core-plugins.json b/20-Area/.obsidian/core-plugins.json new file mode 100644 index 0000000..b977c25 --- /dev/null +++ b/20-Area/.obsidian/core-plugins.json @@ -0,0 +1,31 @@ +{ + "file-explorer": true, + "global-search": true, + "switcher": true, + "graph": true, + "backlink": true, + "canvas": true, + "outgoing-link": true, + "tag-pane": true, + "properties": false, + "page-preview": true, + "daily-notes": true, + "templates": true, + "note-composer": true, + "command-palette": true, + "slash-command": false, + "editor-status": true, + "bookmarks": true, + "markdown-importer": false, + "zk-prefixer": false, + "random-note": false, + "outline": true, + "word-count": true, + "slides": false, + "audio-recorder": false, + "workspaces": false, + "file-recovery": true, + "publish": false, + "sync": true, + "webviewer": false +} \ No newline at end of file diff --git a/20-Area/.obsidian/workspace.json b/20-Area/.obsidian/workspace.json new file mode 100644 index 0000000..35043aa --- /dev/null +++ b/20-Area/.obsidian/workspace.json @@ -0,0 +1,166 @@ +{ + "main": { + "id": "9354e5e47d4d496b", + "type": "split", + "children": [ + { + "id": "4d0f972ec4a1f554", + "type": "tabs", + "children": [ + { + "id": "fd9cfca42d9bf3cb", + "type": "leaf", + "state": { + "type": "empty", + "state": {}, + "icon": "lucide-file", + "title": "新标签页" + } + } + ] + } + ], + "direction": "vertical" + }, + "left": { + "id": "8853addd8d8f17ee", + "type": "split", + "children": [ + { + "id": "0b3017b218654a47", + "type": "tabs", + "children": [ + { + "id": "8a6c50ec9d5631c5", + "type": "leaf", + "state": { + "type": "file-explorer", + "state": { + "sortOrder": "alphabetical", + "autoReveal": false + }, + "icon": "lucide-folder-closed", + "title": "文件列表" + } + }, + { + "id": "6be1fb311796394b", + "type": "leaf", + "state": { + "type": "search", + "state": { + "query": "", + "matchingCase": false, + "explainSearch": false, + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical" + }, + "icon": "lucide-search", + "title": "搜索" + } + }, + { + "id": "06ebcd396fad3a2d", + "type": "leaf", + "state": { + "type": "bookmarks", + "state": {}, + "icon": "lucide-bookmark", + "title": "书签" + } + } + ] + } + ], + "direction": "horizontal", + "width": 300 + }, + "right": { + "id": "c7ea3e49efa47120", + "type": "split", + "children": [ + { + "id": "0f7938d0b112bd08", + "type": "tabs", + "children": [ + { + "id": "5e7e9a11fc5b4b07", + "type": "leaf", + "state": { + "type": "backlink", + "state": { + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical", + "showSearch": false, + "searchQuery": "", + "backlinkCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-coming-in", + "title": "反向链接" + } + }, + { + "id": "8db72fe663a914f5", + "type": "leaf", + "state": { + "type": "outgoing-link", + "state": { + "linksCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-going-out", + "title": "出链" + } + }, + { + "id": "2d0f96468d78e96d", + "type": "leaf", + "state": { + "type": "tag", + "state": { + "sortOrder": "frequency", + "useHierarchy": true, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-tags", + "title": "标签" + } + }, + { + "id": "9584e82121790222", + "type": "leaf", + "state": { + "type": "outline", + "state": { + "followCursor": false, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-list", + "title": "大纲" + } + } + ] + } + ], + "direction": "horizontal", + "width": 300, + "collapsed": true + }, + "left-ribbon": { + "hiddenItems": { + "switcher:打开快速切换": false, + "graph:查看关系图谱": false, + "canvas:新建白板": false, + "daily-notes:打开/创建今天的日记": false, + "templates:插入模板": false, + "command-palette:打开命令面板": false + } + }, + "active": "fd9cfca42d9bf3cb", + "lastOpenFiles": [] +} \ No newline at end of file diff --git a/20-Area/21-个人管理/内容.md b/20-Area/21-Person/内容.md similarity index 100% rename from 20-Area/21-个人管理/内容.md rename to 20-Area/21-Person/内容.md diff --git a/20-Area/21-个人管理/消费-电子/Aliyun/Todo.md b/20-Area/21-Person/消费-电子/Aliyun/Todo.md similarity index 100% rename from 20-Area/21-个人管理/消费-电子/Aliyun/Todo.md rename to 20-Area/21-Person/消费-电子/Aliyun/Todo.md diff --git a/20-Area/21-Person/消费-电子/Aliyun/安装笔记.md b/20-Area/21-Person/消费-电子/Aliyun/安装笔记.md new file mode 100644 index 0000000..930d94c --- /dev/null +++ b/20-Area/21-Person/消费-电子/Aliyun/安装笔记.md @@ -0,0 +1,20 @@ +- 宝塔面板 + - bt status 查看登陆地址 +- ~~docker~~ + - ~~青龙面板~~ + - ~~Alist~~ + - ~~Gitlab~~ + - ~~青龙面板 自动任务~~ + - ~~Alist 云盘整合~~ + - ~~接入内容~~ + - ~~百度网盘~~ + - ~~视频播放ok~~ + - ~~pdf阅读还不行~~ + - ~~阿里云盘~~ + - ~~OneDrive~~ + - ~~其他~~ + - ~~账号?~~ + - ~~Gitlab 内容上库~~ +- systemd + - frp server mstsc/ssh到任何电脑 +- diff --git a/20-Area/21-Person/消费-电子/Aliyun/问题解决记录.md b/20-Area/21-Person/消费-电子/Aliyun/问题解决记录.md new file mode 100644 index 0000000..775d0f5 --- /dev/null +++ b/20-Area/21-Person/消费-电子/Aliyun/问题解决记录.md @@ -0,0 +1,7 @@ +- 端口无法访问问题 + - 现象 telnet 无法探测到端口 + - 修改点 要注意防火墙和安全组两个都需要修改 + - 安全组 见网页管理ecs + - 防火墙 + - sudo ufw status + - sudo ufw allow \ \ No newline at end of file diff --git a/20-Area/21-Person/消费-电子/RedmiK60Ultra/.gitkeep b/20-Area/21-Person/消费-电子/RedmiK60Ultra/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/4g相关操作与问题解决.md b/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/4g相关操作与问题解决.md new file mode 100644 index 0000000..e8937d4 --- /dev/null +++ b/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/4g相关操作与问题解决.md @@ -0,0 +1 @@ +sudo mmcli -m 0 \ No newline at end of file diff --git a/20-Area/21-个人管理/消费-电子/ThinkpadX1Gen6/Fedora使用.emmx b/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/Fedora使用.emmx similarity index 100% rename from 20-Area/21-个人管理/消费-电子/ThinkpadX1Gen6/Fedora使用.emmx rename to 20-Area/21-Person/消费-电子/ThinkpadX1Gen6/Fedora使用.emmx diff --git a/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/fedora41当前问题.md b/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/fedora41当前问题.md new file mode 100644 index 0000000..dbf8cf9 --- /dev/null +++ b/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/fedora41当前问题.md @@ -0,0 +1,4 @@ +- 无法切换语言,切换为中文之后切不回去了 +- 4G不工作 +- 无法进入gnome的wayland session ok +- 无法使用手势 ok \ No newline at end of file diff --git a/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/flatpak配置.md b/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/flatpak配置.md new file mode 100644 index 0000000..37fe0f3 --- /dev/null +++ b/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/flatpak配置.md @@ -0,0 +1,7 @@ +- 常用flatpak打包站点(远程源) + - fedora + - flathub +- flatpak查看远程源 flatpak remotes --show-details +- 安装程序时需要指定从哪个远程源进行安装 +- 远程源不能被删除,否则安装的程序也删除了。 +- 配置文件位置 sudo vi /var/lib/flatpak/repo/config diff --git a/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/waydroid.md b/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/waydroid.md new file mode 100644 index 0000000..9055d31 --- /dev/null +++ b/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/waydroid.md @@ -0,0 +1,20 @@ +- 遵守官网安装步骤 +- 避坑FAQ + - 如果安装后不能启动waydroid + - 按照官网的文档进行waydroid的目录清除 + - 不要手动执行waydroid init + - 下载选择GAPP或者VANILLA + - 建议选择VNALILLA,否则google play会对应用做认证 + - 安装后无法启动waydroid的session,提示containter错误 # OSError: container failed to start + - 看waydroid.log,按照日志处理。 一般是要注释掉一个配置。 + - 必须在wayland的环境下才可以打开 + - 可以启动waydoird的但无法联网 + - 网络脚本.sh中去除一个特性 lx_use_nft +- 常用命令 + - 开启与关闭session + - waydroid session stop/start + - 显示系统界面 + - waydroid show-full-ui + - 调整界面长宽 + - waydroid prop set persist.waydroid.height 1080 + - waydroid prop set persist.waydroid.width 1920 diff --git a/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/内核开发相关.md b/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/内核开发相关.md new file mode 100644 index 0000000..9a9530d --- /dev/null +++ b/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/内核开发相关.md @@ -0,0 +1,2 @@ +- 下载内核开发头文件 sudo dnf install kernel-devel +- 在/lib/modules/6.11.7-300.fc41.x86_64下面就可以看到 \ No newline at end of file diff --git a/20-Area/21-个人管理/消费-电子/ThinkpadX1Gen6/存储规划.emmx b/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/存储规划.emmx similarity index 100% rename from 20-Area/21-个人管理/消费-电子/ThinkpadX1Gen6/存储规划.emmx rename to 20-Area/21-Person/消费-电子/ThinkpadX1Gen6/存储规划.emmx diff --git a/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/指纹问题解决.md b/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/指纹问题解决.md new file mode 100644 index 0000000..49d6d56 --- /dev/null +++ b/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/指纹问题解决.md @@ -0,0 +1,4 @@ +- sudo dnf copr enable sneexy/python-validity +- sudo dnf install open-fprintd fprintd-clients fprintd-clients-pam python3-validity +- 查看python3-validity的状态 systemctl status python3-validity +- 输入fprintd-enroll确认指纹功能 diff --git a/20-Area/21-个人管理/消费-电子/ThinkpadX1Gen6/软件管理(Fedora).md b/20-Area/21-Person/消费-电子/ThinkpadX1Gen6/软件管理(Fedora).md similarity index 100% rename from 20-Area/21-个人管理/消费-电子/ThinkpadX1Gen6/软件管理(Fedora).md rename to 20-Area/21-Person/消费-电子/ThinkpadX1Gen6/软件管理(Fedora).md diff --git a/20-Area/21-Person/消费-电子/Tomato3700x/Docker/docker环境部署.md b/20-Area/21-Person/消费-电子/Tomato3700x/Docker/docker环境部署.md new file mode 100644 index 0000000..34b1366 --- /dev/null +++ b/20-Area/21-Person/消费-电子/Tomato3700x/Docker/docker环境部署.md @@ -0,0 +1,10 @@ +- 容器被设计为“不可变的”,不能更新容器内的文件,要直接更新镜像 +- 不能使用localhost,而是要使用 http://host.docker.internal:61434 +- docker-desktop + - ollama + - chatollama + - one-api +- 大模型基本参数 + - 参数量 + - 上下文 +- 知识库 向量化知识库 diff --git a/20-Area/21-Person/消费-电子/Tomato3700x/GPU/windows11驱动.md b/20-Area/21-Person/消费-电子/Tomato3700x/GPU/windows11驱动.md new file mode 100644 index 0000000..be4fb1e --- /dev/null +++ b/20-Area/21-Person/消费-电子/Tomato3700x/GPU/windows11驱动.md @@ -0,0 +1,3 @@ + + +- adrenalin 肾上腺素 \ No newline at end of file diff --git a/20-Area/21-Person/消费-电子/Tomato3700x/WSL2/WSLCONFIG 来定制自己的wsl系统.md b/20-Area/21-Person/消费-电子/Tomato3700x/WSL2/WSLCONFIG 来定制自己的wsl系统.md new file mode 100644 index 0000000..618a1f4 --- /dev/null +++ b/20-Area/21-Person/消费-电子/Tomato3700x/WSL2/WSLCONFIG 来定制自己的wsl系统.md @@ -0,0 +1,5 @@ +- .wslconfig + - 详见 [WSL 中的高级设置配置 | Microsoft Learn](https://learn.microsoft.com/zh-cn/windows/wsl/wsl-config) + - 常见配置 + - memory=24GB # 配置内存大小 + - networkingMode # 配置网络模式mirrored \ No newline at end of file diff --git a/20-Area/21-Person/消费-电子/Tomato3700x/WSL2/WSL显示图形界面.md b/20-Area/21-Person/消费-电子/Tomato3700x/WSL2/WSL显示图形界面.md new file mode 100644 index 0000000..45d009a --- /dev/null +++ b/20-Area/21-Person/消费-电子/Tomato3700x/WSL2/WSL显示图形界面.md @@ -0,0 +1,9 @@ +- 重点是$DISPLAY变量的设置, 要设置为 + - `$DISPLAY` 环境变量指定了X服务器的地址和显示屏的编号。它的格式通常是 `hostname:displaynumber.screennumber`。具体来说: + - **hostname**:X服务器所在的主机名或IP地址。如果是本地主机,可以省略。 + - **displaynumber**:显示屏编号,通常是一个整数。一个X服务器可以管理多个显示屏,每个显示屏都有一个唯一的编号。默认是 `0`。 + - **screennumber**:屏幕编号,通常是一个整数。一个显示屏可以包含多个屏幕,每个屏幕都有一个唯一的编号。默认是 `0`。 +- 在Windows中安装Xserver, + - 下载并安装VcXsrv。 + - 启动VcXsrv,选择“Multiple windows”模式,并确保启用了“Disable access control”选项。 +- 在已经指定好$DISPLAY环境变量的shell上执行桌面启动,例如startlxqt, 就可以在VcXsrv上进行图形界面的接受了。 \ No newline at end of file diff --git a/20-Area/21-Person/消费-电子/Tomato3700x/配置单(新).md b/20-Area/21-Person/消费-电子/Tomato3700x/配置单(新).md new file mode 100644 index 0000000..c85d41d --- /dev/null +++ b/20-Area/21-Person/消费-电子/Tomato3700x/配置单(新).md @@ -0,0 +1,8 @@ +| | cpu | 主板 | 内存条 | 硬盘 | 显卡 | 散热器 | 电源 | 机箱 | +| ------: | -------------------- | ------- | ----------------------- | ------------------------- | ------------------------------------ | -------------------------- | ------------------ | -------------------------- | +| 2019.6 | AMD2400G
(-900 ) | 技嘉B450i | 海盗船8Gx2 3000
(-220) | intel760p
512G
(换) | 无 | L9A
(-115) | 无 | 迎广肖邦 | +| 2021.1 | | | | | GTX-1660s 6G
(1759-680)
(1079) | A9/A8
(440-0)
(440) | EVGA-650
(719) | 小方糖C24
(531-0)
(531) | +| 2021.12 | AMD3700x
(1698) | | | WD-SN750
1T
(1259) | AMD6600XT 8G
(4198)
| | | 乔斯伯T8
(349) | +| 2022.12 | | | 16GX2 3600
(699) | | | | | | +| 2023.7 | | | | 海康CC700
2T
(573) | | 利民90-47
(173) | | | +| | | | | | | | | | diff --git a/20-Area/21-Person/消费-电子/Tomato3700x/配置单.md b/20-Area/21-Person/消费-电子/Tomato3700x/配置单.md new file mode 100644 index 0000000..e2fa1f4 --- /dev/null +++ b/20-Area/21-Person/消费-电子/Tomato3700x/配置单.md @@ -0,0 +1,13 @@ + +| | 2019.6 | 2021.1 | 2021.12 | 2022.12 | 2023.7 | | +| ---- | ------------------------- | ----------------------- | ----------------------- | -------------- | ------------- | --- | +| CPU | 2400g ( -900 ) | | 3700x 1698 | | | | +| 内存条 | 海盗船8x2 3000 ( -220 ) | | | 3600 16Gx2 699 | | | +| 主板 | B450i迷你雕 | | | | | | +| 显卡 | 无 | 1660s( 1759-680=1079 ) | 6600xt 4198 | | | | +| 硬盘 | intel 760p 512G (换) | | 西数sn750 1T 1259(换) | | cc700 2T  573 | | +| 散热器 | 猫头鹰L9a  (-115) | | | | 散热器 利民9cm 173 | | +| 机箱散热 | 无 | A9/A8 ( 440 - 0 = 440 ) | | | | | +| 电源 | 与机箱一体 | EVGA 650M 719 | | | | | +| 机箱 | 迎广肖邦 ( -350 ) | 小方糖C24 (531 - 0 = 531 ) | 乔斯伯T8 349 | | | | +| 费用 | 2899-900-220-115-350=1314 | 1079+440+719+531=2769 | 349+1259+4198+1698=7504 | 699 | 577+173=750 | | diff --git a/20-Area/21-Person/消费-电子/data/cpu.xlsx b/20-Area/21-Person/消费-电子/data/cpu.xlsx new file mode 100755 index 0000000..5cacb6c Binary files /dev/null and b/20-Area/21-Person/消费-电子/data/cpu.xlsx differ diff --git a/20-Area/21-个人管理/消费-电子/软件订阅更新列表.md b/20-Area/21-Person/消费-电子/软件订阅更新列表.md similarity index 100% rename from 20-Area/21-个人管理/消费-电子/软件订阅更新列表.md rename to 20-Area/21-Person/消费-电子/软件订阅更新列表.md diff --git a/20-Area/21-个人管理/个人管理2024.xlsx b/20-Area/21-Person/财物/个人管理2024.xlsx similarity index 100% rename from 20-Area/21-个人管理/个人管理2024.xlsx rename to 20-Area/21-Person/财物/个人管理2024.xlsx diff --git a/20-Area/21-个人管理/记账表2024.xlsx b/20-Area/21-Person/财物/记账表2024.xlsx similarity index 100% rename from 20-Area/21-个人管理/记账表2024.xlsx rename to 20-Area/21-Person/财物/记账表2024.xlsx diff --git a/20-Area/21-个人管理/记账表2025.xlsx b/20-Area/21-Person/财物/记账表2025.xlsx similarity index 100% rename from 20-Area/21-个人管理/记账表2025.xlsx rename to 20-Area/21-Person/财物/记账表2025.xlsx diff --git a/20-Area/22-Work/221-LinuxTool/git/git特殊操作.md b/20-Area/22-Work/221-LinuxTool/git/git特殊操作.md new file mode 100644 index 0000000..c5518fb --- /dev/null +++ b/20-Area/22-Work/221-LinuxTool/git/git特殊操作.md @@ -0,0 +1,10 @@ +- 当git status看不到中文,而是只能看到utf8码的时候 + - git config --global core.quotepath false + - 注 增加global配置后, 会添加到.gitconfig中 +- .gitignore文件并不是万能的,如果一个文件已经被git管理,那么gitignore则无法忽视这个文件 + - git rm --cached <已经被管理的文件> +- 只查看某个文件夹的git变更,并且查看每次变更修改了什么文件 + - git log --name-status **-- path/to/folder** # 注意,文件夹路径只能写在后面 +- git查看某一个提交的内容 + - git show \ + - \ No newline at end of file diff --git a/20-Area/22-Work/221-LinuxTool/neovim.md b/20-Area/22-Work/221-LinuxTool/neovim.md new file mode 100644 index 0000000..e69de29 diff --git a/20-Area/22-Work/221-LinuxTool/ranger.md b/20-Area/22-Work/221-LinuxTool/ranger.md new file mode 100644 index 0000000..1c25906 --- /dev/null +++ b/20-Area/22-Work/221-LinuxTool/ranger.md @@ -0,0 +1,4 @@ +- 修改默认编辑器 修改EDITOR环境变量即可 +- .config/ranger + - rifle.conf + - rc.conf \ No newline at end of file diff --git a/20-Area/22-Work/221-LinuxTool/编译/Make.md b/20-Area/22-Work/221-LinuxTool/编译/Make.md new file mode 100644 index 0000000..e69de29 diff --git a/20-Area/22-Work/221-LinuxTool/编译/Ninja.md b/20-Area/22-Work/221-LinuxTool/编译/Ninja.md new file mode 100644 index 0000000..e69de29 diff --git a/20-Area/22-Work/221-LinuxTool/编译/Scons.md b/20-Area/22-Work/221-LinuxTool/编译/Scons.md new file mode 100644 index 0000000..e69de29 diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/BUILDROOT 文件夹.md b/20-Area/22-Work/222-ReadNote/Linux OS/BUILDROOT 文件夹.md new file mode 100644 index 0000000..3958a3e --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/BUILDROOT 文件夹.md @@ -0,0 +1,21 @@ +- 配置文件 +- output文件夹构成 + - output + - build 待编译源码 有host的也有target的 + - busybox + - alsa-util + - lmbench + - musl + - zlib + - host 服务器侧使用的各种工具与库 + - bin + - 交叉编译工具 + - 其他工具 + - + - target + - 注意这不是你的ROOTFS + - images + - dl 下载各种包 内核头文件/工具等等 +----- + +- BR2_GCC_TARGET_FLOAT_ABI="hard" \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/pdf/2021 Linux Kernel Programming Part 1 A comprehensive guide to kernel -- Kaiwan N Billimoria .pdf b/20-Area/22-Work/222-ReadNote/Linux OS/pdf/2021 Linux Kernel Programming Part 1 A comprehensive guide to kernel -- Kaiwan N Billimoria .pdf new file mode 100644 index 0000000..41f4511 Binary files /dev/null and b/20-Area/22-Work/222-ReadNote/Linux OS/pdf/2021 Linux Kernel Programming Part 1 A comprehensive guide to kernel -- Kaiwan N Billimoria .pdf differ diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/pdf/ArmSystemReady/DEN0109ArmSystemReadyRequirementsSpecification_v2.0.pdf b/20-Area/22-Work/222-ReadNote/Linux OS/pdf/ArmSystemReady/DEN0109ArmSystemReadyRequirementsSpecification_v2.0.pdf new file mode 100644 index 0000000..54cd28b Binary files /dev/null and b/20-Area/22-Work/222-ReadNote/Linux OS/pdf/ArmSystemReady/DEN0109ArmSystemReadyRequirementsSpecification_v2.0.pdf differ diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/pdf/Linux Kernel Development (Developer's Library) -- Robert Love -- 2010 -- Pearson Education -- 5db5860e4c5bf16962ce88ac7671e5d9 -- Anna’s Archive.pdf b/20-Area/22-Work/222-ReadNote/Linux OS/pdf/Linux Kernel Development (Developer's Library) -- Robert Love -- 2010 -- Pearson Education -- 5db5860e4c5bf16962ce88ac7671e5d9 -- Anna’s Archive.pdf new file mode 100644 index 0000000..f7bd344 Binary files /dev/null and b/20-Area/22-Work/222-ReadNote/Linux OS/pdf/Linux Kernel Development (Developer's Library) -- Robert Love -- 2010 -- Pearson Education -- 5db5860e4c5bf16962ce88ac7671e5d9 -- Anna’s Archive.pdf differ diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/ALSA音频框架流程 (补充).md b/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/ALSA音频框架流程 (补充).md new file mode 100644 index 0000000..e69de29 diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/Linux日志系统 (待补充).md b/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/Linux日志系统 (待补充).md new file mode 100644 index 0000000..1f98b4d --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/Linux日志系统 (待补充).md @@ -0,0 +1 @@ +syslog \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/dmacpy框架流程 (不全).md b/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/dmacpy框架流程 (不全).md new file mode 100644 index 0000000..841c164 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/dmacpy框架流程 (不全).md @@ -0,0 +1,19 @@ +- 文件夹说明 + - driver/dma/ + - dw ==还不知道干吗用的== + - dw-edma pcie中的dma控制器 + - dw-axi-dmac axi-dma(sysdma) +- 数据结构 + - struct dma_device + - 通道数量 + - 能力集函数 + - struct dma_async_tx_descriptor + - struct dmacpy_info +- drivers/dma/dmacpy + - ioctl + - DMACPY_IOC_CPY + - struct dmacpy_info \*info = (struct dmacpy_info \*)file->private_data; + - dmacpy_start_copy + - prepare_copy + - dmaengine_submit + - DMACPY_IOC_CHANNEL \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/内核构成与文件组织.md b/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/内核构成与文件组织.md new file mode 100644 index 0000000..4300c0b --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/内核构成与文件组织.md @@ -0,0 +1,27 @@ +- 功能构成 + - Core + - 内存管理 MM + - 文件系统 VFS Virtual Switch + - 网络协议栈 Network Protocol Stack + - 内部交互 IPC + - 音频 Sound + - 虚拟化 Virtualization +- 文件夹构成 + - arch 4600+ + - kernel 350+ + - files + - cpu.c cpu操作 + - printk 内核日志输出 + - power 开关机睡眠休眠 + - sched 调度/时钟 + - driver 17000+ + - usr 1 生成initramfs用 + - ini + - fs + - ipc + - block + - tools + - virt + - scripts + - certs + - crypto \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/核心数据结构/struct task_struct.md b/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/核心数据结构/struct task_struct.md new file mode 100644 index 0000000..c9055ee --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/核心数据结构/struct task_struct.md @@ -0,0 +1,8 @@ +- pid +- tgid + - 从之前测试结果看,同一个进程对应的task_struct ~~pid一致,只有tgid不一致~~。 ?是不是写反了,需要做实验看一下 应该是tgid相同,但是pid全局唯一 + - +- struct mm_struct \*mm; + - 标记进程的内存,内核线程这个成员=NULL +- ~~~~~~~~~~~ +使用current指向这个节点 \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/睡眠过程分析.md b/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/睡眠过程分析.md new file mode 100644 index 0000000..033eb56 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/睡眠过程分析.md @@ -0,0 +1,54 @@ +- 文件夹 + - kernel/power/ + - main.c 模块入口 core_initcall + - suspend.c 睡眠 to RAM + - hibernate.c 休眠 to DISK + - poweroff.c 关机 +- 数据结构 + - syspend的几种模式 + - `#define PM_SUSPEND_ON       ((__force suspend_state_t) 0)` + - `#define PM_SUSPEND_TO_IDLE  ((__force suspend_state_t) 1)` // s2-idle sleep + - `#define PM_SUSPEND_STANDBY  ((__force suspend_state_t) 2)` // standby modern? + - `#define PM_SUSPEND_MEM      ((__force suspend_state_t) 3)` // s3 sleep +- 函数 +- pm_suspend S2 S3(deep sleep) CONFIG_SUSPEND_SKIP_SYNC + - **enter_state** // s2idle shallow deep + - **ksys_sync_helper** // 选择是否sync CONFIG_SUSPEND_SKIP_SYNC + - **suspend_prepare** // 主要就是冻结软件进程 + - suspend_freeze_processes + - freeze_processes // 冻结用户态进程 + - freeze_kernel_threads // 冻结内核任务 + - **suspend_devices_and_enter** // core function + - platform_suspend_begin + - suspend_console // 挂起console,从此时开始console无法再输出 + - **suspend_enter** // power/suspend.c 进入syspend模式 + - s2 和 s3的模式在这个函数中很不一样 + - S2 + - s2idle_loop // s2本质上是一个循环 + - S3 standby + - suspend_disable_secondary_cpus + - **arch_suspend_disable_irqs** -> local_irq_disable 屏蔽本核I位, 但是FIQ依然可以响应 + - syscore_suspend drivers/base/syscore.c + - **psci_system_suspend_enter** // arm64用的是psci进行电源管理 + - cpu_suspend // arm64 + - cpu_suspend_enter // arch/arm64/kernel/sleep.s + - psci_system_suspend ? ==> bl3 + - suspend_finish + + +[H 86.979381374] cs: c0 pc[c023c69a] lr[c023c689] sp[c0e5bdf0] +[H 86.985310124] c0 pc: [<0xc023c69a>] arch_spin_lock+0x1a/0x32 +[H 86.991243291] c0 [<0xc047cd4b>] _raw_spin_lock_irqsave+0xd/0x10 +[H 86.997429541] c0 [<0xc023b997>] down_trylock+0x9/0x1c +[H 87.2745749] c0 [<0xc023ebb3>] __down_trylock_console_sem.constprop.0+0x13/0x28 +[H 87.10231208] c0 [<0xc023ebcf>] console_trylock+0x7/0x30 +[H 87.15717749] c0 [<0xc023ebff>] console_trylock_spinning+0x7/0x78 +[H 87.21985249] c0 [<0xc024038f>] vprintk_emit+0x6b/0x90 +[H 87.27297749] c0 [<0xc02403c7>] vprintk_default+0x13/0x18 +[H 87.32869624] c0 [<0xbf8cb173>] osal_printk+0x1f/0x34 [osaldrv] +[H 87.39013916] c0 [<0xbf9941ad>] vnne_suspend+0x19/0x30 [vnne] +[H 87.44949749] c0 [<0xc03983a7>] dpm_run_callback+0x17/0x30 +[H 87.50613124] c0 [<0xc0398705>] __device_suspend+0x109/0x230 +[H 87.56445583] c0 [<0xc0398d8d>] dpm_suspend+0x5f/0xea +[H 87.61672416] c0 [<0xc0398eeb>] dpm_suspend_start+0x2f/0x38 +[H 87.67417708] c0 [<0xc023e5cd>] suspend_devices_and_enter+0x49/0xe4 \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/系统调用与异常汇总 (补充).md b/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/系统调用与异常汇总 (补充).md new file mode 100644 index 0000000..d819024 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/系统调用与异常汇总 (补充).md @@ -0,0 +1,31 @@ +- 向量表 + - 同步异常 执行到某条指令触发,必须处理完才能继续执行 + - sync + - 缺页异常 + - SVC/HVC/SMC // Supervisor/Hypervisor SecureMonitor Call + - 调试导致的异常 断点/观察点/软件单步 + - 异步异常 与正在执行的指令无关的异常 + - irq + - 中断 + - fiq 不支持 + - error Serror(?) + + + + + + + +- 物理中断 Serror/ IRQ /FIQ +- 虚拟中断 +- 如何进入: 通过异常向量表 + - el0_svc +- 系统调用整理 + - fork + - execve + - socket + - accept + - open + - close + - read + - write \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/通用.md b/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/通用.md new file mode 100644 index 0000000..42a56cf --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/内核代码分析/通用.md @@ -0,0 +1,8 @@ +- current 宏 获取task_struct的重要的宏 + - 每个体系结构都要有自己的实现 + - 对于arm64来讲, 就是读取sp_el0 ? 为什么是el0 + - 只有process context(进程上下文)中才生效, 在中断上下文中不生效。 + - on behalf of a process by syscall or trigger an exception(exception handler) + - executing an interrupt handler. + - 关于current,kernel还封装了一组操作 + - task_pid_nr(current) diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/内核工具/内核工具整理.md b/20-Area/22-Work/222-ReadNote/Linux OS/内核工具/内核工具整理.md new file mode 100644 index 0000000..2966e50 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/内核工具/内核工具整理.md @@ -0,0 +1 @@ +- LTTng/procmap \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/内核工具/常用工具用法.md b/20-Area/22-Work/222-ReadNote/Linux OS/内核工具/常用工具用法.md new file mode 100644 index 0000000..b0944ab --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/内核工具/常用工具用法.md @@ -0,0 +1,6 @@ +- readelf + - -a 查看全部 + - -h 查看头 + - -d 查看依赖库 替代ldd + - -s 查看symtab + - -S 查看Section \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/文件系统/Linux Gnu库组织 (待补充).md b/20-Area/22-Work/222-ReadNote/Linux OS/文件系统/Linux Gnu库组织 (待补充).md new file mode 100644 index 0000000..e69de29 diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/文件系统/Linux配置/Linux config配置.md b/20-Area/22-Work/222-ReadNote/Linux OS/文件系统/Linux配置/Linux config配置.md new file mode 100644 index 0000000..36da790 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/文件系统/Linux配置/Linux config配置.md @@ -0,0 +1,6 @@ +- timer子系统 + - CONFIG_HZ 设置arch timer的中断频率, 如果开启NO_HZ则会发现arch timer的频率会更低,因为有时休眠了 + - CONFIG_SCHED_HRTICK 使用hrtick进行进程调度 + - CONFIG_NO_HZ_COMMON + - CONFIG_PREEMPT 抢占 +- [万字解析 Linux 中 CPU 利用率是如何算出来的? - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/609847189#:~:text=1%20top%20%E5%91%BD%E4%BB%A4%E8%AE%BF%E9%97%AE%20%2Fproc%2Fstat%20%E8%8E%B7%E5%8F%96%E5%90%84%E9%A1%B9%20cpu%20%E5%88%A9%E7%94%A8%E7%8E%87%E4%BD%BF%E7%94%A8%E5%80%BC%202,%2Fproc%2Fstat%20%E7%9A%84%E8%AE%BF%E9%97%AE%203%20%E5%86%85%E6%A0%B8%E8%AE%BF%E9%97%AE%E7%9A%84%E6%95%B0%E6%8D%AE%E6%9D%A5%E6%BA%90%E4%BA%8E%20kernel_cpustat%20%E6%95%B0%E7%BB%84%EF%BC%8C%E5%B9%B6%E6%B1%87%E6%80%BB%204%20%E6%89%93%E5%8D%B0%E8%BE%93%E5%87%BA%E7%BB%99%E7%94%A8%E6%88%B7%E6%80%81) \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/文件系统/Linux配置/Linux proc配置.md b/20-Area/22-Work/222-ReadNote/Linux OS/文件系统/Linux配置/Linux proc配置.md new file mode 100644 index 0000000..fd6ea1d --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/文件系统/Linux配置/Linux proc配置.md @@ -0,0 +1,15 @@ +- 运行时配置 + - /proc配置 + - 根目录 + - cpuinfo + - meminfo + - printk + - sysrq-trigger + - schedstat + - **sys配置** /proc/sys + - vm + - abi + - kernel + - pid_max rw 最大的pid号码,wrap around + - 厂商自定义 + - 例如 pinmux配置 \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/文件系统/Linux配置/sysfs信息汇总 (重要).md b/20-Area/22-Work/222-ReadNote/Linux OS/文件系统/Linux配置/sysfs信息汇总 (重要).md new file mode 100644 index 0000000..419acc0 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/文件系统/Linux配置/sysfs信息汇总 (重要).md @@ -0,0 +1,76 @@ +- 问题 + - 与驱动的关系,驱动如何在sysfs下创建接口 +- sysfs内容列表 + - **block** 块设备,都是软连接,指向的实际地址都是device路径的地址 这里面没有块设备上的分区的信息 + - loop 虚拟块设备 + - sda/sdb 硬盘 + - emmc0/emmc1 emmc + - **class** 很多,后续研究 + - **devices** 都是/dev路径下的东西? + - armv8_cortex_a55 + - platform + - serial8250 + - system + - **cpu** + - cpu0 + - regs + - midr/revidr + - cache + - index0-3 + - cpu1 + - **cpufreq** + - **policy0** // rk就用了cpufreq模块 + - **cpuidle** + - clocksource // 时钟源查看 + - clocksource0 + - available_clocksource 有效时钟源 timekeeper + - current_clocksource + - power + - uevent ? + - clockevents + - container + - breakpoint // 有啥用? + - software // 有啥用? + - virtual + - bdi Backing Device interface 块设备后端实现 + - block 虚拟块设备 + - devlink + - mem + - misc + - net + - sound + - thermal + - tty + - wakeup + - workqueue + - **bus** + - 模板 + - devices + - drivers + - drivers_autoprobe + - drivers_probe + - uevent + - cpu + - devices + - 里面是软链接,指向的是 ../../devices/sys + - drivers + - serial // ?文件夹怎么创建的? + - spi + - devices + - **fs** + - ext4 + - feature + - 文件系统 已经存在的文件系统中,这里会有内容 + - **module** + - 8250 + - block + - cpufreq + - cpuidle + - **dev** + - block + - 各种主设备号:从设备号的文件 + - char + - 各种主设备号:从设备号的文件 指向device的软连接? + - **firmware** + - **kernel** + - **power** \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/构建专题/Buildroot专题/Buildroot配置.md b/20-Area/22-Work/222-ReadNote/Linux OS/构建专题/Buildroot专题/Buildroot配置.md new file mode 100644 index 0000000..8e5b6fc --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/构建专题/Buildroot专题/Buildroot配置.md @@ -0,0 +1,14 @@ +- 目标 目标体系结构 ABI +- 构建 +- 工具链 + - 外部工具链 + - 内部工具链 + - C++支持 生成g++和c++库 + - SSP Stack Smashing Protection 堆栈粉碎性保护? + - +- 系统 根文件系统的定制 +- 内核 操作系统内核定制 只支持linux +- 目标包 busybox定制 +- 文件系统 文件系统类型定制 +- Bootloader uboot/grub2 +- Host工具 \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/构建专题/Buildroot专题/buildroot文件夹一览.md b/20-Area/22-Work/222-ReadNote/Linux OS/构建专题/Buildroot专题/buildroot文件夹一览.md new file mode 100644 index 0000000..2c46823 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/构建专题/Buildroot专题/buildroot文件夹一览.md @@ -0,0 +1,25 @@ +- 核心 + - 本质上都是一堆mk文件还有一些shell文件 ,mk文件可以下载,构建,打包 +- 路径组织 + + - dl(DOWNLOAD_DIR) 下载的各种源码包 + - host(HOST_DIR) + - configs 保存配置好的配置文件 配置方式 make menuconfig + - **output** + - build 从dl下载到的那些包的编译生成物,按照包存放。 有host的工具也有target的工具,host的工具避免apt安装 + - host + - 交叉编译工具链的sysroot文件夹 ==??== 应该就是放编译出来的文件的, 准备向rootfs中导入 + - bin build出来的各种host工具,包括交叉编译工具链 + - lib 支持工具的动态库 + - target + - 注意这不是你的根文件系统! 因为没有设备节点。根文件系统在images路径下 。 + - 这基本就是文件系统中的内容 + - images 文件系统打包 + - basic + - extra + - rootfs + - staging (暂存区) 指向的是交叉编译工具提供的sysroot,这里放的是后面生成rootfs的文件 +- 功能 + - 交叉编译工具的构建 内置/外置 + - Kernel的构建 + - Rootfs的构建 \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Linux OS/根文件系统压缩.md b/20-Area/22-Work/222-ReadNote/Linux OS/根文件系统压缩.md new file mode 100644 index 0000000..8321474 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Linux OS/根文件系统压缩.md @@ -0,0 +1,21 @@ +- 使用initramfs + - CONFIG_INITRAMFS_SOURCE="${ACME_TOP}/linux/rootfs" + - CONFIG_BLK_DEV_INITRD=y + - CONFIG_INITRAMFS_COMPRESSION_NONE=y +- 常见压缩算法 + - Gzip(gz):Gzip是一种广泛使用的文件压缩格式,它使用DEFLATE算法进行压缩,提供中等级别的压缩比和速度。 + - Bzip2(bzip):Bzip2使用Burrows-Wheeler变换和霍夫曼编码进行压缩,它提供较高的压缩比,但相对于其他算法而言,速度较慢。 + - LZMA:LZMA是一种基于LZ77算法和无损数据压缩的方法,它提供很高的压缩比,但压缩和解压缩速度相对较慢。 zimage压缩 + - XZ:XZ是基于LZMA2算法的压缩工具,它在LZMA的基础上进行了一些改进,提供更好的压缩比和速度。 + - LZO:LZO是一种针对实时数据压缩优化的算法,它提供了较快的压缩和解压缩速度,但压缩比相对较低。 + - LZ4:LZ4是一种非常快速的压缩算法,它提供了极快的压缩和解压缩速度,但压缩比相对较低。 + - Zstandard(zstd):Zstandard是一种综合考虑压缩比和速度的算法,它提供了较高的压缩比和相对快速的压缩和解压缩速度。 +- 压缩配置 + - CONFIG_KERNEL_XXX + - Image压缩到zImage的压缩方法 + - 最终体现为zImage的大小和 + - rootfs如果在Image中会一起压缩 + - CONFIG_RD_XXX + - 专门压缩Rootfs的方法 + - Image文件也会随之减小 + - \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Rt-thread OS/体系结构相关代码.md b/20-Area/22-Work/222-ReadNote/Rt-thread OS/体系结构相关代码.md new file mode 100644 index 0000000..96f217b --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Rt-thread OS/体系结构相关代码.md @@ -0,0 +1,48 @@ +- 路径 libcpu/aarch64 +- 内容 + - cpu(gcc) + - rt_hw_get_current_el + - rt_hw_set_current_vbar + - rt_hw_set_elx_env + - context(gcc) **重要,需要分析** + - generic timer的封装 + - rt_hw_gtimer_enable CNTP_CTL_EL0 + - rt_hw_gtimer_disable CNTP_CTL_EL0 + - rt_hw_set_gtimer_val CNTP_TVAL_EL0 + - rt_hw_get_gtimer_val CNTP_TVAL_EL0 + - rt_hw_get_cntpct_val CNTPCT_EL0 + - rt_hw_get_gtimer_frq CNTFRQ_EL0 + - rt_hw_set_gtimer_frq + - context函数封装 + - rt_hw_context_switch_to + - rt_hw_context_switch + - rt_hw_context_switch_interrupt + - Context上下文的封装 + - SAVE_CONTEXT + - RESTORE_CONTEXT + - interrupt处理 + - rt_hw_interrupt_disable + - rt_hw_interrupt_enable + - vector_irq 中断向量表使用 + - vector_exception 中断向量表使用 + - interrupt + - 是gicv3函数的调用 + - gicv3 + - 封装gicv3相关代码 **可以通过这里学习gicv3** + - psci + - 就是psci的电源管理的东西 找个专题专门看 + - smccc + - 封装svc hvc + - stack + - 没看懂,没啥用 + - mmu + - gtimer + - gtimer相关使用,主要是调用cpu_gcc.s中对gtimer的封装函数 + - trap + - entry_point(gcc) + - \_start 入口函数 启动 rtthread_startup + - 看着没什么用的 + - startup(gcc) + - vector(gcc) + - - gic + \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Rt-thread OS/内核开发与应用实战.md b/20-Area/22-Work/222-ReadNote/Rt-thread OS/内核开发与应用实战.md new file mode 100644 index 0000000..349c6d9 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Rt-thread OS/内核开发与应用实战.md @@ -0,0 +1,19 @@ +- 信号量 sem +- 互斥量 mutex +- 事件 event +- 软件定时器 + - 精度就是tick,很粗 + - 硬件定时器怎么用?精度如何 +- 邮箱 没看 +- 内存 + - 静态管理 mempool + - rt_mp_create() + - 动态管理 heap 可选,管理方式二选一 rt_system_heap_init + - 小堆内存管理 + - slab内存管理 +- 中断 +- cpu利用率统计 + - 一个例子 + - 先利用临界区算满载的循环次数。 + - 然后打开临界区允许被有效任务打断,再统计循环次数。 + - 如果计数小于满载计数 则说明有任务执行, 统计一下比例 \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/Rt-thread OS/配图.canvas b/20-Area/22-Work/222-ReadNote/Rt-thread OS/配图.canvas new file mode 100644 index 0000000..4f1b44c --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/Rt-thread OS/配图.canvas @@ -0,0 +1,8 @@ +{ + "nodes":[ + {"id":"12eed7ca5e477652","type":"text","text":"rt_thread_idle_entry","x":20,"y":-80,"width":320,"height":50}, + {"id":"9c65020d67061e36","type":"text","text":"rt_thread_timer_entry","x":20,"y":10,"width":320,"height":60}, + {"id":"1fd03165cfb47117","x":20,"y":-180,"width":320,"height":60,"type":"text","text":"main_thread_entry"} + ], + "edges":[] +} \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/armv8体系结构/ARMv8体系结构Features (待补充).md b/20-Area/22-Work/222-ReadNote/armv8体系结构/ARMv8体系结构Features (待补充).md new file mode 100644 index 0000000..e69de29 diff --git a/20-Area/22-Work/222-ReadNote/armv8体系结构/ARMv8寄存器汇总 (重要).md b/20-Area/22-Work/222-ReadNote/armv8体系结构/ARMv8寄存器汇总 (重要).md new file mode 100644 index 0000000..cd885dd --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/armv8体系结构/ARMv8寄存器汇总 (重要).md @@ -0,0 +1,133 @@ +- 写在前面 + - 寄存器大小写不敏感 currentel currentEL都可以 +- 通用寄存器 General-Purpose Register + - x0-x31 + - w0-w31 +- 特殊寄存器 Special-Purpose Register + - Pstate (跟spsr是对应的,只不过可以拆开来用) + - CurrentEL + - 例子 `mrs x0 CurrentEL` + - 典型应用场景 + - DAIF + - 例子 `mrs x0 daif` + - 典型应用场景 + - NZCV + - 例子 `mrs x0 nzcv` + - 典型应用场景 + - PAN Privileged Access Never 可选 + - ARMv8.1-PAN + - UAO User Access Override 可选 + - ARMv8.2-UAO + - DIT Data Independent Timing 可选 + - ARMv8.4-DIT + - 例子 + - 典型应用场景 + - TCO Tag Check Override + - ARMv8.5-MemTag + - SSBS + - ARMv8.0-SSBS 8.5? + - ELR Related **重要** + - ELR + - 说明 记录异常地址返回值 看一下LR寄存器 + - 典型应用场景 + - 进入异常时,硬件设置 + - kernel_entry 处理异常 ? + - kernel_exit 异常退出 + - `msr elr_el1, x21` + - SPSR Related **重要** + - SPSR + - 说明 用于进入异常之前备份Pstate + - 典型应用场景 + - 进入异常时硬件设置 + - kernel_entry 处理异常 + - kernel_exit 异常退出 + - `msr spsr_el1, x22` + - Floating Point Related 补充 + - FPCR + - FPSR +- 系统寄存器 Reg_ELn n=0-3 + - 基本分类 + - 通用系统控制寄存器 **General System Control Register** + - 重要 + - 调试寄存器 Debug Register + - 部分寄存器DBG开头 + - 性能监控寄存器 Performance Monitor Register + - PM开头 + - 活动监控寄存器 Activity Monitor Resister + - AM开头 + - 统计扩展寄存器 Statistical Profiling Extention Register + - PM开头 + - RAS 寄存器 Reliability, Availability, and Serviceability Extension Register + - 大部分ER开头 + - 通用定时器寄存器 Generic Timer Resister + - CNT开头, CNTP开头 + - 通用系统寄存器列表 + - VBAR **Vector Base Address Register** + - 说明 中断向量基地址 + - 典型使用场景 + - Linux \_\_primary_switched中设置为vectors中的地址 + - `adr_l  x8, vectors` // load VBAR_EL1 with virtual + - `msr    vbar_el1, x8` // vector table address + - Rt-thread rt_hw_set_current_vbar + - `MSR     VBAR_EL1,X0` + - Cache相关 + - CTR **Cache Type Register** 只有EL0 + - 说明 + - 典型使用场景 + - Linux read_cpuid_cachetype() + - 地址转换相关 TCR/SCTLR/TTBR + - TCR **Translation Control Register** + - 说明 控制页表转换控制, 一堆可配置bit位 + - SCTLR **System Control Register** EL1-EL3 + - 说明 系统控制,一堆可配置bit位 + - 典型使用场景 + - 设置大小端 + - 设置MMU + - TTBR + - 说明 页表基地址 + - 典型使用场景 + - 设置页表基地址 + - 异常相关 + - ESR **Exception Syndrome Register** + - 说明 记录了异常原因的寄存器 一共有5个有效bit,叫做exception class + - 典型使用场景 ?没分析对 + - ID寄存器 MIDR/MPIDR/REVIDR/TPIDR + - MPIDR **Multiprocessor Affinity Register** EL1 + - 说明 只读寄存器,记录PE亲和信息 aff0-3 由小到大记录PE的id,有超线程会记录超线程 + - ![[mpidr说明.png]] + - 观测方法 + - 未知 + - 典型场景 + - Linux ==调查== + - Rt-thread + - TPIDR **Read/Write Software Thread ID Register** EL0-EL3 + - 说明 PE不用这个寄存器 纯给OS软件用 我理解就是软件自己定义的cpuid,从mpidr转化而来 + - 典型场景 + - Linux ==不清楚== + - Rt-thread 存Lwp ID用? + - MIDR + - 说明 用于显示厂商,架构等 EL1 + - 观测方法 + - + - 典型场景 没啥用 + - REVIDR + - 说明 提供次要修订信息 厂商自己实现,全0 + - SCR/HCR + - HCR Hypervisor Configuration Register 只有EL2 + - 功能 用来配置EL2 + - SCR Secure Config Register 只有EL3 + - 功能 用来配置EL3 + - 使用场景 + - 与中断路由有关系 + - TVAL + - MAIR + - , Memory Attribute Indirection Register + - CLIDR + - CSSELR + - CCSIDR + - DCZID + - MODE + - RMR + - RVBAR + - CPACR + - ZCR \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/armv8体系结构/ARMv8指令汇总 (重要).md b/20-Area/22-Work/222-ReadNote/armv8体系结构/ARMv8指令汇总 (重要).md new file mode 100644 index 0000000..6f0c0d7 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/armv8体系结构/ARMv8指令汇总 (重要).md @@ -0,0 +1,20 @@ +- 读写指令 + - ldr + - 普通用法 + - 伪指令用法 多一个等号 + - 多一个等号相当于直接取值,而不需要再解一次引用,跟mov指令差不多了,比如 ldr x1, =0x1000 这就是把0x1000直接拷贝到x1里, ldr x1, [x2] x2的值是0x1000,这就是读取0x1000位置的数据 + - pc相对寻址 注意1MB限制,汇编的时候会检查 + - ldr x1, label 注意!label是相对于当前pc位置的偏移 + - 变换 + - 基地址加偏移   ldr  r5, [sp, #24] // 取栈上的值 + - 前变基 ldr tmp1w, [src, #-4]! // memmove函数 + - 后变基   ldr  w0, [x1], #4 // memcpy +- 待整理 + - stp/ldp + - b/bl/br/blr + - b不带返回的跳到符号 + - bl将当前pc+4设置到lr寄存器,带返回功能 + - br调到 + - isb/dmb/dsb + - dsb sy 用的比较多 + - 主要是参数 \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/armv8体系结构/ARMv8汇编语法汇总 (重要).md b/20-Area/22-Work/222-ReadNote/armv8体系结构/ARMv8汇编语法汇总 (重要).md new file mode 100644 index 0000000..11186f7 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/armv8体系结构/ARMv8汇编语法汇总 (重要).md @@ -0,0 +1,32 @@ + +- .macro .endm 汇编宏 + - .macro .endm 声明一个汇编宏 + - .macro中后面 逗号或者空格 用来分隔参数 冒号用来指定参数类型req(requirement) + - 例如: .macro el1_interrupt_handler, handler:req + - 宏不会显示在elf文件 +- .text 代码段 + - .text 标记代码段的开始? 这玩意有用么? +- .align 对齐 + - .align n + - n对应着2的几次方, 比如2的11次方就一共是0x800对齐 例如linux的vectors +- .global 全局符号定义 + - 声明一个全局符号 ==elf中类型是什么样的呢?== + - 也可以声明一个定义在别的文件中的符号(也可以是c文件) + - 具体的定义还得是 symbol: +- .set 别名设置 + - .set 一般给一个标签地址(.global)设置一个别名 +- .org 位置设置 + - .org 见 +- Linux下一组新的定义方式 + - 函数定义 类似C语言的函数定义 + - SYM_FUNC_START/SYM_FUNC_END elf类型显示为FUNC + - SYM_FUNC_START_LOCAL/SYM_FUNC_END + - 特殊函数定义 使用特殊堆栈? + - SYM_CODE_START/SYM_CODE_END 外部函数定义,elf中显示为GLOBAL,类型显示位Notype + - SYM_CODE_START_LOCAL/SYM_CODE_END static函数定义,elf中显示为LOCAL + - 数据定义 + - SYM_DATA_START 类型是OBJECT +- 括号() + - ==待补充== + + diff --git a/20-Area/22-Work/222-ReadNote/armv8体系结构/ELF文件描述.md b/20-Area/22-Work/222-ReadNote/armv8体系结构/ELF文件描述.md new file mode 100644 index 0000000..e008864 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/armv8体系结构/ELF文件描述.md @@ -0,0 +1,14 @@ +- 分类 + - .o + - Type是Rel (Relocatable file) + - .so + - Type是Dyn (Shared object file) + - .symtab段中只显示符号的偏移 + - cat /proc/<进程id>/maps 显示进程中so所在的地址 + - .ko + - Type是Rel (Relocatable file) + - .symtab段中只显示符号的偏移 + - cat /proc/modules 显示这个ko所在的及地址 + - insmod之后 cat /proc/kallsyms + - bin文件 + - \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/armv8体系结构/LDS文件说明.md b/20-Area/22-Work/222-ReadNote/armv8体系结构/LDS文件说明.md new file mode 100644 index 0000000..1e681ef --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/armv8体系结构/LDS文件说明.md @@ -0,0 +1,35 @@ + +- 例子 +`SECTIONS` +`{` + `. = 0x10000;` + `.text : { *(.text) }` + `. = 0x8000000;` + `.data : { *(.data) }` + `.bss : { *(.bss) }` +`}` + +`section [address] [(type)] :` +`[AT(lma)]` +`[ALIGN(section_align)]` +`[constraint]` +`{` +`output-section-command` +`output-section-command` +`...` +`} [>region] [AT>lma_region] [:phdr :phdr ...] [=fillexp]` + +- MEMORY字段用于定义内存区域(Memory Region) +- SECTIONS + - 告诉链接器如何把输入段映射到输出段。 +- LOADADDR/ADDR + - LOADADDR 返回加载地址LMA + - ADDR 返回虚拟地址VA +- PROVIDE + - provide定义的值相当于一个弱符号, 可以被后面的定义进行覆盖。 +- KEEP +- SIZEOF +- 各种地址 + - 加载地址 + - 运行地址 + - 链接地址 objdump看到的地址 \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/armv8体系结构/参考外部链接.md b/20-Area/22-Work/222-ReadNote/armv8体系结构/参考外部链接.md new file mode 100644 index 0000000..18ef212 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/armv8体系结构/参考外部链接.md @@ -0,0 +1 @@ +- GIC [【笔记】Arm CoreLink Generic Interrupt Controller v3 and v4 Overview_sys_icc_iar1_el1-CSDN博客](https://blog.csdn.net/qijiuliushisan/article/details/112384636) \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/armv8体系结构/参考读物列表.md b/20-Area/22-Work/222-ReadNote/armv8体系结构/参考读物列表.md new file mode 100644 index 0000000..d90fa4c --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/armv8体系结构/参考读物列表.md @@ -0,0 +1,2 @@ +- ARMV8-RM +- 笨叔叔 \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/armv8体系结构/图床/mpidr说明.png b/20-Area/22-Work/222-ReadNote/armv8体系结构/图床/mpidr说明.png new file mode 100644 index 0000000..c231da2 Binary files /dev/null and b/20-Area/22-Work/222-ReadNote/armv8体系结构/图床/mpidr说明.png differ diff --git a/20-Area/22-Work/222-ReadNote/整体/TODO.md b/20-Area/22-Work/222-ReadNote/整体/TODO.md new file mode 100644 index 0000000..05c24a0 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/整体/TODO.md @@ -0,0 +1,207 @@ +- 知识类  +- 公众号和离线视频 + - [ ] 人人极客社区  插入  + - [ ] PCIE基础知识 5天 到3月10号  + - [ ] glibc 生菜  +- 书籍  + - [ ] 《arm64》  6天  + - [ ] 《arm64 linux》 + - [ ] 《龙芯》 + - [ ] 《APUE》、 +- [ ] + +《芯》  10天  3月5号  + +《APUE》      + +视频类  + +GPU介绍     + +GPU能做什么?  + +3d渲染  + +科学计算 pytorch  + +GPU内部结构  + +龚大神  + +游戏开发者ph  下载中  + +VULKAN    未下载  + +软件渲染  单身剑法传人  + +AI视频集  + +已整理到B站收藏  + +学习整理  + +lecan  + +PCB   + +JT硬件乐趣   + +应用    + +北小菜    + +我是傅傅猪  + +IC工具 亦安  + +IC工具 小白蒋  + +厂商视频   + +算能  + +寒武纪 + +实践类  + +Linux环境  + +ubuntu桌面  + +docker搭建  + +项目管理工具 radmine /禅道?  + +git管理  gitea 备份  + +整理工程列表  + +CI/CD   先不弄  + +Rocm/AI  + +pytorch搭建  + +AI应用  + +目标检测sample  Detectron  + +AI画图   有点问题  + +语音转文字  whisper  + +围棋 KATAGO  + +整理云AI应用  + +麻将 [https://mjai.ekyu.moe/zh-cn.html](https://mjai.ekyu.moe/zh-cn.html)  + +Linux工具集  + +Linux clash  + +内核可观测  + +trace32   2个课程  + +gdb   + +ftrace  + +RK3588/RK3568  + +看datasheet总结笔记  + +替换GPU  + +NPU例子  + +远期搞搞Android  + +启动  + +Atf 整理笔记  + +硬件工具  + +万用表  搭配视频  + +示波器  搭配视频  + +逻辑分析仪  + +装机分析  + +数据库  + +小装机  + +主板  + +安装散热器  + +装系统  + +大装机  + +定配置单 3代线程撕裂者  + +买卖配件 + +代码类  + +SDK  + +驱动   启动 内核 接口   + +IPC 5天 3月15号  + +ROCM软件栈分析  + +hip  + +amdgpu  + +编码练习  + + C  + +Python  + +c++  + +rust + +《Resume》  + +教育:  + +研究生  + +本科  + +能力:  + +芯片测试  + +底层软件  + +业务软件  + +其他能力  + +调试  + +知识体系:  + +体系结构  + +操作系统  + +应用  + +管理能力  + +工具  + +规范 \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/硬件/原理图基本知识.md b/20-Area/22-Work/222-ReadNote/硬件/原理图基本知识.md new file mode 100644 index 0000000..221f40b --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/硬件/原理图基本知识.md @@ -0,0 +1,2 @@ +- 命名 + - J \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/硬件/封装尺寸.md b/20-Area/22-Work/222-ReadNote/硬件/封装尺寸.md new file mode 100644 index 0000000..a0e9847 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/硬件/封装尺寸.md @@ -0,0 +1,2 @@ +- 0402 长1mm 宽0.5mm +- 0201 长0.6mm 宽0.3mm \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/硬件/板级总线一栏.md b/20-Area/22-Work/222-ReadNote/硬件/板级总线一栏.md new file mode 100644 index 0000000..14fc583 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/硬件/板级总线一栏.md @@ -0,0 +1,13 @@ +- i2s + - 总线说明 + - SDO Serial Data Out + - SDI Serial Data In + - LRCK 帧同步信号 + - SCK/BCLK 时钟线 + - 参考 + - [【I2S】数字音频接口—I2S总线协议基本概念 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/678943329) +- spi +- iic +- gpio +- emmc +- sdio \ No newline at end of file diff --git a/20-Area/22-Work/222-ReadNote/音频/PCM基础知识.md b/20-Area/22-Work/222-ReadNote/音频/PCM基础知识.md new file mode 100644 index 0000000..5864b59 --- /dev/null +++ b/20-Area/22-Work/222-ReadNote/音频/PCM基础知识.md @@ -0,0 +1,34 @@ +- Pulse-Code Modulation +- 参考文章 [PCM数据格式你该知道一切 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/396273481) +- 采样 采样率,单位Hz + - 常见采样率 + - 8Khz 电话 + - 44.1Khz CD + - 48Khz DVD/数字电视/电影 + - 重采样 + - 比如保存成flv文件采样率只能是44.1kHz,必须要调整成这个频率。 + - 上采样 差值 会造成镜像信息,因此需要使用低通滤波器滤除(线性插值本身就是低通滤波器,因此不需要额外处理)。 + - 下采样 去值 可能会造成频谱混淆,因此在下采样之前用低通去混淆滤波器滤除 +- 量化 8bit/16bit/32bit, 16bit 65535最常见 +- 编码 + - 可以不编码存储 + - 也可以编码存储? 这里的编码什么概念 +- 其它 + - 声道 + - 单声道 16bit + - 双声道 16bit左FL | 16bit右FR + - 六声道(5.1环绕声) FL FR FC LFE SL SR + - 字节序 + - 默认小端 + - 符号 + - 有符号数据还是无符号数据 + - 整形或者浮点 + - 目前也有浮点pcm,比较少见 +- 与g711/aac/wav的关系 + - wav + - 带44B头 + - 数据无压缩 + - g711 + - 采样率8k 码率64kbps(8kBps) 对原本的pcm数据进行压扩 13bit->8bit 8bit->13bit + - aac + - 有损压缩,后续单独分析 \ No newline at end of file diff --git a/30-Resource/31-个人事务类/北京工作/北京市公积金.md b/30-Resource/31-个人事务类/北京工作/北京市公积金.md new file mode 100644 index 0000000..4675252 --- /dev/null +++ b/30-Resource/31-个人事务类/北京工作/北京市公积金.md @@ -0,0 +1,10 @@ +租房提取所需资料  +1. 提取声明的打印件  +2. 租房合同打印件  +3. 身份证原件  +4. 租房发票   +5. 结婚证原件以及复印件,配偶身份证复印件 +全额提取所需条件 +1. 非京籍   ok  +2. 异地不缴纳公积金   ok  +3. 6个月封存  4月10号 \ No newline at end of file diff --git a/30-Resource/31-个人事务类/北京工作/北京市小汽车摇号.md b/30-Resource/31-个人事务类/北京工作/北京市小汽车摇号.md new file mode 100644 index 0000000..de4cc40 --- /dev/null +++ b/30-Resource/31-个人事务类/北京工作/北京市小汽车摇号.md @@ -0,0 +1,2 @@ +- [https://xkczb.jtw.beijing.gov.cn/](https://xkczb.jtw.beijing.gov.cn/)  +- 18618264842 \ No newline at end of file diff --git a/30-Resource/31-个人事务类/北京工作/北京市工作居住证.md b/30-Resource/31-个人事务类/北京工作/北京市工作居住证.md new file mode 100644 index 0000000..ce1da42 --- /dev/null +++ b/30-Resource/31-个人事务类/北京工作/北京市工作居住证.md @@ -0,0 +1,5 @@ +- 2023年工资14500基数  +- 每3年续期 下一次2026年3月28日  需要2月份续期 +- [https://fw.bjrcgz.gov.cn/person-platform/#/person-platform/overview](https://fw.bjrcgz.gov.cn/person-platform/#/person-platform/overview)  +- 账号密码 北京市统一登录平台   微信扫码 +- 202002280078 \ No newline at end of file diff --git a/91-Pictures/Pasted image 20240812164701.png b/91-Pictures/Pasted image 20240812164701.png new file mode 100644 index 0000000..06a5045 Binary files /dev/null and b/91-Pictures/Pasted image 20240812164701.png differ diff --git a/91-Pictures/Pasted image 20241009214854.png b/91-Pictures/Pasted image 20241009214854.png new file mode 100644 index 0000000..e8709f2 Binary files /dev/null and b/91-Pictures/Pasted image 20241009214854.png differ