diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/1.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/1.png" new file mode 100644 index 0000000000000000000000000000000000000000..79d934def2f6e6d35386923acc3ec736b6b150af Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/1.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/10.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/10.png" new file mode 100644 index 0000000000000000000000000000000000000000..b06c840a85238155039a0d4a25b9971e3fdc69f0 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/10.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/11.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/11.png" new file mode 100644 index 0000000000000000000000000000000000000000..3b272ea3dce8e9bca1351a3b044ffbccdfca9f4f Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/11.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/12.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/12.png" new file mode 100644 index 0000000000000000000000000000000000000000..106a07824143169a8893f95612762722ec597048 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/12.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/13.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/13.png" new file mode 100644 index 0000000000000000000000000000000000000000..3aef293b865234009bb714ca615bb3a3f7cc36c9 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/13.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/14.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/14.png" new file mode 100644 index 0000000000000000000000000000000000000000..d72ebdfee9c54169ca345069919d9f97f0304666 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/14.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/2.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/2.png" new file mode 100644 index 0000000000000000000000000000000000000000..348a7c6ce0d5b6b61fa027d19092f0b62cb44dc4 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/2.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/3.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/3.png" new file mode 100644 index 0000000000000000000000000000000000000000..7848d8ddc4dac65fa2d2e9cfbe59a63084f94e1c Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/3.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/4.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/4.png" new file mode 100644 index 0000000000000000000000000000000000000000..87b2264c5ddeab03d13a634b38a00cc7b2166440 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/4.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/5.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/5.png" new file mode 100644 index 0000000000000000000000000000000000000000..60712db1a26986b5207e3eb0eb6bfb216032283b Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/5.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/6.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/6.png" new file mode 100644 index 0000000000000000000000000000000000000000..9ae9f2e07d5ea62776e3ea6a15000d4147a7b0d4 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/6.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/7.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/7.png" new file mode 100644 index 0000000000000000000000000000000000000000..2381d04f8799c012a787595b1cd99916165ee30c Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/7.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/8.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/8.png" new file mode 100644 index 0000000000000000000000000000000000000000..97754f1c8aeb4eb33ad807da1b889ecda34e21df Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/8.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/9.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/9.png" new file mode 100644 index 0000000000000000000000000000000000000000..19916c1eb48a93e140d051d4c4d1e834b8885137 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day1/9.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day2/1.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day2/1.png" new file mode 100644 index 0000000000000000000000000000000000000000..56c4079650a08f678ae3f9c0caa219583dd0139c Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day2/1.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day2/2.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day2/2.png" new file mode 100644 index 0000000000000000000000000000000000000000..0f5e1a8c01cf1b3f5a4b5a0201abcd3d5ea08096 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/images/day2/2.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/\347\254\254\344\270\200\345\244\251\344\275\234\344\270\232.md" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/\347\254\254\344\270\200\345\244\251\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..68a4000c092da0865e9288049da1e88d2ef61169 --- /dev/null +++ "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/\347\254\254\344\270\200\345\244\251\344\275\234\344\270\232.md" @@ -0,0 +1,26 @@ +# 课堂作业:构建一个新的目录,并编译成功 +## 1. 首先,新建一个目录(WIFI) +![image](images/day1/1.png) +![image](images/day1/2.png) +## 2. 在此目录下,新建wifi.c文件 +![image](images/day1/3.png) +![image](images/day1/4.png) +## 3. 在wifi.c文件中,写入一些代码(可以参考main.c) +![image](images/day1/5.png) +## 4.创建一个SConscript脚本,因为下面没有文件夹,所以不需要再递归了 +![image](images/day1/6.png) +![image](images/day1/7.png) +## 5.编写完成后,保存,进行编译,可以看到成功编译了wifi.c +![image](images/day1/8.png) +## 6.编译完成后,运行查看效果,效果和刚才一样 +![image](images/day1/9.png) +## 7.从上面的效果来看,wifi.c中写的东西并没有被执行,这是因为在main.c中没有调用wifi.c,那么如何在main.c中调用wifi.c? +### 1)新建一个wifi.h +![image](images/day1/10.png) +### 2)在wifi.c中包含头文件 +![image](images/day1/11.png) +### 3)在main.c中包含wifi.h +![image](images/day1/12.png) +### 4)重新编译并运行,可以看到能够显示出wifi.c中编写的输出语句 +![image](images/day1/13.png) +![image](images/day1/14.png) \ No newline at end of file diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/\347\254\254\344\272\214\345\244\251\344\275\234\344\270\232/main.c" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/\347\254\254\344\272\214\345\244\251\344\275\234\344\270\232/main.c" new file mode 100644 index 0000000000000000000000000000000000000000..c48fe6d1990c7fe35c17474eaf4f7f1ae690b02c --- /dev/null +++ "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/\347\254\254\344\272\214\345\244\251\344\275\234\344\270\232/main.c" @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2018-11-06 SummerGift first version + * 2018-11-19 flybreak add stm32f407-atk-explorer bsp + */ + +#include +#include +#include + +/* defined the LED0 pin: PF9 */ +#define LED0_PIN GET_PIN(F, 9) + +rt_thread_t tid1 = RT_NULL; +rt_thread_t tid2 = RT_NULL; +rt_thread_t tid3 = RT_NULL; + +/*各线程入口函数*/ +void tid1_thread(void *parameter) +{ + int count = 0; + while(1){ + count++; + rt_kprintf("The thread1 is running, %d-time run\n",count); + rt_thread_mdelay(1000); + } +} + +void tid2_thread(void *parameter) +{ + int count = 0; + while(1){ + count++; + rt_kprintf("The thread2 is running, %d-time run\n",count); + rt_thread_mdelay(500); + } +} + +void tid3_thread(void *parameter) +{ + int count = 0; + while(1){ + count++; + rt_kprintf("The thread3 is running, %d-time run\n",count); + rt_thread_mdelay(500); + } +} + +int main(void) +{ + //int count = 1; + /* set LED0 pin mode to output */ + //rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT); + + //while (count++) + //{ + // rt_pin_write(LED0_PIN, PIN_HIGH); + // rt_thread_mdelay(500); + // rt_pin_write(LED0_PIN, PIN_LOW); + // rt_thread_mdelay(500); + //} + tid1 = rt_thread_create("tid1", tid1_thread, RT_NULL, 1024, RT_MAIN_THREAD_PRIORITY - 3, 5); + tid2 = rt_thread_create("tid2", tid2_thread, RT_NULL, 1024, RT_MAIN_THREAD_PRIORITY - 2, 10); + tid3 = rt_thread_create("tid3", tid3_thread, RT_NULL, 1024, RT_MAIN_THREAD_PRIORITY - 2, 5); + if(tid1 != RT_NULL) + { + rt_thread_startup(tid1); + } + if(tid2 != RT_NULL) + { + rt_thread_startup(tid2); + } + if(tid3 != RT_NULL) + { + rt_thread_startup(tid3); + } + return RT_EOK; +} diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/\347\254\254\344\272\214\345\244\251\344\275\234\344\270\232/\347\254\254\344\272\214\345\244\251\344\275\234\344\270\232.md" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/\347\254\254\344\272\214\345\244\251\344\275\234\344\270\232/\347\254\254\344\272\214\345\244\251\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..0a2d92368ba22b5d53943f8c223993d26cdd7730 --- /dev/null +++ "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\344\275\234\344\270\232/\347\254\254\344\272\214\345\244\251\344\275\234\344\270\232/\347\254\254\344\272\214\345\244\251\344\275\234\344\270\232.md" @@ -0,0 +1,117 @@ +# 课堂作业1:编写代码上传至git仓库,创建至少3个线程,能体现抢占与时间片轮转,在今天的工程的mian.c中实现 +## 步骤1:首先在main函数中创建三个线程,这三个线程有两个优先级,并且其中两个线程的优先级是一样的 +tid1:优先级最高,时间片为5 +tid2:优先级中等,时间片为10 +tid3:优先级中等,时间片为5 +``` +rt_thread_t tid1 = RT_NULL; +rt_thread_t tid2 = RT_NULL; +rt_thread_t tid3 = RT_NULL; +``` +``` +tid1 = rt_thread_create("user1", tid1_thread, RT_NULL, 1024, RT_MAIN_THREAD_PRIORITY - 3, 5); +tid2 = rt_thread_create("user2", tid2_thread, RT_NULL, 1024, RT_MAIN_THREAD_PRIORITY - 2, 10); +tid3 = rt_thread_create("user3", tid3_thread, RT_NULL, 1024, RT_MAIN_THREAD_PRIORITY - 2, 5); +``` +将tid1线程的优先级设置为最高的,其他两个设置为一样的 +## 步骤2:编写各线程入口函数 +``` +void tid1_thread(void *parameter) +{ + int count = 0; + while(1){ + count++; + rt_kprintf("The thread1 is running, %d-time run\n",count); + rt_thread_mdelay(1000); + } +} + +void tid2_thread(void *parameter) +{ + int count = 0; + while(1){ + count++; + rt_kprintf("The thread2 is running, %d-time run\n",count); + rt_thread_mdelay(500); + } +} + +void tid3_thread(void *parameter) +{ + int count = 0; + while(1){ + count++; + rt_kprintf("The thread3 is running, %d-time run\n",count); + rt_thread_mdelay(500); + } +} +``` +## 步骤3:编写各线程的启动函数 +``` +if(tid1 != RT_NULL) +{ + rt_thread_startup(tid1); +} +if(tid2 != RT_NULL) +{ + rt_thread_startup(tid2); +} +if(tid3 != RT_NULL) +{ + rt_thread_startup(tid3); +} +``` +## 步骤4:编译写完的代码 +![image](images/day2/1.png) +## 步骤5:将程序下载调试 +![image](images/day2/2.png) +## 代码分析 +1. 代码创建了3个线程,核心参数如下 + +|线程|名称|入口函数|栈大小|优先级|时间片| +|-----|------|------|------|------|------| +|tid1|tid1|tid1_thread|1024|最高(-3)|5| +|tid2|tid2|tid2_thread|1024|中等(-2)|10| +|tid3|tid3|tid3_thread|1024|中等(-2)|5| +2. 抢占机制的体现 +> tid1 会抢占所有低优先级线程: +- 当 tid1 从延迟(rt_thread_mdelay)中唤醒时,无论 tid2 或 tid3 是否正在运行,都会被立即打断,CPU 使用权会被 tid1 抢占。 +- tid1 执行 rt_thread_mdelay(1000) 时会进入 “阻塞态”(主动让出 CPU),此时 tid2 和 tid3 才能获得运行机会。一旦 tid1 阻塞结束,会立即抢占回 CPU。 +> 时间片轮转的体现(相同优先级的线程(tid2 和 tid3)会通过 “时间片轮转” 公平分配 CPU 时间) +- 时间片决定单次运行时长 +线程每次获得 CPU 后,最多运行 “时间片” 长度的时间 +tid2的时间片更长,单次占用CPU的时间是tid3的2倍 +- 交替运行的规律 +当 tid1 处于阻塞态时,tid2 和 tid3 会按时间片交替执行: +tid2 运行 10 个节拍后,时间片耗尽,切换到 tid3; +tid3 运行 5 个节拍后,时间片耗尽,切换回 tid2; +# 课堂作业2:自行研究:ARM函数调用规范 +## 寄存器使用规则 +ARM 架构有 16 个通用寄存器(r0-r15),在函数调用中分工明确: +|寄存器|别名|用途说明| +|-----|------|------| +|r0-r3|通用寄存器|用于传递函数参数(最多前 4 个参数),同时作为函数返回值寄存器。调用后无需恢复| +|r4-r11|保存寄存器| 用于存放函数内部局部变量或中间结果。被调用函数必须保存和恢复这些寄存器的值(通过栈),确保调用者的上下文不被破坏| +|r12|ip|临时寄存器,用于函数调用过程中的中间计算(如地址跳转),调用后无需恢复| +|r13|sp|栈指针,指向当前栈顶。函数调用时需保持栈对齐(通常要求 8 字节或 16 字节对齐)| +|r14|lr|链接寄存器,存放函数返回地址。函数调用时自动保存下一条指令地址,返回时通过 bx lr 跳转| +|r15|pc|程序计数器,指向当前执行的指令,不可直接修改(通过跳转指令间接更新)| +## 参数传递规则 +> 前 4 个参数:通过 r0-r3 传递。若参数长度超过 32 位(如 64 位整数、双精度浮点数),会占用两个寄存器(如 r0-r1 传递一个 64 位参数)。 +- 示例:func(a, b, c, d) 中,a→r0,b→r1,c→r2,d→r3。 +> 超过 4 个的参数:从第 5 个开始通过栈传递,由调用者将参数压入栈中,被调用函数从栈中读取。 +- 示例:func(a, b, c, d, e) 中,e 由调用者压入栈,被调用函数从 sp 指向的栈空间读取。 +> 参数对齐:栈上的参数需按 4 字节或 8 字节对齐(取决于具体架构版本),确保内存访问效率。 +## 返回值传递规则 +- 32 位及以下返回值:通过 r0 返回(如 int、char* 等)。 +- 64 位返回值:通过 r0-r1 联合返回(如 long long)。 +- 大型返回值(如结构体):调用者会在栈上分配内存,并将内存地址通过 r0 传递给被调用函数,被调用函数将结果写入该地址,最终通过 r0 返回该地址。 +## 函数调用与返回流程 +> 调用过程: +- 调用者将前 4 个参数存入 r0-r3,第 5 个及以后参数压入栈。 +- 通过 bl(branch with link)指令跳转至被调用函数,该指令自动将返回地址(下一条指令)存入 lr(r14)。 +- 被调用函数若使用 r4-r11,需先将其值压入栈(保存上下文),再分配局部变量空间。 +> 返回过程: +- 被调用函数将返回值存入 r0(或 r0-r1)。 +- 从栈中恢复 r4-r11 的值(若之前保存过)。 +- 通过 bx lr 指令跳转回调用者(lr 中存放返回地址)。 \ No newline at end of file diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/image.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/image.png" new file mode 100644 index 0000000000000000000000000000000000000000..2cfd11a6817a6bb36c925d240cf116d1e9323069 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/image.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image1.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image1.png" new file mode 100644 index 0000000000000000000000000000000000000000..3a1cab2787ccec89de2823db156fb9e548515b4c Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image1.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image10.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image10.png" new file mode 100644 index 0000000000000000000000000000000000000000..d0dc314ef38a02da786849367dc554a04dfd760c Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image10.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image100.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image100.png" new file mode 100644 index 0000000000000000000000000000000000000000..edd99bd929bf934827aab46bb6692e06555f7a95 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image100.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image101.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image101.png" new file mode 100644 index 0000000000000000000000000000000000000000..3d63e16e5fd10a32fd83a96e11b60ff0fd908039 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image101.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image102.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image102.png" new file mode 100644 index 0000000000000000000000000000000000000000..4917bcea53740001f8f6c685b7d8cca4357241db Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image102.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image103.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image103.png" new file mode 100644 index 0000000000000000000000000000000000000000..31b4f350bfec2911690761127df23bd4960ec77e Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image103.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image104.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image104.png" new file mode 100644 index 0000000000000000000000000000000000000000..a0ea95fc1201d3bdbf8f6c62fd3b2f6db9ba5faa Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image104.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image105.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image105.png" new file mode 100644 index 0000000000000000000000000000000000000000..509aa05c1bd671e9c6c7a8f5c66bc51a85e5b2bb Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image105.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image106.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image106.png" new file mode 100644 index 0000000000000000000000000000000000000000..7fc399d1073e75849719de2f6f2f8a2e89b2196f Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image106.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image107.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image107.png" new file mode 100644 index 0000000000000000000000000000000000000000..51f92b481c22092afa69d5075ce1944d01297f18 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image107.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image108.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image108.png" new file mode 100644 index 0000000000000000000000000000000000000000..6b47717bb83efc9eec6f9bf368357f92c958a73b Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image108.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image109.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image109.png" new file mode 100644 index 0000000000000000000000000000000000000000..54fe53315569d939e382791f1f884d71513043e2 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image109.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image11.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image11.png" new file mode 100644 index 0000000000000000000000000000000000000000..52b2e5392a97b98454bdb33cc926bb0d0615b78b Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image11.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image110.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image110.png" new file mode 100644 index 0000000000000000000000000000000000000000..de15228aad887632e6673e9c25ded10413fe8ee7 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image110.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image111.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image111.png" new file mode 100644 index 0000000000000000000000000000000000000000..48752006adfc6486a5f9a4334ccad7968763ae36 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image111.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image112.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image112.png" new file mode 100644 index 0000000000000000000000000000000000000000..93bda8e0bf106fb2eb45ecc3c73d59d38fd2e85a Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image112.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image113.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image113.png" new file mode 100644 index 0000000000000000000000000000000000000000..a5d0900bc16ec5b62bdb4c05c888a2fdd704bf97 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image113.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image114.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image114.png" new file mode 100644 index 0000000000000000000000000000000000000000..87cd0267673ea6a9a53c0f92df0af8b0c4aed30d Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image114.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image115.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image115.png" new file mode 100644 index 0000000000000000000000000000000000000000..8462468c52c50c1266815d05eff17743e615a0ed Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image115.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image116.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image116.png" new file mode 100644 index 0000000000000000000000000000000000000000..bda62398c5aba36829f255be40f58b87f5881eca Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image116.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image117.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image117.png" new file mode 100644 index 0000000000000000000000000000000000000000..6358e9eb186a0982e646329b5b03dc00466e14cb Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image117.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image118.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image118.png" new file mode 100644 index 0000000000000000000000000000000000000000..f0f90b1a97de8d9be186837b0b857daa1fd2c265 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image118.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image119.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image119.png" new file mode 100644 index 0000000000000000000000000000000000000000..5ca36505810f46d20966d19c392ebf55aef0e21c Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image119.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image12.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image12.png" new file mode 100644 index 0000000000000000000000000000000000000000..f2f3c4d24dcdb20236f8e201772988a0dd65f725 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image12.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image120.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image120.png" new file mode 100644 index 0000000000000000000000000000000000000000..2124504e4d3e987644a9af70a9cb53f00bc7e891 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image120.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image121.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image121.png" new file mode 100644 index 0000000000000000000000000000000000000000..f18f6685ccfffaf3cc9ef36c5f7967871b10c382 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image121.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image122.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image122.png" new file mode 100644 index 0000000000000000000000000000000000000000..2d25fe68bb0bbd982971ddbf45229494b1f9e53d Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image122.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image123.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image123.png" new file mode 100644 index 0000000000000000000000000000000000000000..478e75193dfc2f72fa61b4f151a0fca8a6f00672 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image123.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image124.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image124.png" new file mode 100644 index 0000000000000000000000000000000000000000..d18fed369aad2d9daf9c75c50fd395856b79779f Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image124.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image125.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image125.png" new file mode 100644 index 0000000000000000000000000000000000000000..73019755a49eb7f7cdff0b20e3105b94706dcf05 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image125.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image126.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image126.png" new file mode 100644 index 0000000000000000000000000000000000000000..f97404183c7a351f568a5e1248157bbfa4cfc672 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image126.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image127.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image127.png" new file mode 100644 index 0000000000000000000000000000000000000000..77325f3631131562c1c00fcc52e72c9c0499d763 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image127.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image128.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image128.png" new file mode 100644 index 0000000000000000000000000000000000000000..49749ed615246014f341b3aaa321ab4b727a2e1f Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image128.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image129.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image129.png" new file mode 100644 index 0000000000000000000000000000000000000000..536639d9077a88eb3b7d5bcb7ab621bec53e834a Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image129.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image13.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image13.png" new file mode 100644 index 0000000000000000000000000000000000000000..1a5b27f4a9611958dbcff8d76a75fca1fa0c639f Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image13.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image130.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image130.png" new file mode 100644 index 0000000000000000000000000000000000000000..b6a3a24f6de0b5959d2fad1c3b893ad9682a434c Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image130.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image131.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image131.png" new file mode 100644 index 0000000000000000000000000000000000000000..8889e32dcf02fd77e756450c9aa010ba36b031c6 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image131.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image132.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image132.png" new file mode 100644 index 0000000000000000000000000000000000000000..de15228aad887632e6673e9c25ded10413fe8ee7 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image132.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image133.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image133.png" new file mode 100644 index 0000000000000000000000000000000000000000..4a23e8950971bbaaa05af609e2b0bd0faa89dde9 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image133.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image134.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image134.png" new file mode 100644 index 0000000000000000000000000000000000000000..8a841e2ed1becbfff81a53b41c258a39790bc323 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image134.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image14.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image14.png" new file mode 100644 index 0000000000000000000000000000000000000000..a809dac25635bb723a6b481cbd02ba59e380d48d Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image14.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image15.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image15.png" new file mode 100644 index 0000000000000000000000000000000000000000..79afdd76293bd40ee73a1c6f5596638e445dbfdb Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image15.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image16.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image16.png" new file mode 100644 index 0000000000000000000000000000000000000000..f82263cc53a79b370bc304aaa5445ef80538ffd6 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image16.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image17.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image17.png" new file mode 100644 index 0000000000000000000000000000000000000000..dd974ef87d85c44c792e284dca5fa4f5573a34e3 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image17.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image18.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image18.png" new file mode 100644 index 0000000000000000000000000000000000000000..f4d266b3cf18180786d2619694d55adf6373d9b8 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image18.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image19.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image19.png" new file mode 100644 index 0000000000000000000000000000000000000000..1091238c6f0b36f90d69da3ecdb31792680adb2c Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image19.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image2.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image2.png" new file mode 100644 index 0000000000000000000000000000000000000000..57b27e1fed8774d7c6b81ced00ffb1a7739f872e Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image2.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image20.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image20.png" new file mode 100644 index 0000000000000000000000000000000000000000..2b67655a9e9dc0285b29a62e108dcb8721db488a Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image20.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image21.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image21.png" new file mode 100644 index 0000000000000000000000000000000000000000..a55370b46caf9fa9d1716ba997058120b6a9a4ea Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image21.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image22.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image22.png" new file mode 100644 index 0000000000000000000000000000000000000000..a99181285b0d862b833663206fac87b811569c9a Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image22.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image23.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image23.png" new file mode 100644 index 0000000000000000000000000000000000000000..2abd4ec666bb1c612bd3bb7ae6212ede5c1594d6 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image23.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image24.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image24.png" new file mode 100644 index 0000000000000000000000000000000000000000..92fec4b122c8317869ce0bb0a0de242bb4a5541f Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image24.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image25.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image25.png" new file mode 100644 index 0000000000000000000000000000000000000000..5fba7f035bdcb2d34c703d6009226c686c081db8 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image25.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image26.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image26.png" new file mode 100644 index 0000000000000000000000000000000000000000..5a4f7bca345458dcb90c049aac2debb89116e592 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image26.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image27.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image27.png" new file mode 100644 index 0000000000000000000000000000000000000000..dc5d031fcb3009cf72c1a1acccce3e0100306247 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image27.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image28.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image28.png" new file mode 100644 index 0000000000000000000000000000000000000000..a6c7864f019c5ff6cdde5a1581e0028ef552b73c Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image28.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image29.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image29.png" new file mode 100644 index 0000000000000000000000000000000000000000..6056b5519dd8fe2dc87dd195361ef546f0fa759e Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image29.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image3.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image3.png" new file mode 100644 index 0000000000000000000000000000000000000000..6c9891d261e97a4f290c52c4ad9927b615e21a6c Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image3.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image30.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image30.png" new file mode 100644 index 0000000000000000000000000000000000000000..4e2d07142a8f9fc974a4066082c1ba26bd4b4324 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image30.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image31.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image31.png" new file mode 100644 index 0000000000000000000000000000000000000000..6d7d437eb2d2b366254fe0167839d0be1834146a Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image31.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image32.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image32.png" new file mode 100644 index 0000000000000000000000000000000000000000..57512b56d32a0a8c256ea0d88d321fca3bbc6972 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image32.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image33.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image33.png" new file mode 100644 index 0000000000000000000000000000000000000000..fd8e33119c2d947c30523a52783ca2207af732ac Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image33.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image34.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image34.png" new file mode 100644 index 0000000000000000000000000000000000000000..ea9d5049670d2136eeebe95348db9a182b5bff77 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image34.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image36.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image36.png" new file mode 100644 index 0000000000000000000000000000000000000000..7b3a240285554af20aab9993db3f15148cb9e345 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image36.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image37.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image37.png" new file mode 100644 index 0000000000000000000000000000000000000000..b19a71eb65b3c5bc701a1d0cdfca36c08508c4dd Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image37.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image38.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image38.png" new file mode 100644 index 0000000000000000000000000000000000000000..82629ce26c660351ceff4a945e0e0098a76496e9 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image38.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image39.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image39.png" new file mode 100644 index 0000000000000000000000000000000000000000..bed15cf2e88d885f33f9a28427775bcaf3a2c205 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image39.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image4.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image4.png" new file mode 100644 index 0000000000000000000000000000000000000000..da359fecc69e8b7ee804c000c953ae6e8336662a Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image4.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image40.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image40.png" new file mode 100644 index 0000000000000000000000000000000000000000..4cbe1145b17680ca9607640cf26ce44c8f33cbd3 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image40.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image41.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image41.png" new file mode 100644 index 0000000000000000000000000000000000000000..d1d19c02b7eb8609d331e59626cf40e8dc170817 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image41.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image42.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image42.png" new file mode 100644 index 0000000000000000000000000000000000000000..c5210105b4c6fc9aa2cb436ff544a72d9f4263a8 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image42.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image43.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image43.png" new file mode 100644 index 0000000000000000000000000000000000000000..87dbdf53e2fb8b6ddadc7d0b262129c165d7830f Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image43.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image44.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image44.png" new file mode 100644 index 0000000000000000000000000000000000000000..85a907ce5d73e8d7f9bb3855ef5435f644f321c2 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image44.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image45.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image45.png" new file mode 100644 index 0000000000000000000000000000000000000000..153be2d3643a4eb363d0cca8042c5c3fc02d68dc Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image45.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image46.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image46.png" new file mode 100644 index 0000000000000000000000000000000000000000..1702500d813fed19e7cd37eb549fc4628b24e1f3 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image46.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image47.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image47.png" new file mode 100644 index 0000000000000000000000000000000000000000..72165ef47797a428fc8e59045af8c879409e43ba Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image47.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image48.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image48.png" new file mode 100644 index 0000000000000000000000000000000000000000..49e19c2679c66fe6ee3ae0a0285b0966f97545f6 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image48.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image49.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image49.png" new file mode 100644 index 0000000000000000000000000000000000000000..8fc2c59da0c09e1f5f1203053aac413d93f853a0 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image49.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image5.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image5.png" new file mode 100644 index 0000000000000000000000000000000000000000..ad60d64f12c26b28d5415fb94075a2b830a68692 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image5.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image50.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image50.png" new file mode 100644 index 0000000000000000000000000000000000000000..009a94fe0494768a09041b6507cac517d222159c Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image50.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image51.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image51.png" new file mode 100644 index 0000000000000000000000000000000000000000..35370fb96c5fe9440db07e2e4db47e116a06817c Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image51.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image52.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image52.png" new file mode 100644 index 0000000000000000000000000000000000000000..680360f190ad0f3250550d476225309e2e565ff1 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image52.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image53.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image53.png" new file mode 100644 index 0000000000000000000000000000000000000000..e0d199b2e4fe52e125203953ac0e9195a68626ef Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image53.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image54.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image54.png" new file mode 100644 index 0000000000000000000000000000000000000000..492e679f0822a8053c713bb85dadffd2977dbbda Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image54.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image55.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image55.png" new file mode 100644 index 0000000000000000000000000000000000000000..5e77cbaf6996ea68cbf2f115cb4bf202c1b85b18 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image55.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image56.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image56.png" new file mode 100644 index 0000000000000000000000000000000000000000..3dd502f41e19244792660cff9707da9ed081c0a0 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image56.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image57.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image57.png" new file mode 100644 index 0000000000000000000000000000000000000000..24a833db4747e01e144b2d042e4e6ddc032ddc60 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image57.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image58.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image58.png" new file mode 100644 index 0000000000000000000000000000000000000000..c87b36cf540808722e2263f62927208276507942 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image58.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image59.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image59.png" new file mode 100644 index 0000000000000000000000000000000000000000..117afeb8e57ef60216bf871d68613525f5ce004d Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image59.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image6.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image6.png" new file mode 100644 index 0000000000000000000000000000000000000000..4fd083f93e3f910a47b3d6b122481a41c0a28385 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image6.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image60.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image60.png" new file mode 100644 index 0000000000000000000000000000000000000000..3aacc65abcae3bdb683fc0aaa634cba1b4a3bc96 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image60.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image61.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image61.png" new file mode 100644 index 0000000000000000000000000000000000000000..8d0a4353e54b16f19e1509011c14ae66df3f4691 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image61.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image62.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image62.png" new file mode 100644 index 0000000000000000000000000000000000000000..3f859b01d684686ea187832e7a0f26ca18890bb0 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image62.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image63.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image63.png" new file mode 100644 index 0000000000000000000000000000000000000000..6aca9e928ad97e02145a4e4cf25f8ad7f23270ac Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image63.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image64.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image64.png" new file mode 100644 index 0000000000000000000000000000000000000000..bb1088b7df9c03a9857307002d76f14b7ca81e70 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image64.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image65.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image65.png" new file mode 100644 index 0000000000000000000000000000000000000000..c652af49296ade8523241bd3bbe30f833d436413 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image65.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image66.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image66.png" new file mode 100644 index 0000000000000000000000000000000000000000..3a58f3f154b4d5a2523aa5b082f7a625b93e57d5 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image66.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image67.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image67.png" new file mode 100644 index 0000000000000000000000000000000000000000..72c2257bcd15b61b527d93d7bf76ff4a2a08c005 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image67.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image68.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image68.png" new file mode 100644 index 0000000000000000000000000000000000000000..1951ac0f2f578d7e86ddc0aca05d0b4ce58ea650 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image68.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image69.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image69.png" new file mode 100644 index 0000000000000000000000000000000000000000..38f4eebf2ea804ff3df555ecd80713ad9d7a1b17 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image69.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image7.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image7.png" new file mode 100644 index 0000000000000000000000000000000000000000..58486240c99aac1c2f43a6a434be0d38da178822 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image7.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image70.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image70.png" new file mode 100644 index 0000000000000000000000000000000000000000..4fd48498e411b3a9e195d61a88531aaaf45b935d Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image70.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image71.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image71.png" new file mode 100644 index 0000000000000000000000000000000000000000..8da088a6bf76d9358a6d851d3d19de7cad9557b4 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image71.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image72.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image72.png" new file mode 100644 index 0000000000000000000000000000000000000000..dcb6bf81f860492a3fb37ced697e746606054179 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image72.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image73.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image73.png" new file mode 100644 index 0000000000000000000000000000000000000000..809551fdc7ea959528c3c505fbf5fe5ac7d5a9be Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image73.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image74.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image74.png" new file mode 100644 index 0000000000000000000000000000000000000000..ac931150de43ef7c4fbac816061a0499807c947e Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image74.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image75.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image75.png" new file mode 100644 index 0000000000000000000000000000000000000000..1894929f6e4c82ac29bb2a8d5dc90278ed2e79b0 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image75.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image76.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image76.png" new file mode 100644 index 0000000000000000000000000000000000000000..3f1c527ad1cdb1cd0f45265f00effa81787c191e Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image76.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image77.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image77.png" new file mode 100644 index 0000000000000000000000000000000000000000..181c071b13949f1250e8c3f4be8ea41796c88191 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image77.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image78.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image78.png" new file mode 100644 index 0000000000000000000000000000000000000000..ee2897f26d056c03ca239c791e9c4758959ab439 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image78.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image79.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image79.png" new file mode 100644 index 0000000000000000000000000000000000000000..01f8e88eb22ab8f80db89c40d29cfcfdbd621a4c Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image79.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image8.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image8.png" new file mode 100644 index 0000000000000000000000000000000000000000..9ed5614ed357191df82313192f1ca23ad397117d Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image8.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image80.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image80.png" new file mode 100644 index 0000000000000000000000000000000000000000..4ef573de5058093e6ce1723b40ff081736afcb31 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image80.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image81.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image81.png" new file mode 100644 index 0000000000000000000000000000000000000000..753c48f92e357bf9fb537e284b3058cec1ad05bc Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image81.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image82.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image82.png" new file mode 100644 index 0000000000000000000000000000000000000000..6463cc292f2d43a6c46b3d113440eda766f1782a Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image82.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image83.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image83.png" new file mode 100644 index 0000000000000000000000000000000000000000..d7c1a7d7103d8f809530f7b6e30bccb47ef4f73d Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image83.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image84.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image84.png" new file mode 100644 index 0000000000000000000000000000000000000000..768dc260bfa4a9537c25741c78959ac4c67d13ec Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image84.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image85.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image85.png" new file mode 100644 index 0000000000000000000000000000000000000000..9e470293a5c6d4fdf119fd7a939d3b558abd35be Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image85.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image86.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image86.png" new file mode 100644 index 0000000000000000000000000000000000000000..d89b7021ca63b7491f62f55c09c0059b1b11f69d Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image86.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image87.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image87.png" new file mode 100644 index 0000000000000000000000000000000000000000..3c2987636bff5f6b702cc792708aca8e9eb7ac88 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image87.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image88.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image88.png" new file mode 100644 index 0000000000000000000000000000000000000000..cefc8b5b379716679d4a95c726950e674dd08c7e Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image88.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image89.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image89.png" new file mode 100644 index 0000000000000000000000000000000000000000..b346a66fa73f3a94ddb5ea4f9f2d892528125504 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image89.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image9.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image9.png" new file mode 100644 index 0000000000000000000000000000000000000000..97cd1d6aed4cd9ed7adf78063656bf78768dbe06 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image9.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image90.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image90.png" new file mode 100644 index 0000000000000000000000000000000000000000..9b189387e7e8fc30fa2aef065eb6c4a677ab54b2 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image90.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image91.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image91.png" new file mode 100644 index 0000000000000000000000000000000000000000..5064211bb4eee5784dc25d781c5dbac65f176973 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image91.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image92.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image92.png" new file mode 100644 index 0000000000000000000000000000000000000000..8889d8ad26acdb8415078e0eb00d646e7b94de9b Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image92.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image93.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image93.png" new file mode 100644 index 0000000000000000000000000000000000000000..75a81a86086f32d4e54c866cd47893dcdae4591b Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image93.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image94.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image94.png" new file mode 100644 index 0000000000000000000000000000000000000000..a0cdc3f91a52d43bc29ff8dcd627bfa38c514db2 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image94.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image95.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image95.png" new file mode 100644 index 0000000000000000000000000000000000000000..c716e2ceb2d7f22d5ca35d4b453703dbab6f5f62 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image95.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image96.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image96.png" new file mode 100644 index 0000000000000000000000000000000000000000..460fde6b04fa8616a63b9274c888cfd8c3c41233 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image96.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image97.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image97.png" new file mode 100644 index 0000000000000000000000000000000000000000..0b62869c314fb33e22b74285fe95d61acc8a3ebd Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image97.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image98.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image98.png" new file mode 100644 index 0000000000000000000000000000000000000000..81bf24bf68b2f58285caae3a343ba7f207e24584 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image98.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image99.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image99.png" new file mode 100644 index 0000000000000000000000000000000000000000..ccd95f611c9f5963d9d92fd2adafb9a4406ca0a5 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day1/image99.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/1.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/1.png" new file mode 100644 index 0000000000000000000000000000000000000000..878f99fa513dc6027b8da84ebadc6488883f3a58 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/1.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/10.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/10.png" new file mode 100644 index 0000000000000000000000000000000000000000..2ef3892fdb4ef8b8e0e2603987a67c7b393dfc6b Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/10.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/11.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/11.png" new file mode 100644 index 0000000000000000000000000000000000000000..3e60b3a0c0ecf41a1478a187332e68ffc97788e6 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/11.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/12.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/12.png" new file mode 100644 index 0000000000000000000000000000000000000000..ce22229fd6fadb4b6f2b7b6f57f369958ea7d2d0 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/12.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/13.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/13.png" new file mode 100644 index 0000000000000000000000000000000000000000..9f5aafb1780bf7a6e0a41484c22259ca8c6d240e Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/13.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/14.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/14.png" new file mode 100644 index 0000000000000000000000000000000000000000..e8083709c0204dcfbb8adf2c55c4ac3ac481ac50 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/14.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/15.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/15.png" new file mode 100644 index 0000000000000000000000000000000000000000..b608a761e096cf6c42ce9389af9bbcef4ce294ae Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/15.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/16.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/16.png" new file mode 100644 index 0000000000000000000000000000000000000000..5c8e9208977ddac6879ffae585daa5efe399cb0a Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/16.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/17.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/17.png" new file mode 100644 index 0000000000000000000000000000000000000000..57df1206c970aae5216030990540da54578dd9ca Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/17.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/18.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/18.png" new file mode 100644 index 0000000000000000000000000000000000000000..84b7efd97274d32ffc59a31f4bb1713526398e20 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/18.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/19.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/19.png" new file mode 100644 index 0000000000000000000000000000000000000000..0c2c8eb25382546e94490131a1be68798b287c89 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/19.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/2.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/2.png" new file mode 100644 index 0000000000000000000000000000000000000000..b4c56c67e061fa4b744c4bb5914c98f8f1b4aca2 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/2.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/20.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/20.png" new file mode 100644 index 0000000000000000000000000000000000000000..b3db2ec9c1b90a22a8c255b303f4f5925c58095e Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/20.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/21.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/21.png" new file mode 100644 index 0000000000000000000000000000000000000000..a4a7a9deb819767882b33162b0b1f53857b4fce2 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/21.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/22.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/22.png" new file mode 100644 index 0000000000000000000000000000000000000000..b3852b80134c9baf7fb054b5818fa2c04e3c0113 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/22.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/23.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/23.png" new file mode 100644 index 0000000000000000000000000000000000000000..0a2e9f98cb157c03f00ada2bdb27b0048aa98a97 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/23.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/24.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/24.png" new file mode 100644 index 0000000000000000000000000000000000000000..43f759df8021ccfe55022a2d65c6c9c3597ca661 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/24.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/25.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/25.png" new file mode 100644 index 0000000000000000000000000000000000000000..235d781965ad16423db0deef633c331e36e6a8cc Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/25.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/26.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/26.png" new file mode 100644 index 0000000000000000000000000000000000000000..0451d8d0a33e2f2a5bbdab8994df99134e7f9761 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/26.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/3.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/3.png" new file mode 100644 index 0000000000000000000000000000000000000000..aca7594ea48a3d250d3d8857b35cdda95b214617 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/3.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/4.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/4.png" new file mode 100644 index 0000000000000000000000000000000000000000..b560b83ddc40159739b15a0085b593ed94c92b89 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/4.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/5.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/5.png" new file mode 100644 index 0000000000000000000000000000000000000000..f66f4fc4076677f596d3998e0cbd32d8904fc6f6 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/5.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/6.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/6.png" new file mode 100644 index 0000000000000000000000000000000000000000..a522f5a41f3eec2db094349d12dd3d1a26991fca Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/6.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/7.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/7.png" new file mode 100644 index 0000000000000000000000000000000000000000..c26701314a391776009734fbc6094cd41c432150 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/7.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/8.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/8.png" new file mode 100644 index 0000000000000000000000000000000000000000..49718afd0cfc6c08cd7923bfb22056651d317df8 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/8.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/9.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/9.png" new file mode 100644 index 0000000000000000000000000000000000000000..f2d6c2ad01a1c754942bf59133839e9845b31735 Binary files /dev/null and "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/images/day2/9.png" differ diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/\343\200\220RSOC25\343\200\221Day1 \350\257\276\347\250\213\347\254\224\350\256\260\357\274\232git\347\216\257\345\242\203\351\205\215\347\275\256.md" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/\343\200\220RSOC25\343\200\221Day1 \350\257\276\347\250\213\347\254\224\350\256\260\357\274\232git\347\216\257\345\242\203\351\205\215\347\275\256.md" new file mode 100644 index 0000000000000000000000000000000000000000..142eb04931961cff282cc26c71bc45cc9c8ec139 --- /dev/null +++ "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/\343\200\220RSOC25\343\200\221Day1 \350\257\276\347\250\213\347\254\224\350\256\260\357\274\232git\347\216\257\345\242\203\351\205\215\347\275\256.md" @@ -0,0 +1,362 @@ +# 【RSOC25】Day1 课程笔记:git环境配置 +# 1. 新建目录与拉取仓库操作指南 +## 1.1 git下载网站: +下载网站:https://git-scm.com/downloads/win 选择x64版本 +![image1](images/day1/image1.png) +下载完成后,可以在win中看见git应用 +![image2](images/day1/image2.png) + +## 1.2 将RT-Thread代码拉取到本地 +### 1.2.1 在D盘新建一个RSOC的目录,用来存放RT-Thread的相关文件 +![image3](images/day1/image3.png) +新建完成后里面什么都没有 +![image4](images/day1/image4.png) +### 1.2.2 打开git base软件,并将当前工作目录切换到刚刚新建的2025-RSOC目录 +1. cd命令可切换工作目录 +![image5](images/day1/image5.png) +2. 打开git的仓库包 +链接:https://github.com/RT-Thread/rt-thread +![image6](images/day1/image6.png) +3. 点击code找到HTTP的链接,并复制。如下图所示 +链接为:https://github.com/RT-Thread/rt-thread.git +![image7](images/day1/image7.png) +4. 将链接粘贴后,到git-Bash中使用git clone命令进行仓库的拉取 +命令:``git clone https://github.com/RT-Thread/rt-thread.git`` +![image8](images/day1/image8.png) +__【备用方案】在gitee中克隆镜像的仓库(由于我的网络不稳定,所以我采用的是这个方案)__ +链接:https://gitee.com/mirrors_RT-Thread/rt-thread +同样也是复制HTTP的链接到git-Bash中进行仓库的拉取 +![image9](images/day1/image9.png) +![image10](images/day1/image10.png) +当进度条为百分百之后,表示仓库以及拉取完毕,可打开文件夹验证 +![image11](images/day1/image11.png) +![image12](images/day1/image12.png) + +## 1.3 拉取ENV工具(构建工具) +新建一个用来存放ENV工具的文件夹,在刚刚的文件夹下新建 +![image13](images/day1/image13.png) +仓库链接:https://github.com/RT-Thread/env-windows +![image14](images/day1/image14.png) +### 另一种使用git的方式:直接在当前要存放的文件夹下,打开命令提示符,并在此输入仓库拉取的命令(在网址下有克隆的命令) +命令:``git clone --recursive --depth 1 https://gitee.com/mirrors_RT-Thread/env-windows.git`` +![image15](images/day1/image15.png) +![image16](images/day1/image16.png) +当进度条为百分百之后,表示仓库以及拉取完毕,可打开文件夹验证 +![image17](images/day1/image17.png) +拉取成功后可以在文件夹中找到 +![image18](images/day1/image18.png) + +## 1.4 ENV的配置 +1. 打开刚刚拉取的ENV仓库,打开env.bat(第一次打开会自动配置一些依赖,等它下载完成以后就是配置好了,下面第一张图为正在配置,第二张图就是配置好了) +![image19](images/day1/image19.png) +![image20](images/day1/image20.png) +2. 打开右上角的setting,找到Integration栏,点击Register(注册),它会将env注册到我们的一个系统里面 +![image21](images/day1/image21.png) +![image22](images/day1/image22.png) +注册好以后,可以在文件夹中通过右键打开env +![image23](images/day1/image23.png) + +# 2. 环境配置与代码编译操作指南 +## 2.1 在rt-thread文件夹下右键打开env,可以看见env工作目录即为打开的文件夹,在env中输入 pkgs --update 进行更新 +### 检查 Env 工具是否正常工作 +命令: +``pkgs --list `` # 查看已安装的包 +``menuconfig `` # 检查配置界面是否正常 +![image24](images/day1/image24.png) +## 2.2 RT-Thread源代码目录结构 +![image25](images/day1/image25.png) + +# 3. Q启动与代码编辑操作指南 +1. 在D:\2025-RSOC\rt-thread\bsp\qemu-vexpress-a9目录下重新打开env +![image26](images/day1/image26.png) +2. 输入 ``menuconfig ``进行配置 +![image27](images/day1/image27.png) +![image28](images/day1/image28.png) +第一次进来,按下Q退出,会提示“是否需要保存” +![image29](images/day1/image29.png) +保存后,退出,输入 ``scons -j4 ``进行编译 (4取决于电脑的进程数) +![image30](images/day1/image30.png) +![image31](images/day1/image31.png) +输入``ls `` 查看目录下的文件,可以看到,当前目录以及成功编译出了.elf文件 +将.elf文件使用烧入工具把它烧录到对应的板子就可以运行起来了 +![image32](images/day1/image32.png) +3. 使用Q对它进行启动,由于没有打开GUI,直接使用没有中心化的版本 +命令: qemu-nographic.bat +![image33](images/day1/image33.png) + +# 4. git bash 环境中查用命令 +1. 命令:``help``(可以查看支持的一些命令) +![image34](images/day1/image34.png) +2. 命令:list device(可以查看当前开启的一些设备) +![image36](images/day1/image36.png) +3. 命令:``list thread``(可以查看当前开启的线程) +![image37](images/day1/image37.png) +显示栏中一些参数的含义 +![image38](images/day1/image38.png) +4. 命令:``list timer``(可以查看当前的定时器) +![image39](images/day1/image39.png) +5. ctrl+A+X:退出当前的终端 +![image40](images/day1/image40.png) +【遇到的问题】在我的电脑中,按下ctrl+A+X是打出一堆笑脸 +【解决办法】按下ctrl+a再松开,再按x就可以退出了 + +# 5. 终端操作与构建系统应用 +## 5.1 用VScode打开D:\2025-RSOC\rt-thread\bsp\qemu-vexpress-a9 +1. 选择打开文件夹,找到这个文件夹 +![image41](images/day1/image41.png) +![image42](images/day1/image42.png) +2. 如果跳出是否信任此作者,请选择信任 +![image43](images/day1/image43.png) +3. 打开完成后如下图所示 +![image44](images/day1/image44.png) +4. 在applications栏下找到main.c,在main.c中对dsp代码进行编辑 +![image45](images/day1/image45.png) +5. 加入一句打印的语句 +![image46](images/day1/image46.png) +6. 加入完成后,对此进行编译(__加入完成后,一定要保存!!!__) +命令:``scons -j4 `` +![image47](images/day1/image47.png) +7. 编译完成后,输入命令让它跑起来 +命令:``qemu-nographic.bat`` +可以看到我们刚刚写的2025-RSOC被打印到终端上了 +![image48](images/day1/image48.png) +## 5.2 思考:ENV是怎么把.c文件添加到构建中的? +1. 找到根目录中的一个SConscript文件 +![image49](images/day1/image49.png) +在此文件中采用递归查找同样是SConscript的文件 +![image50](images/day1/image50.png) +2. 找到内文件中的一个SConscript文件 +![image51](images/day1/image51.png) +3. 运行过程:在编译时,首先会找到根目录先的SConscript文件,进行递归搜索,搜索到子目录中的SConscript文件,会继续往下递归。并将.c文件添加到SRC中。 +![image52](images/day1/image52.png) +## 5.3 思考:如何将新的目录添加到当前的构建系统中? +1. 创建一个新的目录(test1) +![image53](images/day1/image53.png) +![image54](images/day1/image54.png) +2. 在test1中新建.c文件,并输入一些代码(方便起见,直接用main.c) +![image55](images/day1/image55.png) +![image56](images/day1/image56.png) +main.c中的代码如下: +![image58](images/day1/image58.png) +3. 将test.c添加到当前的构建中 +创建一个SConscript脚本,因为下面没有文件夹,所以不需要再递归了 +脚本代码如下 +![image57](images/day1/image57.png) +4. 编写完成后,保存,进行编译 +![image59](images/day1/image60.png) +5. 编译完成后,运行查看效果,效果和刚才一样 +![image60](images/day1/image61.png) +## 5.4 代码规范 +### 例:比如要获取传感器的数据 +新建一个目录专门放置传感器的代码,如Sensor +![image62](images/day1/image62.png) + +# 6.管理包 +1. 打开menuconfig +![image63](images/day1/image63.png) +2. 找到Enable LVGL for LCD,将它打开 +依次打开下面的栏 +![image64](images/day1/image64.png) +![image65](images/day1/image65.png) +![image66](images/day1/image66.png) +3. 然后返回,在Kconfig中查看是否配置完成,可以看到在Kconfig中看见Enable LVGL for LCD,说明配置成功,并且将这个配置自动创建到.config中 +![image67](images/day1/image67.png) +4. 使用`` pkgs --update`` 进行下载 +![image68](images/day1/image68.png) +5. 下载完成以后,输入`` scons -j4`` 进行编译 +![image69](images/day1/image69.png) +![image70](images/day1/image70.png) +6. 编译完成后,运行 ``qemu.bat`` +![image71](images/day1/image71.png) +![image72](images/day1/image72.png) +# 7.git版本控制系统与基本使用介绍 +## 7.1 核心概念 +### Git:它是一个版本控制系统。把它想象成一个超级智能的 “时光机器” 或 “文档追踪器”。 +#### 1. 它的核心工作是跟踪文件的变化。每次你对文件做了重要的修改(比如完成一个功能、修复一个 bug),你就可以告诉 Git 记录下这个 “快照”。 +#### 2. 它允许你回溯历史。如果你改错了东西,或者想看看一周前的代码是什么样子,Git 可以轻松带你回到那个 “快照” 的状态。 +#### 3. 它支持协作。多人可以在同一个项目上工作,Git 能帮大家合并各自的修改,管理不同版本。 +#### 4. 它支持分支。想象你在写小说,想尝试一个不同的结局。Git 允许你创建一个独立的分支来写这个结局,而不会影响主线故事。写完后,你可以决定是否合并回主线。 +### 本地 Git 仓库 (Repository / Repo):这是 Git 工作的核心场所。把它理解成一个项目专属的数据库或时光胶囊。 +#### 1. 位置:它通常是你项目根目录下的一个隐藏文件夹(名为 .git )。 +#### 2. 内容:这个文件夹里包含了 Git 运作所需的一切: +1. 项目的所有文件的历史版本(以高效压缩的方式存储)。 +2. 记录每次修改的日志(谁、什么时候、改了哪里、为什么改)。 +3. 指向当前状态和各个历史版本的指针。 +4. 分支信息、标签信息、远程仓库地址等配置。 +#### 3.作用:对项目文件的所有修改记录都保存在这里。 +### 如何理解它们之间的关系? +#### 想象你有一个木匠工作坊(你的项目文件夹)。 +#### Git 就像是这个工作坊的管理系统,负责记录每件工具的摆放位置(文件状态)、每次制作家具的步骤(修改历史)、不同的设计方案草稿(分支)。 +#### Git 仓库 (.git 文件夹) 就是这个工作坊里一个特殊的、上了锁的档案室。里面存放着: +1. 所有工具的详细清单和每次使用记录。 +2. 每件家具从木料到成品的完整制作过程录像(所有历史版本)。 +3. 不同设计方案(分支)的图纸和模型。 +#### 当你在工作坊(项目目录)里干活(修改文件)时,Git 系统(通过命令)让你可以选择: +1. 暂存 (git add):把改动好的零件 / 图纸放进一个 “准备区”,告诉 Git 系统这些是下次要记录进档案室的。 +2. 提交 (git commit):把 “准备区” 的东西正式拍个快照,存档到档案室(仓库)里,并写下这次存档的说明(比如 “完成了桌面打磨” )。这就是创建了一个新的历史版本。 +3. 查看历史 (git log):去档案室翻阅以前的存档记录和快照。 +4. 回退 (git checkout,git reset):根据档案室的记录,把工作坊恢复到某个历史快照的状态(比如桌面打磨前的状态)。 +5. 创建分支 (git branch/git checkout -b):复制一份当前的设计图纸,开始尝试一个新的设计方案,不影响原来的主线设计。 +6. 合并分支 (git merge):把新设计方案中满意的部分合并回主线设计。 +## 7.2自己创建仓库 +### 7.2.1 使用git bash创建 +1. 新建一个文件夹,命名为test +![image73](images/day1/image73.png) +2. 初始化仓库:``git init`` +![image74](images/day1/image74.png) +初始化完成后,本地会有一个.git文件夹 +![image75](images/day1/image75.png) +3. 在test文件夹中新建一个文本,命名为hello.txt,并且编写一些内容 +![image76](images/day1/image76.png) +4. 使用 ``git status`` 查看它的状态 +[标红原因:没有添加到暂存区] +![image77](images/day1/image77.png) +使用``git add . ``将当前文件添加到暂存区 +![image78](images/day1/image78.png) +再次使用 ``git status``查看它的状态 +![image79](images/day1/image79.png) +5. 使用 ``git commit ``提交到仓库,使用`` -m "测试提交" ``添加说明 +![image80](images/day1/image80.png) +[遇到的问题]显示这个是因为没有配置全局信息,利用下面的代码配置完成后,再次运行就可以了: +![image81](images/day1/image81.png) +![image82](images/day1/image82.png) +使用``git log``命令显示日志 +![image83](images/day1/image83.png) +### 7.2.2 使用vscode插件创建 +1. 用vscode打开当前目录 +![image84](images/day1/image84.png) +2. 安装扩展:git graph +![image85](images/day1/image85.png) +3. 可以在git graph中进行源代码管理 +![image86](images/day1/image86.png) +4. 怎么在git graph中提交文件到仓库 +新建一个1.txt并在1.txt中写入内容 +![image87](images/day1/image87.png) +![image88](images/day1/image88.png) +5. 打开源代码管理,会看见更改的内容,对应了git status +![image89](images/day1/image89.png) +6. 在文件右边选择暂存更改 +![image90](images/day1/image90.png) +7. 将暂存的文件进行提交,并添加说明 +![image91](images/day1/image91.png) +8. 提交后就可以在图形中看见了 +![image92](images/day1/image92.png) +### 7.2.3 创建分支 +1. 在图形栏右键创建分支 +![image93](images/day1/image93.png) +2. 输入分支名字(比如first) +![image94](images/day1/image94.png) +3. 在图形栏可以看见被标为了first,这表示创建完毕 +![image95](images/day1/image95.png) +4. 新建一个2.text文件,并将其提交 +![image96](images/day1/image96.png) +![image97](images/day1/image97.png) +![image98](images/day1/image98.png) +5. 新建一个终端,使用 ``git branch -a ``查看当前所有分支 +![image99](images/day1/image99.png) +6. 使用``git switch master`` 可以切换分支 +![image100](images/day1/image100.png) +7. 使用 ``git checkout -b test`` 创建分支,并且图形已经切换到了test分支 +![image101](images/day1/image101.png) +8. 使用``git reset --hard HEAD~``强制回到上一次的提交(把第三次的修改去掉)【硬重置】 +![image102](images/day1/image102.png) +9. 使用``git reset --soft HEAD~``将上一次提交放回暂存区【软重置】 +![image103](images/day1/image103.png) +### 7.3 使用命令查看RT-thread仓库的情况 +1. 打开源码管理 +![image104](images/day1/image104.png) +在这里面可以查看一些修改 +![image105](images/day1/image105.png) +点击撤回可以撤回到刚刚从拉下来的状态 +![image106](images/day1/image106.png) +![image107](images/day1/image107.png) +2. 在D:\2025-RSOC\rt-thread\bsp\qemu-vexpress-a9中重新输入menuconfig,并进行编译运行 +![image108](images/day1/image108.png) +![image109](images/day1/image109.png) +### 7.4 远端仓库提交 +示例远程仓库:https://gitee.com/rtthread/rsoc-rtt +默认是没有权限的,只能通过DPR对仓库进行修改 +#### 7.4.1 将本地仓库推送到远端仓库 +1. 将仓库拉取到本地(进行fork) +![image110](images/day1/image110.png) +打开fork下来的仓库(前缀已经变成了我们的用户名),我们可以对它进行修改 +![image111](images/day1/image111.png) +为了将代码推送到远端仓库,根据下面的提示进行配置(用户信息和密钥) +![image112](images/day1/image112.png) +![image113](images/day1/image113.png) +得到加密后的密钥 +![image114](images/day1/image114.png) +![image115](images/day1/image115.png) +把得到的密钥粘贴到自己的SSH公钥中 +![image116](images/day1/image116.png) +到网站中复制SSH的链接 +![image117](images/day1/image117.png) +![image118](images/day1/image118.png) +在D:\2025-RSOC文件夹中进行拉取(命令:git clone git@gitee.com:zhou-strontium-qi/rsoc-rtt.git) +![image119](images/day1/image119.png) +2. 在当前目录下打开vs code(命令:code .) +![image120](images/day1/image120.png) +3. 新建一个自己的文件夹并新建一个.md文件用来记笔记 +![image121](images/day1/image121.png) +记笔记的语法参考:https://markdown.com.cn/basic-syntax/paragraphs.html +5. 在vscode右上角可以打开预览,看一下笔记的样子 +![image122](images/day1/image122.png) +![image123](images/day1/image123.png) +6. 进入源代码管理进行提交【注意:不要提交到主分支】 +![image124](images/day1/image124.png) +![image125](images/day1/image125.png) +7. 使用软重置将刚刚提交的内容放回暂存区 +![image126](images/day1/image126.png) +8. 使用``git checkout -b first_notes``创建分支并重新提交 +![image127](images/day1/image127.png) +9. 使用 ``git push origin first_notes``推送到远程仓库 +![image128](images/day1/image128.png) +10. 刷新远程仓库,可以看见新建的分支和刚刚新建的笔记 +![image129](images/day1/image129.png) +![image130](images/day1/image130.png) +##### 7.4.2 PR +1. 在网页端新建pull requests +![image132](images/day1/image132.png) +2. 选择正确的源分支和目标分支 +![image131](images/day1/image131.png) +3. 填写完内容以后就可以提交了 +![image133](images/day1/image133.png) + +# 8. 整体架构以及常用命令 +## 8.1 整体架构 +![image134](images/day1/image134.png) +## 8.2 常用命令 +1. 初始化一个新的Git仓库 +``git init`` +2. 查看当前 Git 仓库中文件的状态 +``git status`` +3. 将当前目录(包括子目录)下所有有修改、新增等状态变化的文件,添加到 Git 的暂存区 +``git add .`` +4. 把暂存区的文件变动,正式提交到本地 Git 仓库,创建一个新的版本记录 +-m 选项后面跟着的是提交说明 +``git commit -m "本次提交说明" `` +5. 查看本地 Git 仓库的提交历史记录 +``git log`` +6. 查看当前所有分支 +``git branch -a`` +7. 切换分支 +``git switch master`` +8. 创建分支 +``git checkout -b test`` +9. 硬重置 +`` git reset --hard HEAD~`` +10. 软重置 +`` git reset --sort HEAD~ `` +11. 推送到远程仓库 +`` git push origin first_notes`` +12. 推送至远端仓库的代码修改 +`` git push origin test --force`` +[需要先进行硬重置] +13. 删除分支之后更新 +`` git pull `` + +# 9.参考资料 +git使用教程:https://mp.weixin.qq.com/s/raSGv-aLHjK1HUcLZvQBeA +Markdown使用教程:https://markdown.com.cn/basic-syntax/paragraphs.html +RT-Thread文档中心:https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/basic/basic + diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/\343\200\220RSOC25\343\200\221Day2 \350\257\276\347\250\213\347\254\224\350\256\260\357\274\232TR-Thread\345\210\235\345\255\246.md" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/\343\200\220RSOC25\343\200\221Day2 \350\257\276\347\250\213\347\254\224\350\256\260\357\274\232TR-Thread\345\210\235\345\255\246.md" new file mode 100644 index 0000000000000000000000000000000000000000..22b95023b0c9a1e32a5ba3aa69dfa13b2c2dec54 --- /dev/null +++ "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\345\221\250\351\224\266\347\220\252/\347\254\224\350\256\260/\343\200\220RSOC25\343\200\221Day2 \350\257\276\347\250\213\347\254\224\350\256\260\357\274\232TR-Thread\345\210\235\345\255\246.md" @@ -0,0 +1,193 @@ +# 【RSOC25】Day2 课程笔记:TR-Thread初学 +## 1.裸机和RTOS的对比 +>__裸机__ +- 系统功能单一的情况下,此时系统整体功能没有细分为多个线程的必要,此时采用裸机较为合适 +- 举例:电动牙刷 +>__复杂系统__ +- 系统功能丰富的情况下,使用裸机编程需要用户编写复杂的逻辑去协调多个事件,同时代码的耦合度较高 +- 举例:机器人 +>__优缺点对比__ +>>裸机 +>>> 裸机优点 +- 在单一功能的嵌入式系统使用裸机可以提高运行效率 +- 可以使用较少的存储实现单一功能的嵌入式系统 +>>> 裸机缺点 +- 代码耦合度较高,复用性较差 +- 不适合复杂的嵌入式系统 +- 代码不合理时容易造成系统阻塞 +>>RTOS +>>> RTOS 优点 +- 代码耦合度低,复用性较好 +- 可以使用任务划分的方式降低实现复杂嵌入式系统的代码逻辑 +- RTOS 下的延时不会一直占用 CPU,延时期间处理其他任务 +- 使用 RTOS 提供的线程同步与信息传递会提高系统的实时性 +>>>RTOS 缺点 +- 不适合小容量嵌入式系统,RTOS 本身会占据部分存储 +- 不适合单一嵌入式系统,系统调度会引入额外的开销 +## 2.编程思想 +“分而治之” +一个巨大的工程分为多个小模块或者目标去完成 +用调度器选择运行哪一个任务 +## 3.典型概念 +### 临界区 +临界区的资源在同一时间只能被一个线程使用,所以一旦临界资源被占用,其他的线程能做的就只有等待。 +### 阻塞 +一个线程先占用了临界区的资源,此时如果其他的线程想使用临界区资源就必须等待。【占用临界区资源,阻塞其他线程继续执行】 +## 4.核心流程 +![image](images/day2/1.png) +### 里面每个流程的解释 +> startup_xx.S:启动文件 +- 指针初始化、内存初始化、系统时钟初始化 +> MDK、IAR、GCC:编译环境 +- 系统函数封装的时候封装了三部分 +> rtthread_startup +- 作用:RTOS初始化 +> rt_hw_interrupt_disable +- 作用:关闭硬件中断,防止初始化过程中被中断干扰,保证初始化流程的原子性(执行时不被打断) +> rt_hw_board_init +- 作用: 板级硬件初始化,一般包含串口、定时器等硬件外设的基础初始化,为系统打印日志、定时功能提供支持,也会调用 rt_components_board_init 来执行板级组件的初始化。 +> rt_show_version +- 作用:打印 RT-Thread 系统版本信息,方便开发者确认使用的 RT-Thread 版本,用于调试、日志记录。当打印出来时,表示外设都已经初始化完成了 +> rt_system_timer_init +- 作用: 初始化系统定时器(软件定时器或硬件定时器驱动的系统定时框架 ),为系统延时、超时检测、周期性任务调度提供时间基准 +> rt_system_scheduler_init +- 作用:初始化系统调度器,构建线程调度的数据结构(如就绪队列、优先级数组等 ),为线程的创建、切换、调度做准备 +> rt_system_signal_init +- 作用:初始化信号机制,用于线程间的异步事件通知(类似 Linux 的信号机制 ),让线程可以接收、处理特定的信号事件(如异常通知、用户自定义事件 ) +> rt_application_init +- 作用: 应用层初始化的前置入口,会创建 main_thread 线程(关联 main_thread_entry 函数 ),后续用户 main 函数通常在这个线程中执行,把应用初始化逻辑放到独立线程中管理 +> rt_system_timer_thread_init +- 作用:初始化空闲线程(关联 rt_thread_idle_entry 函数 ),空闲线程是系统中优先级最低的线程,当没有其他就绪线程时,调度器会执行空闲线程,通常在空闲线程中做功耗管理(如让 CPU 进入低功耗模式 )、系统资源回收等工作 +> rt_system_scheduler_start +- 作用:启动系统调度器,自此系统开始按照线程优先级、调度策略(如抢占式调度 )进行线程调度,系统正式进入多线程运行状态,CPU 开始在就绪线程间切换执行 +> rt_thread_init(main_thread_entry)、rt_thread_init(rt_thread_timer_entry)、rt_thread_init(rt_thread_idle_entry) +- 作用:分别初始化用户主线程、定时器线程、空闲线程 ,配置线程的栈空间、优先级、入口函数等参数,为线程运行做准备 +> rt_components_init +- 作用:组件初始化统一入口,会依次调用 pre-initialization functions(预初始化函数)、device init functions(设备初始化函数)、components init functions(组件初始化函数)、environment init functions(环境初始化函数)、applications init functions(应用初始化函数) ,把零散的初始化逻辑按序组织,方便扩展和管理 +> pre-initialization functions +- 作用:预初始化阶段,可在此做一些极早期的应用逻辑准备(如全局变量预赋值、简单状态标记等 ),执行最基础的应用层前置操作 +> device init functions +- 作用:设备驱动初始化,负责初始化各类硬件设备(如传感器、存储设备、通信外设等 )的驱动,让设备可以被系统识别、操作,为上层应用提供硬件访问接口 +> components init functions +- 作用: RT-Thread 组件初始化(如 FinSH 命令行组件、DFS 文件系统组件、LVGL 图形库组件等),初始化后组件即可为应用提供服务(如用 FinSH 调试、用文件系统读写文件) +> environment init functions +- 作用: 环境初始化,一般包含系统运行环境的配置(如内存管理优化、系统参数调整 ),为应用执行打造稳定的软件环境 +> applications init functions +- 作用: 应用业务初始化,在此编写用户具体的业务逻辑初始化代码(如创建业务线程、初始化业务数据结构、启动业务流程 ),是用户代码与系统的主要衔接点 + +## 5. RT-Thread Studio的使用 +### 5.1 常用工具的使用 +![image](images/day2/2.png) +管理器的使用 +![image](images/day2/3.png) +### 5.2 开发板工具与项目创建流程 +#### 1.下载需要用到的板子 +这里我们用到的是STM32F407-ATK-EXPLORER +![image](images/day2/4.png) +### 2.创建工程 +新建一个RT-Thread项目 +![image](images/day2/5.png) +选择开发板为:STM32F407-ATK-EXPLORER +调试器为:QEMU +模拟器为:stm32f407-alk-explorer +![image](images/day2/6.png) +### 3.配置好以后对工程进行编译 +编译完成后发现:0 ERROR , 1 WARNINGS +![image](images/day2/7.png) +如果编译完成以后有报错,那么把drv_common.c中的RT_WEAK改为rt_weak +![image](images/day2/8.png) +### 4.编译完成后,对工程进行下载 +模拟器选择 stm32f407-alk-explorer +![image](images/day2/9.png) +### 5.打开工程中的startup_stm32f407xx.s(启动文件)文档 +我的目录为:D:\RT-ThreadStudio\workspace\test1-stm32f407\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Source\Templates\gcc +在启动文件中,有系统复位指令,在此函数中初始化栈、拷贝数据段: +![image](images/day2/11.png) +下面代码的作用是:把数据段拷贝到RAM当中 +![image](images/day2/12.png) +下面代码的作用是:初始化时钟 +![image](images/day2/13.png) +下面代码的作用是:初始化操作系统 +![image](images/day2/14.png) +### 6.打开工程中的componets.c文件 +我的目录为:D:\RT-ThreadStudio\workspace\test1-stm32f407\rt-thread\src +当使用GCC时,会进入entry函数,在此函数中,调用rtthread_startup对rtthread进行初始化 +![image](images/day2/15.png) + +## 6. 如何新建任务/线程 +![image](images/day2/16.png) +打开thread_sample.c可以看见创建了两个线程 +![image](images/day2/17.png) +创建线程方式rt_thread_create和rt_thread_init +### 6.1 rt_thread_init和rt_thread_create的区别 +> 内存管理方式不同 +- rt_thread_create:是动态创建线程的函数,它会从系统堆中自动分配线程控制块(TCB)、栈空间等所需内存 +- rt_thread_init:是静态初始化线程的函数,需要用户预先分配好线程控制块和栈空间的内存(通常是全局变量或静态变量) +> 返回值不同 +- rt_thread_create:成功时返回创建的线程句柄(rt_thread_t 类型),失败时返回 RT_NULL +- rt_thread_init:成功时返回 RT_EOK,失败时返回相应的错误码 +> 线程删除方式不同 +- 用 rt_thread_create 创建的线程,删除时使用 rt_thread_delete,会自动释放分配的内存 +- 用 rt_thread_init 初始化的线程,删除时使用 rt_thread_detach,不会释放内存(因为内存是用户分配的) +> 适用场景不同 +- rt_thread_create:适用于需要动态创建和删除线程的场景,使用更简单,但会产生内存碎片 +- rt_thread_init:适用于内存受限或对内存分配有严格控制的场景,内存管理更灵活,但需要手动管理内存 +## 7. rt_thread各函数的作用 +> rt_thread_self +- 作用:获取当前运行线程的线程控制块指针 +> rt_thread_find +- 作用:根据线程名称查找对应的线程控制块指针 +> rt_thread_startup +- 作用:把线程加入到系统的一个序列表中进行一个调度。启动一个已经初始化,的线程,让线程进入就绪状态,等待调度器调度执行。 +> rt_thread_yield +- 作用:放线程主动让出 CPU 使用权,使当前线程从运行状态切换到就绪状态,让调度器重新进行调度,优先调度其他同优先级或更高优先级的就绪线程,常用于线程在执行过程中,想给其他线程执行机会的场景,提升系统的并发协作性 +> rt_thread_delay +- 作用:让当前线程延迟指定的时钟滴答数(tick),在延迟期间,线程会从运行状态切换到阻塞状态,不再参与 CPU 调度,延迟时间到后,线程重新进入就绪状态等待调度 +> rt_thread_delay_until +- 作用:实现线程的周期性延迟,确保线程按照固定的时间间隔执行 +> rt_thread_mdelay +- 作用:让当前线程延迟指定的毫秒数(ms) +> rt_thread_control +- 作用:对指定线程(由thread传入线程句柄)进行多种控制操作,cmd 是控制命令(比如设置线程优先级、获取线程状态等不同命令对应不同功能),arg 是配合命令的参数 +> rt_thread_suspend +- 作用:挂起指定线程(通过thread传入线程句柄),被挂起的线程会从当前状态(就绪或运行等)切换为挂起状态,暂时无法被调度器调度执行,直到被恢复,用于需要暂停线程执行的场景 +> rt_thread_resume +- 作用:恢复被挂起的线程,使线程从挂起状态切换为就绪状态,重新具备被调度器调度执行的条件 +### 线程的优先级、栈的大小、线程的时间片的设置 +![image](images/day2/18.png) +1. 时间片的单位是tick +怎么设置tick,在rtconfig.h中设置RT_TICK_PER_SECOND为1000,那么tick为1ms +tick以每秒运行一千次的速度去运行的 +![image](images/day2/19.png) +2. 优先级的大小规定:优先级越大,数字越小 +### 线程接口参数 +![image](images/day2/20.png) +### 线程启动 +创建(初始化)的线程状态处于初始状态,并未进入就绪线程的调度队列,可以在线程初始化后调用下面的函数接口让该线程进入就绪态:rt_thread_startup +> 线程状态的转化 +![image](images/day2/21.png) +### 线程注意事项 +1. 无循环的线程被执行完毕后,系统自动回收资源,无需手动删除 +2. 循环的线程需要有让出CPU的动作 +- 主动让出:使用系统延时 +- 被动让出:等待IPC +![image](images/day2/22.png) +### 线程调度 +调度器相当于指挥官,按照一定的规则,使系统有秩序的运行 +> 调度器最主要的工作 +1.决定任务运行顺序 +2.执行任务切换 +![image](images/day2/23.png) +#### 调度规则:优先级抢占 +不同优先级下,高优先级线程抢占低优先级线程运行 +![image](images/day2/24.png) +#### 调度规则:时间片轮转 +相同优先级线程,按照设置的时间片轮转运行 +![image](images/day2/25.png) +中断优先级比线程优先级高 +## 创建线程(代码实现) +1. 调用rt_thread_create函数 +tid = rt_thread_create("usr", usr thread, RT NULL, 1024, RT MAIN THREAD PRIORITY - 1, 5); +2. 创建一个线程的代码 +![image](images/day2/26.png) +由于创建的线程优先级比main线程高,那么会先执行创建的线程,在此线程中有rt_thread_delay延时,在延时的情况下,会调用main函数中的代码执行。 \ No newline at end of file