From a7b4dc49f20fbb05870dc35ed64605920bcd4bba Mon Sep 17 00:00:00 2001 From: lidonghao <15932785+lee-dong-ho@user.noreply.gitee.com> Date: Thu, 24 Jul 2025 14:58:49 +0800 Subject: [PATCH] LDH first_note --- .../0723/\344\272\213\344\273\266.c" | 74 ++ .../\344\272\222\346\226\245\351\224\201.c" | 68 ++ .../0723/\344\277\241\345\217\267.c" | 73 ++ .../\344\277\241\345\217\267\351\207\217.c" | 70 ++ ...210\346\201\257\351\230\237\345\210\227.c" | 77 ++ .../0723/\351\202\256\347\256\261.c" | 69 ++ .../figures/06sem_work-1753325238820-1.png" | Bin 0 -> 7928 bytes .../figures/image-20250724104757877.png" | Bin 0 -> 7336 bytes .../figures/image-20250724104827747.png" | Bin 0 -> 12055 bytes .../figures/image-20250724115906165.png" | Bin 0 -> 56023 bytes .../figures/image-20250724133550487.png" | Bin 0 -> 59161 bytes .../figures/image-20250724133722700.png" | Bin 0 -> 11780 bytes .../figures/image-20250724134251403.png" | Bin 0 -> 6964 bytes .../figures/image-20250724134335061.png" | Bin 0 -> 11732 bytes .../figures/image-20250724134354552.png" | Bin 0 -> 14293 bytes .../figures/image-20250724140001421.png" | Bin 0 -> 14817 bytes .../figures/image-20250724140205887.png" | Bin 0 -> 11780 bytes .../figures/image-20250724141055101.png" | Bin 0 -> 51693 bytes .../figures/image-20250724142612067.png" | Bin 0 -> 60511 bytes .../figures/image-20250724142758648.png" | Bin 0 -> 14351 bytes .../figures/image-20250724142824995.png" | Bin 0 -> 12033 bytes .../figures/image-20250724142852979.png" | Bin 0 -> 7394 bytes ...45\344\270\216\351\200\232\344\277\241.md" | 923 ++++++++++++++++++ 23 files changed, 1354 insertions(+) create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\272\213\344\273\266.c" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\272\222\346\226\245\351\224\201.c" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\277\241\345\217\267.c" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\277\241\345\217\267\351\207\217.c" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\346\266\210\346\201\257\351\230\237\345\210\227.c" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\351\202\256\347\256\261.c" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/06sem_work-1753325238820-1.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724104757877.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724104827747.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724115906165.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724133550487.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724133722700.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724134251403.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724134335061.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724134354552.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724140001421.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724140205887.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724141055101.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724142612067.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724142758648.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724142824995.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724142852979.png" create mode 100644 "2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/\343\200\220RSOC25\343\200\221Day3 \350\257\276\347\250\213\347\254\224\350\256\260\357\274\232\347\272\277\347\250\213\351\227\264\345\220\214\346\255\245\344\270\216\351\200\232\344\277\241.md" diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\272\213\344\273\266.c" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\272\213\344\273\266.c" new file mode 100644 index 0000000..4250960 --- /dev/null +++ "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\272\213\344\273\266.c" @@ -0,0 +1,74 @@ +#include + +#define THREAD_PRIORITY 25 +#define THREAD_STACK_SIZE 512 +#define THREAD_TIMESLICE 5 + +#define EVENT_FLAG1 (1 << 0) +#define EVENT_FLAG2 (1 << 1) + +static rt_event_t event = RT_NULL; + +/* 线程1入口 - 事件发送者 */ +static void thread1_entry(void *parameter) +{ + rt_uint32_t flag = EVENT_FLAG1; + + while (1) + { + rt_kprintf("thread1 send event %x\n", flag); + rt_event_send(event, flag); + flag = (flag == EVENT_FLAG1) ? EVENT_FLAG2 : EVENT_FLAG1; + rt_thread_mdelay(1000); + } +} + +/* 线程2入口 - 事件接收者 */ +static void thread2_entry(void *parameter) +{ + rt_uint32_t recv_flag = 0; + + while (1) + { + if (rt_event_recv(event, EVENT_FLAG1 | EVENT_FLAG2, + RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, + RT_WAITING_FOREVER, &recv_flag) == RT_EOK) + { + rt_kprintf("thread2 received event %x\n", recv_flag); + } + } +} + +int event_sample(void) +{ + /* 创建事件集 */ + event = rt_event_create("event", RT_IPC_FLAG_FIFO); + if (event == RT_NULL) + { + rt_kprintf("create event failed.\n"); + return -1; + } + + /* 创建线程1 */ + rt_thread_t tid1 = rt_thread_create("thread1", + thread1_entry, RT_NULL, + THREAD_STACK_SIZE, + THREAD_PRIORITY, THREAD_TIMESLICE); + if (tid1 != RT_NULL) + rt_thread_startup(tid1); + + /* 创建线程2 */ + rt_thread_t tid2 = rt_thread_create("thread2", + thread2_entry, RT_NULL, + THREAD_STACK_SIZE, + THREAD_PRIORITY, THREAD_TIMESLICE); + if (tid2 != RT_NULL) + rt_thread_startup(tid2); + + return 0; +} +int main() +{ + return 0; +} +MSH_CMD_EXPORT(event_sample, event sample); \ No newline at end of file diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\272\222\346\226\245\351\224\201.c" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\272\222\346\226\245\351\224\201.c" new file mode 100644 index 0000000..2a7cac3 --- /dev/null +++ "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\272\222\346\226\245\351\224\201.c" @@ -0,0 +1,68 @@ +#include + +#define THREAD_PRIORITY 25 +#define THREAD_STACK_SIZE 512 +#define THREAD_TIMESLICE 5 + +static rt_mutex_t mutex = RT_NULL; +static rt_uint32_t shared_data = 0; + +/* 线程1入口 */ +static void thread1_entry(void *parameter) +{ + while (1) + { + rt_mutex_take(mutex, RT_WAITING_FOREVER); + shared_data++; + rt_kprintf("thread1: shared_data = %d\n", shared_data); + rt_mutex_release(mutex); + rt_thread_mdelay(500); + } +} + +/* 线程2入口 */ +static void thread2_entry(void *parameter) +{ + while (1) + { + rt_mutex_take(mutex, RT_WAITING_FOREVER); + shared_data++; + rt_kprintf("thread2: shared_data = %d\n", shared_data); + rt_mutex_release(mutex); + rt_thread_mdelay(500); + } +} + +int mutex_sample(void) +{ + /* 创建互斥量 */ + mutex = rt_mutex_create("mutex", RT_IPC_FLAG_FIFO); + if (mutex == RT_NULL) + { + rt_kprintf("create mutex failed.\n"); + return -1; + } + + /* 创建线程1 */ + rt_thread_t tid1 = rt_thread_create("thread1", + thread1_entry, RT_NULL, + THREAD_STACK_SIZE, + THREAD_PRIORITY, THREAD_TIMESLICE); + if (tid1 != RT_NULL) + rt_thread_startup(tid1); + + /* 创建线程2 */ + rt_thread_t tid2 = rt_thread_create("thread2", + thread2_entry, RT_NULL, + THREAD_STACK_SIZE, + THREAD_PRIORITY, THREAD_TIMESLICE); + if (tid2 != RT_NULL) + rt_thread_startup(tid2); + + return 0; +} +int main() +{ + return 0; +} +MSH_CMD_EXPORT(mutex_sample, mutex sample); \ No newline at end of file diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\277\241\345\217\267.c" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\277\241\345\217\267.c" new file mode 100644 index 0000000..8c33a7c --- /dev/null +++ "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\277\241\345\217\267.c" @@ -0,0 +1,73 @@ +#include + +#define THREAD_PRIORITY 25 +#define THREAD_STACK_SIZE 512 +#define THREAD_TIMESLICE 5 + +static rt_thread_t tid1 = RT_NULL; +static rt_thread_t tid2 = RT_NULL; + +/* 信号处理函数 */ +static void signal_handler(int sig) +{ + rt_kprintf("thread2 received signal %d\n", sig); +} + +/* 线程1入口 */ +static void thread1_entry(void *parameter) +{ + while (1) + { + rt_kprintf("thread1 send signal to thread2\n"); + rt_thread_kill(tid2, SIGUSR1); + rt_thread_mdelay(1000); + } +} + +/* 线程2入口 */ +static void thread2_entry(void *parameter) +{ + /* 安装信号处理函数 */ + rt_signal_install(SIGUSR1, signal_handler); + rt_thread_control(tid2, RT_THREAD_CTRL_SIGNAL_UNMASK, (void*)SIGUSR1); + + while (1) + { + rt_thread_mdelay(100); + } +} + +int signal_sample(void) +{ + /* 创建线程2 */ + tid2 = rt_thread_create("thread2", + thread2_entry, RT_NULL, + THREAD_STACK_SIZE, + THREAD_PRIORITY, THREAD_TIMESLICE); + if (tid2 == RT_NULL) + { + rt_kprintf("create thread2 failed.\n"); + return -1; + } + + /* 创建线程1 */ + tid1 = rt_thread_create("thread1", + thread1_entry, RT_NULL, + THREAD_STACK_SIZE, + THREAD_PRIORITY, THREAD_TIMESLICE); + if (tid1 == RT_NULL) + { + rt_kprintf("create thread1 failed.\n"); + return -1; + } + + rt_thread_startup(tid2); + rt_thread_startup(tid1); + + return 0; +} +int main() +{ + return 0; +} +MSH_CMD_EXPORT(signal_sample, signal sample); \ No newline at end of file diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\277\241\345\217\267\351\207\217.c" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\277\241\345\217\267\351\207\217.c" new file mode 100644 index 0000000..b2017b0 --- /dev/null +++ "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\344\277\241\345\217\267\351\207\217.c" @@ -0,0 +1,70 @@ +#include + +#define THREAD_PRIORITY 25 +#define THREAD_STACK_SIZE 512 +#define THREAD_TIMESLICE 5 + +static rt_sem_t sem = RT_NULL; + +/* 线程1入口 */ +static void thread1_entry(void *parameter) +{ + while (1) + { + rt_kprintf("thread1 try to take semaphore...\n"); + rt_sem_take(sem, RT_WAITING_FOREVER); + rt_kprintf("thread1 take semaphore\n"); + rt_thread_mdelay(1000); + rt_sem_release(sem); + rt_kprintf("thread1 release semaphore\n"); + } +} + +/* 线程2入口 */ +static void thread2_entry(void *parameter) +{ + while (1) + { + rt_kprintf("thread2 try to take semaphore...\n"); + rt_sem_take(sem, RT_WAITING_FOREVER); + rt_kprintf("thread2 take semaphore\n"); + rt_thread_mdelay(1000); + rt_sem_release(sem); + rt_kprintf("thread2 release semaphore\n"); + } +} + +int semaphore_sample(void) +{ + /* 创建信号量 */ + sem = rt_sem_create("sem", 1, RT_IPC_FLAG_FIFO); + if (sem == RT_NULL) + { + rt_kprintf("create semaphore failed.\n"); + return -1; + } + + /* 创建线程1 */ + rt_thread_t tid1 = rt_thread_create("thread1", + thread1_entry, RT_NULL, + THREAD_STACK_SIZE, + THREAD_PRIORITY, THREAD_TIMESLICE); + if (tid1 != RT_NULL) + rt_thread_startup(tid1); + + /* 创建线程2 */ + rt_thread_t tid2 = rt_thread_create("thread2", + thread2_entry, RT_NULL, + THREAD_STACK_SIZE, + THREAD_PRIORITY, THREAD_TIMESLICE); + if (tid2 != RT_NULL) + rt_thread_startup(tid2); + + return 0; +} +int main() +{ + return 0; +} + +MSH_CMD_EXPORT(semaphore_sample, semaphore sample); \ No newline at end of file diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\346\266\210\346\201\257\351\230\237\345\210\227.c" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\346\266\210\346\201\257\351\230\237\345\210\227.c" new file mode 100644 index 0000000..3c27d24 --- /dev/null +++ "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\346\266\210\346\201\257\351\230\237\345\210\227.c" @@ -0,0 +1,77 @@ +#include + +#define THREAD_PRIORITY 25 +#define THREAD_STACK_SIZE 512 +#define THREAD_TIMESLICE 5 + +struct msg +{ + rt_uint8_t type; + char data[20]; +}; + +static rt_mq_t mq = RT_NULL; + +/* 线程1入口 - 消息发送者 */ +static void thread1_entry(void *parameter) +{ + struct msg msg_send; + rt_uint8_t count = 0; + + while (1) + { + msg_send.type = count++; + rt_snprintf(msg_send.data, sizeof(msg_send.data), "message %d", count); + rt_kprintf("thread1 send message: type=%d, data=%s\n", msg_send.type, msg_send.data); + rt_mq_send(mq, &msg_send, sizeof(msg_send)); + rt_thread_mdelay(1000); + } +} + +/* 线程2入口 - 消息接收者 */ +static void thread2_entry(void *parameter) +{ + struct msg msg_recv; + + while (1) + { + if (rt_mq_recv(mq, &msg_recv, sizeof(msg_recv), RT_WAITING_FOREVER) == RT_EOK) + { + rt_kprintf("thread2 received message: type=%d, data=%s\n", msg_recv.type, msg_recv.data); + } + } +} + +int message_queue_sample(void) +{ + /* 创建消息队列 */ + mq = rt_mq_create("mq", sizeof(struct msg), 10, RT_IPC_FLAG_FIFO); + if (mq == RT_NULL) + { + rt_kprintf("create message queue failed.\n"); + return -1; + } + + /* 创建线程1 */ + rt_thread_t tid1 = rt_thread_create("thread1", + thread1_entry, RT_NULL, + THREAD_STACK_SIZE, + THREAD_PRIORITY, THREAD_TIMESLICE); + if (tid1 != RT_NULL) + rt_thread_startup(tid1); + + /* 创建线程2 */ + rt_thread_t tid2 = rt_thread_create("thread2", + thread2_entry, RT_NULL, + THREAD_STACK_SIZE, + THREAD_PRIORITY, THREAD_TIMESLICE); + if (tid2 != RT_NULL) + rt_thread_startup(tid2); + + return 0; +} +int main() +{ + return 0; +} +MSH_CMD_EXPORT(message_queue_sample, message queue sample); \ No newline at end of file diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\351\202\256\347\256\261.c" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\351\202\256\347\256\261.c" new file mode 100644 index 0000000..10503bb --- /dev/null +++ "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\344\275\234\344\270\232/0723/\351\202\256\347\256\261.c" @@ -0,0 +1,69 @@ +#include + +#define THREAD_PRIORITY 25 +#define THREAD_STACK_SIZE 512 +#define THREAD_TIMESLICE 5 + +static rt_mailbox_t mb = RT_NULL; + +/* 线程1入口 - 邮件发送者 */ +static void thread1_entry(void *parameter) +{ + rt_uint32_t count = 0; + + while (1) + { + count++; + rt_kprintf("thread1 send mail: %d\n", count); + rt_mb_send(mb, count); + rt_thread_mdelay(1000); + } +} + +/* 线程2入口 - 邮件接收者 */ +static void thread2_entry(void *parameter) +{ + rt_uint32_t recv_mail; + + while (1) + { + if (rt_mb_recv(mb, &recv_mail, RT_WAITING_FOREVER) == RT_EOK) + { + rt_kprintf("thread2 received mail: %d\n", recv_mail); + } + } +} + +int mailbox_sample(void) +{ + /* 创建邮箱 */ + mb = rt_mb_create("mb", 10, RT_IPC_FLAG_FIFO); + if (mb == RT_NULL) + { + rt_kprintf("create mailbox failed.\n"); + return -1; + } + + /* 创建线程1 */ + rt_thread_t tid1 = rt_thread_create("thread1", + thread1_entry, RT_NULL, + THREAD_STACK_SIZE, + THREAD_PRIORITY, THREAD_TIMESLICE); + if (tid1 != RT_NULL) + rt_thread_startup(tid1); + + /* 创建线程2 */ + rt_thread_t tid2 = rt_thread_create("thread2", + thread2_entry, RT_NULL, + THREAD_STACK_SIZE, + THREAD_PRIORITY, THREAD_TIMESLICE); + if (tid2 != RT_NULL) + rt_thread_startup(tid2); + + return 0; +} +int main() +{ + return 0; +} +MSH_CMD_EXPORT(mailbox_sample, mailbox sample); \ No newline at end of file diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/06sem_work-1753325238820-1.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/06sem_work-1753325238820-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..d09ffc99ae8bbf2bfd859307db03191867f33e04 GIT binary patch literal 7928 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 Y(I!jb6+JRTB-%(ya;mab0MpR_1=X#wJOBUy literal 0 HcmV?d00001 diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724104757877.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724104757877.png" new file mode 100644 index 0000000000000000000000000000000000000000..c0a56a07b3618c7781e749b8bcb14ee0f9fe1bfa GIT binary patch literal 7336 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%0A++FkHZZ}64(7S+^WWl|XH_KIS91#+t9IiL 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 literal 0 HcmV?d00001 diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724133550487.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724133550487.png" new file mode 100644 index 0000000000000000000000000000000000000000..d7223627aa18d89b02f1d049e8d142bdac92eb90 GIT binary patch literal 59161 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 z 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

1Vnz3bAG)tUGox)3z6u$ zeCq}<_BIt&fh4#?L||zOIo+5}eUdJHlC7p-9hL?Uh7eFmKM-DMX=!=bka$2mumDE- zBSmc5wQ~b>`j`B0h$26+yWaQ8WtG?_`YBlR!mz*tuC})Jg|Cg6m{^|Qr6ECp#&5b2 zYZeN5=0a;G>TjGAGkUTJOmdhDR#O8a%J0E3Woig1}(-ULH)v2zX8Ts0m>~2Tc!tiS>arVJnLPB3yN-`PGZnGhzR)0`?Zv5#NP3Z<-)JOLZQ8yt zIf*cd#NsLA5zaYmzgiIqc<{~Hy!glefRyom`G*~WR3-YF=Z;bjZGsY)HLVaRhc4jNY(@7#$lUK&b)z_}Wk$ApQyzqkx;VfJpf( ziOCi78ViZ`Wnx6V`hNpT=;OEshb`poPY#SW75TnkAB7n@tb0g5=dqdJD@G=KaITV(a&mDWzHHY(qi6pwgPFy^_kZg zumOHC|4?9zZM3iWi&%LD1qHk3B6GFHbUm&5E5cPi*52Nah3cRmXh0Yw(O3Kt5P3LF zA1_#Ys!JVIjOUj(ACFs`n#T@J9IXn_LAJ;=MgNxpo6&d9&O6{f1oxLZT%jRwdXl^UUdbQ0*nzN$Qd<=qb4@vjbUf$we}^H!UL VCJ$u}0reB4B&RN0C2bb`zW{n2jwk>C literal 0 HcmV?d00001 diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724134251403.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724134251403.png" new file mode 100644 index 0000000000000000000000000000000000000000..6e3c32663186a0c4e47260eb6cacf64aab9e7296 GIT binary patch literal 6964 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 K%9qQTWBvyb;U;?k literal 0 HcmV?d00001 diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724134335061.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724134335061.png" new file mode 100644 index 0000000000000000000000000000000000000000..68ff8a84d76786bfdaa382f9117ba882b8afec3e GIT binary patch literal 11732 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 literal 0 HcmV?d00001 diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724134354552.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724134354552.png" new file mode 100644 index 0000000000000000000000000000000000000000..94bec541f9b140f5be56ba692b1cd06f74f99d02 GIT binary patch literal 14293 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 literal 0 HcmV?d00001 diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724140205887.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724140205887.png" new file mode 100644 index 0000000000000000000000000000000000000000..0b2b490b2e2a71eb1d0868aa5ee5f8bb1e49d1b2 GIT binary patch literal 11780 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

1Vnz3bAG)tUGox)3z6u$ zeCq}<_BIt&fh4#?L||zOIo+5}eUdJHlC7p-9hL?Uh7eFmKM-DMX=!=bka$2mumDE- zBSmc5wQ~b>`j`B0h$26+yWaQ8WtG?_`YBlR!mz*tuC})Jg|Cg6m{^|Qr6ECp#&5b2 zYZeN5=0a;G>TjGAGkUTJOmdhDR#O8a%J0E3Woig1}(-ULH)v2zX8Ts0m>~2Tc!tiS>arVJnLPB3yN-`PGZnGhzR)0`?Zv5#NP3Z<-)JOLZQ8yt zIf*cd#NsLA5zaYmzgiIqc<{~Hy!glefRyom`G*~WR3-YF=Z;bjZGsY)HLVaRhc4jNY(@7#$lUK&b)z_}Wk$ApQyzqkx;VfJpf( ziOCi78ViZ`Wnx6V`hNpT=;OEshb`poPY#SW75TnkAB7n@tb0g5=dqdJD@G=KaITV(a&mDWzHHY(qi6pwgPFy^_kZg zumOHC|4?9zZM3iWi&%LD1qHk3B6GFHbUm&5E5cPi*52Nah3cRmXh0Yw(O3Kt5P3LF zA1_#Ys!JVIjOUj(ACFs`n#T@J9IXn_LAJ;=MgNxpo6&d9&O6{f1oxLZT%jRwdXl^UUdbQ0*nzN$Qd<=qb4@vjbUf$we}^H!UL VCJ$u}0reB4B&RN0C2bb`zW{n2jwk>C literal 0 HcmV?d00001 diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724141055101.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724141055101.png" new file mode 100644 index 0000000000000000000000000000000000000000..2518d156e42710fa73965c4d85504340c782d225 GIT binary patch literal 51693 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

X$yi`M*Zf<&L+0zsMpta0*5j3Y%idk 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%0DlCdg$EOe)AEY)G73S@WZv| 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 a*fBW9iF{3v<1{4tiVMpKW&EP`^nU=Ww}nFh literal 0 HcmV?d00001 diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724142758648.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724142758648.png" new file mode 100644 index 0000000000000000000000000000000000000000..18a31af8d7e918aa5a12f5e2e580e7fd32a1959a GIT binary patch literal 14351 zcmcJ0WmFwqvu5M2!GaSA5IndB2@>2PIKc_-?gR@GJUE2l7Th@yf(JdgySqELdGGhl zy?55EHS=fo5Ben3hL9tMv(8OK61lEcGgS(n%Xv!ax2N_2>;xeGwC*Ip97V7e)|=`WZe-uyWTQ zEjA0=wS%TAj7zgyA?JHOGwmEA9E`AEB-4OrrKxNk&D|B>&3od7MyCzv=|rp35!uA{ zHa%r9wirE+Ug8eo^CycM#en{j%Mr&S6YkCp00K zI+7CHzKL;$PB)!)QD(7uMvCDKT$1Jl9t=YgGzz8@efqvFWR+5s30-&+T~BPgq_5a$ z?IQ_g>~Y1AnK?Dhn_w)6=@)goMmV7~ULMS9YWCf|-n4`*r4du*zvYWB z%PC|zDsLmEIwS#re_KD*Dc%R}+2Z(C?{h8jxBz*zEh24Ab`O|fY;7X8UMI9Juen-W zc^D-lFN_!8{PSF1FC$UL4HntO?B-0?2>f+c!>^h%i7HeoL26Ah)x!PdI`whYZ4QP$ zDG&J2j><)lNyhrx!5N_@CIW}>CCOPUHSj`CHollaY&sAzOg3rx5_0B{_y+MZ#Iw3to3@p5A$n z95~IiTa*^Vq{i9whe4RwH0*h6)YSoi2H-MwgICj7xGwbgTV^M{tm}L1;uaKj7Bsql zaf zveP!@{G3~i;y+BNQ*UTfRv8&pGVo}7j6nNHtK``7Q<|FuXt(+CAc-RqT^_a}K|oVJ zLEPjwGzRWB$)bI?Y!m36j4#f0Jy=G%`l5vta;w zRM^Tvv^*a9Pm$EYBcMqdzpQqh>{u*d)D(YO-FhwmVo5-+-2MGt({!qqQ+#5bbW3j_ zXbsEHr&$UX`Fh>n7VFBs5-&t172Z%{3 zzxjqx*%^jLJZZv>OLKOdjIVm%vz`;!1*Y5}Q*mZ}`nE;%%AS^u@hV<6m6in($E&{1 z$-PL`6R83R_sjs4A8=7ibg)4Axr_=JRyuVOIlx+?$eFMw#qU^JO94()3 zv@CZ#{yFek9t>vx-fZ*(q*DB$;$!El5zV)w3WcM4@9W1OmaS|i>SI#r?jB3GvjbE# zdR^S!C&CeCQw0<7qMwpd-|2|*5V-i((@2OLwyo%DH zENAXmtwHffg|Cabm-1TMn6M;tmhLX6IZ=ZvVZ25_9Cd!^F!j>4kjRb- z3>3MBY8?gT&7ZGvbpP16NX~!G|L7FI$jTTriDx%juVJrZ;?N8T42EI`uCT zebB*(VLa_5qXT}~$a+}A4s(H(NLufs(j93uih=T~8pABA`azW-|1Q2(1ady21$%Yr zbh#ZHN<$}!m<3fQxd%(EHO2zh!CGSxhul0*7rrufu?d5bhR61%r^RRzJnRiXw@&L&_dcYSA`N?=~k{wZyl z@~4PF3?r5|o~vcN4Bk7x5@E^ntES1DMUqA#Hb%*Pf>JdV+*^JeKiDC)6==OwBy26NTssvQNrhD z6qRnyE5fnG&fpRG#E_{HI_;}S{<;3|2a)6RK^6Mx8#Q?4Lk}XQ3dZjL)IcS7X!-dw zF**5=Gh>yQbupfl;thn2NSfcr+$ORC0bC2~)R!)F(BDkQcagoUy+jTxTSEZahS20@jE^J`r`B zp#i~uBud&sKt?8OD0V6axGmEc8VSsZ-?~*aE5JkF9wv8xW2W$jxZ!ty4Ou8+^%NtI zXo*2|nc^z=1m60A8KqBXU2f9xd`&FbANBEC34H1oUquKGsHk4eKmjIe4u6k+UNteP(c} zSDvkl%8e-A0oMiB9rO|U6}>9qXD?C^d4M!7fDd3UrjgPL z05uA9aNrCSL}oWu)WItLLXN>z2sqzSkq1AGBp3;Iw7!FZso0o&!FCi~ci{ zWv#lpvqkAVpkW?mD)w8&dYhTi(=vdgNc+9sWn3Jt&qOeW&ik*u-B!^p!~(tvgkA2; zMqQW0WQMF{IoA2aWMqTRBqQgAYQ<<27p6`4DOdB=HcuNucl#W}W=&Kex=Bw{4-0*+ z^_;l40YOQlq567AjtAx$bb##H9 z2&qgu?=WHuLPs?8T{-F7dC&_i7ICi8M7kT)3iW5KUqpRC2v_;8sD-;TzZ*QjFMBWMpMki*iaz_6(jb44_l5f*o-$|6QxJVavCv zd!3RrhRRB2#FgKIC5${u=p^9}&<ghmo3Z&*kXaBV`zWAOrx5qV6%Wb#b;)->*zn&|bZ8 z)yBy946%9IS-Y3`Gn`zGqNt&!Cg+l^(LzLb+@mMHg}% zWe)T*^)dYQszDlT;M;>Inj#DUI)5ltJ}DzV6D1s=)Y54LP#R*dxz$Ryqlmx(Kpp}F z9Vnfl5P9sBbcjFD}{iJ_~AwjF7D$2G6X%xi^%&F;f408`_2p_i_9V?p$ z-0vr&rJ;bk!{#HDY#F#LnbALngxwFVy+yDFaI;klH``EG#T2jnR1Be6PYA zV1$tcOzM{%`F)g39gatR9Q!sa9K#Z5kU58;{8{0jbUnZF6(1>7wtRpioTZGI+<_BO z7J)BVTSbedaJn&Ie(?iL ziIK)|*2Sy1oZp9owaW0+x;;^00|yj2);d2z!y>LVhrXc0Zi27H$lCH13QTUVsyG{8 z$B#td-195_SR5s?_IvT|7h>%PS9}?fFN&G;7p*CS!57)Z>0Nn4d!x0jTtMTe>D7OY zH5{ra)cADX6O-vG_)xR9^D@2U&&?F%@dA&BMieJuRebpqfe6s>9rrmxt*08y1I1 znLPHHd2YXw#nlVXRzYSI?zBNOBchNs_!bFro2Ion2Z8z6ECn}Z_xbzG6Pr_#Hs6OU z`6UYZp+={zSHqwO?tsD9Vm_Q%;d5Zc(abM~Y#PpKi%dO}&Yv5Q?=h;ZuA*WZwqve} z2W+F`0kOQ`qdPXBnlDRCJe-|Z!}z+qTJ@_5oH1ix2V=w5G#2;2IyKDgd6k9VnhS1@ zg zm#FFYP7MmK5-MB+QFn1#gIp9cH>67?4?4D-gp4hXYdtiH_#((@Qk8wpJL=$suGl{M z>f6mkg)jcgl?F@1LUiiU&v1;TSorupld8rJ%7`DL1iV8Sh@*QWjl2PX zKg|ab0^-{dZkM5vdE-yTh;t(mx(P zK0=c2j-0g_$t*6DpSumj$;FXPGw{sIUc7=~j$n!fO?|Z&X;!WI6L8lyv{09jmX=pf zRJJk%H>z!gKBz<&+*?IzKco9DtD?D?1jzpRGr!-6`xhR9NF^c?S>~NW<^8mn)1vjd z96H>B=K#GhH<$jUTM$7Q(*VFJU%ja8+v2ga#KKJ{@Ah?49BFNlR*{pA z#s=h?qGaFpzL5$47_o7K(%hufqB)6r2w2qS$m{tV%^YjtNhmX=xerWSqfGMCAq%5VPbw zqZD@D{Z5Y^fO(XY*Z<+pj3Pm+<)-PKW6ht|?{HxDr} z@wR?Of}T%~yGCb7G}gFM}xbD`#>{{%CKjG2@rX6A<> zvmgZs%YwX2wNK3b&%8#*AHeV;!L-QTv z2kW?b6F#`WPt}dpbDIk>EfzG*EJt(jfGEJL{V*KU;@kMN(8Pt5CmQXeg|f4ooY~~= zLE(O>29K%V(n1^<$~bw*=i#wL>mMIV9tu~XTdLzzWh;LntA{ioOXc418@Y$&$}UjU zVNEDW%i4GHcEEr|*hTKIGb8&E51ql?8d7J9Edq#_(@cmryIiAKtdEP8$!?`E{(%^F z>3)Q}t~FUf5w#|ovTxe68=kgF3SwC7(D7}q_UF_v)3k4SV1RaJ1d{B71z&oftC2PP zguBc z93BaP7*3IGs6CZZnh?;dlJAf`l_#@5F3 zxHvzj$C^+onJ7@q8X6erM9P2W1AN~IJ?w{K38g<^$=~!q7MhMudh+kitINw-YPI#$ z)HvCnN1S?2w4$);GIUt!)%7_?O}5FXNqs3Urf;pb5GUulW8?Vei^(z_DM?BDZc;FY z_5(!U)h04(5=TjH)W)s$M3bqOOd$L-hz>y4XGae5rY$Zh>8zOee9_+Cz5^|o`0T=a z^h~5T28d=N_B-=!TpS-CSD6lguRcF=*nDEp1q`Y)#X2V8G@e(Q4Q0BGDk+8&Q0SUt zBO)Rq`}8mMsjUJP%6m(-N}6GrDmnHI@M#h|f7g5SC|WOhtm=eYCZ zpHW_3-qIqtk?EeY6sN2=m1>K#g0CQl$GNDtKAJpNP-7YJ+ZR=>}KgB>o zTgi-kJ(^mIeXdI`PP>eSg$3kMCrVtNPC`s9gEs+s-QHA% z-^v%lxF>?xQ6l_!2PdIj2@@gZ*VHk8G7EJXi{lEZiKZ>y%{03m8OI1E?Pz2pY-K&} zWRYTq%H*jm4tbOD$xxd%>FVq2gR30pyr!0l2EFlpnFa;F^LD84{ioBtUSlVoL#;m2 ztiwiWf)9>0lsLLl(YPsVF6&v|r+uI;Hcumv_1qR*H1+VC_@d(%s>Ifv`AikvlLxri z*^M}fm%NUIOc`e=9=4_IAP<*0??dBCRi*zlxMja^>8Gn;kl}THaWQVZBsmcjvw`ByBR2yh%?1zpjn(AF3VGhUyN;%Fh%_j(h$yRF#PYh$Lm^+UJm zT-d<-MB;QqdB|fq0EtDfDFFnQgafwT>e)zDZ|%L`1%iyWJ^Yuno+cDRm-94f3El&C z*S8l-47VC_LXPRRnO`&ASHqu=7E*uFcTcaOD+-RI9zVsqepixdvEO|8%$rC?6`YSy zZ;=uDBk=gQluzu_4;cj&MKyA|vmnY*m6`^xF1azo`4apbIaJTU4jMGixHsQTY%I*! zdPm{o|Hgbxf1g~~P6Kz*uT@#{ckL4Lb^s^UnA{gdn4rHS8g7t`JSL;QCu%3V$Cg4s z0kf2~S`i=GfoY3!B<&OwBz@11j3|_Ol0_`)rIjMIFxZO-Y9hG>1qCI~!>T_nygM(~ zk@GXBz^Q??x-!QKwPJV~pEAd*_;;i$yb;k#n+OMoi)1%HXKb(FsisF=H;)f(=4L%% zI34<3Nv9VkbAINAFtp@4%BG6}0J#@E50?&u+qxCd-kHoC9)Bl_1u>CM5h6OD79wxX z*cwP;(o*T}xxvRdpYHM1g-@I6d2+!%pY~`g{bw|$02bY;1v#i|zB%ckSH0C!AXo@p z&Bw2XT*foaW_EZUt}CWg{T@f73?8GgunX}V9hpbJK;+RxOpLN?MIaNExACyvM>rVt ziAv@lcz*;8)i{{iD7|r=l*Gr3;|6d5fD`W=0fuwqVpZowHRpCEPxGAT*-{gY1t91{ zT12>KWwm!U&~O5;;R{Q;{pEN6@5P1CyFytpK488Q(k3`mKbkOwx=~B+8$LJkCLw6d zW6EOFI55;OM$iic-PYsZX#Gygoe2k%puFP4Su0j1nfrFVISuO^77)Q+&2Q+jJ(^a@ z@)OyyL=wuR+*we5GQ^&AYHSP^2*sipTCSb|%VR|g3ldbcvonlwf+#atAxqo*-7nKDbs#WaaJf#p z9fJn__}z|;h~WIKR9U`}8R<=bf2Swl~_ekdn?jk5Jv04-hp>Fj6?wO9Cj@ z=?+_l;XpP@A4GKE7s%yM+%F>m$J@CvW_>}=>kP?n(ZJ>xKoBh~V`fD{etr#Dc5Aff z6+Q4m-cANo-?H;Hw)gRZZ<&cHN6K)Q8l&FfuSOu&^w)db#DNgnV zVC1lP*!Y+lJSI((dyI7Qyl+)n>TnAdIBiY*(I64rhWWOsrANQchG)JKuCUVgg1~}> zaj(p~go8ah=yJ2IyITg9c>5UMic3^6wE5t8rEanAx1@5|&bKMoHVFhSpd-4j|8{7W z(!gv=d?|A(VQMnz{m5D+Prdr28!TXPdKLr#9c}v4af`xw8tvpB1jxe+JLqrUirD~wps1-Z7R6l2MMfsRMqdDWM(eqC(r?o4jP za4;JiRt2NOLr6$yYdDLCI4Z>!SA!u*GyvS8j?(uXtOt)b&DKdqF$gS z+Tn2NbXOUu>I-lqwAL-QJDHl==l?nxoBqjze3=1*8rWfoEs{H$;HF=Up-DlyckDGE z+CeG8hFlwn?NKy4RA1*FD2nVEs8l{G!e(Iy#vGkO8=UE0lTGN+w1M!Mu;S!z%3+!f z4_%3WMv5((7;-?qw=5WXWKm+jaW`sfV>dwXoNJhl(!xD}{CGns{)>kqEZsYw2@`6u z8krX}g{v(}P@x}{FSuGL$?#+ME7Y4a@6=Og6FVQz3t~`f>cOmp zeh|!@-M|cmT-aCeba^O4AYRcSn1FaccK8cO{nTn_l)pA{kI@ad>fI_SRJd_&UYn+t zLK8KKA)SgH{*jYIWy&PP%8Er8NS#2Fr%LYob-^K+HrZHIfkyOIimf=Vq@-jtDc=|r zn!7)qw6jT>VEmf|w`5{Bl-!dZIw(qCGDy?=S|M-s=Nq)Qs!8FYAH-HmX>F~7WHax* zalP27oKhb_#G|IB26qA0PZ^y9uQ>gJ1vaM1q%34OP#m>2Ret2Y@a84>S)+g@(ruiG z92tQ_yZHu`+HiS6#uk(hdK}Qro%l!?tWW%4Khz->jv~N=+$<55?aNi}(a~fW8P_gy zHRARnwMdaLnh$Z5_M{*&LuA`s31XLJ9$K6A4EsDWS&rKNVk=4W8uDx7+v-V_SeSOp zwfleQmFA!MeN?9_5BDZ%eKyWS7BVH!fH^a0YLu-TAYx@7c{-4Erde~%mrW0h zMCcRH3>9!xJFqZ0Xjr&?w*=sLeX^tORK+geM|~+kj-BT&fog6XpW=bKRuQ{g3&<>` z4eUVsa$g}(-pIpLcm6#yBQu8OUpWj$d1JiOz$sV{4;v5?5~`AQ(CB$lO!xG#WbSrlM391VlBb;y%f`MJTdNB$sFk zVc)~~M!9;UO?1T0CYQZ@CT=i4ub&fs;GB4RY2ME@rK_r=lO~6>zduuLdxiG|%}9Dy zA0~>`i^jh>f0HFOzJT%9H!vOF5w+t?lZb!~S5@bnj%?v2XsuD8$nH2us#!(~qE``t zee@SKSqrAln}8F)^bMz(E^T9wvep90-Rk%7T5%nw7dkCQEv0mU_)Pjq9|8w=$3gOU zRXqQr{?7oXn0jJ*)Uf4oofhbzgQ?{;mfv-!Wo9V*eiYB*b&1vZJY-*{G7~9MM-}B% zgp%!i<>*S#m$J)j-|OdFY~*#BZxq6ZZRUGE{14+OZ&4se`zLFV{!>anF!6Rj%LKO{ zviNlHC2QaJF7L@tmRmo;Rz;1;al}4Ly3IJdcmK@8YT%C0OeXHb$wci%cA1|7LtWVG>8anysO=J zZM^5t?TsOv5(UCE3UXmg{QXIf@0yx*hGX&iFFNatv%h|u;{Gw8nNYQpbsr;P?}Z?b$~!S43aE2xjKywsOX?`gsPaeCNO z0g`I;x^IcPpvKd{Q0yuNyKi$`=LgbX7j4va|A8WCN|ae<9^j2p6Omu00U5Q9{@_3f z0~r$eqIh*9YIPZ1H|5VVw9FmLJ468Z)GL~E2St5qD3o@<-D0l`l7*!VL}M~ER*M8c z?OI7&&xB7hPbJ0LHVvX~cjDQqpP2*?vgjOd(K{tH)4sDOMZW=?-spq!-_Ar$20**n z&^y&?>NE<~Xyf~K;q=nu{*aBNmWZIiyr2u%pQ?|E?w8NzsTvRVPkMM)AdjueQh0OeFEsaCV&8yQMUY4MllgoFG(iJgoQ-Yw0*3k)nQxOPzZd)oz40j85R zw9Pvuf6YMYmYXEZ!A=FP*Vnv#d08vP35L~Ef-+Fn8~{e7hMnnP3LV1)k&WGoYniap z`-|gmPT0j^4LxEBc+)VPm&bYd#53b~69;(tKM|!H!H6IN5%_~JA$7ZRt$5gls8MrL zdOE*un3IZu5s+b59Eh9Su(olzP4|>N|K&S9GNSaKY=gf3qVuCI$cBtqr%1-6uS#V8 zppQr`?UaGdo`S_jab8~KRrqEiY_XOpI`6AzGNn_H8;-|Tr*ltBE7&5hEW?_)Dxu5? zY)3uQ+HJ(f_Y}BPx5Qt2VS%o*w@w=%_|}W!X&v7M7P{lDJd6y}?=wy5L0(+c+q0rFK#L9DBEj@ylS(VDfJi5;tSbsbqe77sBDF{+F zesO-5jqqYcybh~>VyUIfayO62n&hTqzmtpH#Vp+SPrxyp9%54&Xovq3e)ROjv?CrQv|o)!`6^$?lX2Oa*8s zq1-YhkW;ukma;YoM~6!!P5^wY&XYES5wSvd8-BAW&@YupD7GUs98aXJBaBNYZ(hex)dUobN6Vc1ju?&+@+;ryctJ@f2>c zklW%;u-eV^Bdc5Rc;{`%1QCK@TD*@R<*7Y4Xz?39eXwlV|89Mg8g%p-i=0VQhP}-3u^y^_$RRu z=<2m}w4RcsBLV=(Q72Gs8(tq|#y^wuWknV*(J??;3^%l2k(B3hUpYF`MZMXTS-aYM zR6%y_`4%l(LH;{3=>AP=2~T3Eu@@J6+n1Z5T$kl%6FW%BKL zJnfqc&sCcbgUSUpMadU}{G6Pev#nt%vcCfZU+pWs&-C?>d5#=qe=I2Z&TqbI zYij?U0vw$V=8{Ui@!-Bs`2Is`&>zT(pD<@u(;5f5qv4D+U1}H44NW5x7%t(lu{gP- z-*-a(>h3S!BvfY57Z@9a3f#t@m*tB2oa$evUyL3>o_q_SH|=m(r8@PPYu*7b;6?j3 zKX`a}fWmejW!~{k2&a3Fw7Gn$m&)R+MzFDb0_kmQc^mVg# z!s5YyG5?9SSNj6fV-=BxODex$W)}}a$K0@lFp>0U;DKKt%Z@lOU6JHA45v=m^o3Ml zTd1D>oJ**TRfF7m>hHo;`U?)!Q$9|9R3KYr@b(Ls?gED7f)z}=`R?p-JF!v=&N2KB zal~==3v8xKLJ~JOIsL<#LL|{==lZZ45nvC1Q9t`iIyn(hnBcSW1O^jlwXw@T`pb`8 z3#EDYm<>*mN*Kd$*D$C*P@NC7YtAeIcLvVUzhgx8nfq@^463cBWYgw!HnrRYOM>nd z{cZ!laU8X7X;-axS5<|~G%G184)^wcaBw);*E5Qih;koxUl;7F#(l6=idMWSG3vf~ z5KeyVfvz-eWqQTEx$h!05N}goz28i;({Em>TdxQs$Udg@<`!>Q9TdS9k)|Ea)cbYR z699r&;Dzqf-dLT$9BziX=kclPY?4kx(*(946QY~_hSSXE%MW)`q+=D{taoJ^C0nWyJ*oeTBkf@( zy)scRO@jBoTJn3Uoznj*=m?fDzI!@LyL(yPhy!SHBl>l| zJo|nnPO?(l5@lxhhBlY38)IAdH)miOJM&`2*toY_2tWDCCh#BmggFSZ__TSY_mGZw zOFh7Oh&xl6xveUY+^I@P;YnDN2aK@deD7Eo;9Gf{ zt=AisMk|D|NQ8kaD=ThGK5j{`ysZ<6Tv_~NUOpbo=E+^p{&($0%GSpF9>afE!hZj> zO&$ON`QIAO@)@!JU?SK`$fXE3uipZrAna?tz)Yy~pEt~M5p1Y*#k4G{%r2c;y`Jv2 zr3wuu{It{w$}t0|y- z$66N&(Nn#;@8b8D9sq#xgEcV=ha@$kkQzj(*l%!TZ4TY-e>VoWmAOjcOk+dTDMBkRD zHN-nE3)$h!w~1r1z|_QK9TfS9R*-XU=sHE)JkGi&O0xEL_^wB#Sd$WTZ)T@(lUi;+ zHypK{J>6u1!jo)?X2tizFCelfGwW~*3hJtd@ zk8I~rc1(?6!$y3|A5hB*e?bSHYK``pWSQ%21rC}CuZtNNmU9)tn;X1OJ!~9=yE3#u zI<~3GsA?_(e@a6`0~4dNqHT6@_SSB13gUQoFzT=fbyD|(+#EgH-X$_p_<~|cAJPp7 zEiNt>r8NSCa_rsjHYUrU#WrzqeSWDOLb@R9EM+S3jZve#rLK7Qh((uP*kw1lwe_jd zcA-e%(7&XcJ7}rp=4(ks-Nj`&3oGP_(I7>mwy|E7Kb2%k*J-eX&hH`n?S!6xd81@T z|IX*yrl~8}-NEgP)-sKP@wmpH8V1!zvE8p_RfuVtoh{urBJ6%vC|7TQg^V1}r;z)$ z>OR7@>pLu`t2F)lhtNL4%*iZM#|LqRR@{lgDmU#UkE2%MEI#VKQ$=Keo~)n4oXygZ{T(|ff_)ms2Qt0t4h}euc%ykijJ(;(>S>iCuWj%)(2l8zkBFA3?0st zpYyxgT5P={_SF@*i0cG<@s2UDHV)UJ_+ z7F?$ExF(^4-IPzK1EYq=ElW!;kp*i#oD|phYeto~_wNm+4E*-%<_`N!z(XoXH#Uh< z>P$rgflsWOioMtTk_b9;u~U%MtQ-1tzvWroNcTCqQ3fH62O`Y&tF~m%q#H_3LLL+)|5p9kuMTd-wCF z(H}2{g)~>LLi3AB&?&%sa^Ju2CCKJV-Jo9WBUo0$ONJvTL21qRvUU1va^YSpBfa)JeNI!vFmK35R z%+ad#yx7&TYvsD6SVZwpv`GF$lXE@xfjztH%W4q1Too{oSY>WHwxXV zKlxlkYsd9nn!>UOtIAp3yc9zo)SOw&QZHHtJ4|Lad>W@7lQ_zF*c|xymp&nd12rLrPWCzM=9BuAMHcy)Qm<>A`ks!3|P8zvFi? zQSx-%Q}A?Y2T9(^AIt!gSafuBlO}wv4hzmzCrcbLG~H-~##co5Yj(a+aNmO@Jdc)r zxYu2*ZAGK*w#{Xf&;!tl!JFC&&z67WYq^{)5^2{~8H>%r8h)qKQ3U}zZ_LRbKn)f- zPof;LarNQq$@_HOk4fKqc{42(5s89}_)0(HU~dP!BgeV_fKt=hEej2v338`*XH)<1 zqosu%WD1|>P^e=SmX(z5o4q@9D%W;d-X4AWv(OBFjhX%|M~d8a<+ojh?v3>zv3x#B oAo%OSSP%T?*4YuUvnQCp!?h6v8BsOhfA|5?5(?twVupeL0qS7n=>Px# literal 0 HcmV?d00001 diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724142824995.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724142824995.png" new file mode 100644 index 0000000000000000000000000000000000000000..454af2a3669db3f27456f81a361b76f97fcc3240 GIT binary patch literal 12033 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 Bh7bS% literal 0 HcmV?d00001 diff --git "a/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724142852979.png" "b/2025/\347\254\2545\347\273\204(CanMV-K230)/\346\235\216\344\270\234\346\265\251/\347\254\224\350\256\260/figures/image-20250724142852979.png" new file mode 100644 index 0000000000000000000000000000000000000000..a53f4032fc480f7a48532c3e251d64a3c2e6c737 GIT binary patch literal 7394 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 + +#define THREAD_PRIORITY 25 +#define THREAD_TIMESLICE 5 + +/* 信号量退出标志 */ +static rt_bool_t sem_flag = 0; +/* 指向信号量的指针 */ +static rt_sem_t dynamic_sem = RT_NULL; + +ALIGN(RT_ALIGN_SIZE) +static char thread1_stack[1024]; +static struct rt_thread thread1; +static void rt_thread1_entry(void *parameter) +{ + static rt_uint8_t count = 0; + + while (1) + { + if (count <= 100) + { + count++; + } + else + { + rt_kprintf("thread1 exiting...\n"); + sem_flag = 1; + rt_sem_release(dynamic_sem); + count = 0; + return; + } + + /* count 每计数 10 次,就释放一次信号量 */ + if (0 == (count % 10)) + { + rt_kprintf("t1 release a dynamic semaphore.\n"); + rt_sem_release(dynamic_sem); + } + } +} + +ALIGN(RT_ALIGN_SIZE) +static char thread2_stack[1024]; +static struct rt_thread thread2; +static void rt_thread2_entry(void *parameter) +{ + static rt_err_t result; + static rt_uint8_t number = 0; + while (1) + { + /* 永久方式等待信号量,获取到信号量,则执行 number 自加的操作 */ + result = rt_sem_take(dynamic_sem, RT_WAITING_FOREVER); + if (sem_flag && result == RT_EOK) + { + rt_kprintf("thread2 exiting...\n"); + rt_sem_delete(dynamic_sem); + sem_flag = 0; + number = 0; + return; + } + else + { + number++; + rt_kprintf("t2 take a dynamic semaphore. number = %d\n", number); + } + } +} + +/* 信号量示例的初始化 */ +int semaphore_sample(void) +{ + /* 创建一个动态信号量,初始值是 0 */ + dynamic_sem = rt_sem_create("dsem", 0, RT_IPC_FLAG_PRIO); + if (dynamic_sem == RT_NULL) + { + rt_kprintf("create dynamic semaphore failed.\n"); + return -1; + } + else + { + rt_kprintf("create done. dynamic semaphore value = 0.\n"); + } + + rt_thread_init(&thread1, + "thread1", + rt_thread1_entry, + RT_NULL, + &thread1_stack[0], + sizeof(thread1_stack), + THREAD_PRIORITY, THREAD_TIMESLICE); + rt_thread_startup(&thread1); + + rt_thread_init(&thread2, + "thread2", + rt_thread2_entry, + RT_NULL, + &thread2_stack[0], + sizeof(thread2_stack), + THREAD_PRIORITY - 1, THREAD_TIMESLICE); + rt_thread_startup(&thread2); + + return 0; +} +int main(void) +{ + return 0; +} +``` + +仿真运行结果: + +![image-20250724115906165](figures/image-20250724115906165.png) + +线程 1 在 count 计数为 10 的倍数时(count 计数为 100 之后线程退出),发送一个信号量,线程 2 在接收信号量后,对 number 进行加 1 操作。 + +### 1.3 互斥量 + +互斥量又叫相互排斥的信号量,是一种特殊的二值信号量。互斥量类似于只有一个车位的停车场:当有一辆车进入的时候,将停车场大门锁住,其他车辆在外面等候。当里面的车出来时,将停车场大门打开,下一辆车才可以进入。 + +#### 1.3.1 互斥量工作机制 + +互斥量和信号量不同的是:拥有互斥量的线程拥有互斥量的所有权,互斥量支持递归访问且能防止线程优先级翻转;并且互斥量只能由持有线程释放,而信号量则可以由任何线程释放。 + +互斥量的状态只有两种,开锁或闭锁(两种状态值)。当有线程持有它时,互斥量处于闭锁状态,由这个线程获得它的所有权。相反,当这个线程释放它时,将对互斥量进行开锁,失去它的所有权。当一个线程持有互斥量时,其他线程将不能够对它进行开锁或持有它,持有该互斥量的线程也能够再次获得这个锁而不被挂起,如下图时所示。这个特性与一般的二值信号量有很大的不同:在信号量中,因为已经不存在实例,线程递归持有会发生主动挂起(最终形成死锁)。 + +![image-20250724134251403](figures/image-20250724134251403.png) + +使用信号量会导致的另一个潜在问题是线程优先级翻转问题。所谓优先级翻转,即当一个高优先级线程试图通过信号量机制访问共享资源时,如果该信号量已被一低优先级线程持有,而这个低优先级线程在运行过程中可能又被其它一些中等优先级的线程抢占,因此造成高优先级线程被许多具有较低优先级的线程阻塞,实时性难以得到保证。如下图所示:有优先级为 A、B 和 C 的三个线程,优先级 A> B > C。线程 A,B 处于挂起状态,等待某一事件触发,线程 C 正在运行,此时线程 C 开始使用某一共享资源 M。在使用过程中,线程 A 等待的事件到来,线程 A 转为就绪态,因为它比线程 C 优先级高,所以立即执行。但是当线程 A 要使用共享资源 M 时,由于其正在被线程 C 使用,因此线程 A 被挂起切换到线程 C 运行。如果此时线程 B 等待的事件到来,则线程 B 转为就绪态。由于线程 B 的优先级比线程 C 高,且线程B没有用到共享资源 M ,因此线程 B 开始运行,直到其运行完毕,线程 C 才开始运行。只有当线程 C 释放共享资源 M 后,线程 A 才得以执行。在这种情况下,优先级发生了翻转:线程 B 先于线程 A 运行。这样便不能保证高优先级线程的响应时间。 + +![image-20250724134335061](figures/image-20250724134335061.png) + +在 RT-Thread 操作系统中,互斥量可以解决优先级翻转问题,实现的是优先级继承协议 (Sha, 1990)。优先级继承是通过在线程 A 尝试获取共享资源而被挂起的期间内,将线程 C 的优先级提升到线程 A 的优先级别,从而解决优先级翻转引起的问题。这样能够防止 C(间接地防止 A)被 B 抢占,如下图所示。优先级继承是指,提高某个占有某种资源的低优先级线程的优先级,使之与所有等待该资源的线程中优先级最高的那个线程的优先级相等,然后执行,而当这个低优先级线程释放该资源时,优先级重新回到初始设定。因此,继承优先级的线程避免了系统资源被任何中间优先级的线程抢占。 + +![image-20250724134354552](figures/image-20250724134354552.png) + +#### 1.3.2 互斥量管理方式 + +互斥量控制块中含有互斥相关的重要参数,在互斥量功能的实现中起到重要的作用。互斥量相关接口如下图所示,对一个互斥量的操作包含:创建 / 初始化互斥量、获取互斥量、释放互斥量、删除 / 脱离互斥量。 + +![image-20250724133722700](figures/image-20250724133722700.png) + +##### 1.3.2.1 创建和删除互斥量 + +创建一个互斥量时,内核首先创建一个互斥量控制块,然后完成对该控制块的初始化工作。创建互斥量使用下面的函数接口: + +```c +rt_mutex_t rt_mutex_create (const char* name, rt_uint8_t flag); +``` + +可以调用 rt_mutex_create 函数创建一个互斥量,它的名字由 name 所指定。当调用这个函数时,系统将先从对象管理器中分配一个 mutex 对象,并初始化这个对象,然后初始化父类 IPC 对象以及与 mutex 相关的部分。互斥量的 flag 标志已经作废,无论用户选择 RT_IPC_FLAG_PRIO 还是 RT_IPC_FLAG_FIFO,内核均按照 RT_IPC_FLAG_PRIO 处理。 + +##### 1.3.2.2 初始化和脱离互斥量 + +静态互斥量对象的内存是在系统编译时由编译器分配的,一般放于读写数据段或未初始化数据段中。在使用这类静态互斥量对象前,需要先进行初始化。初始化互斥量使用下面的函数接口: + +```c +rt_err_t rt_mutex_init (rt_mutex_t mutex, const char* name, rt_uint8_t flag); +``` + +使用该函数接口时,需指定互斥量对象的句柄(即指向互斥量控制块的指针),互斥量名称以及互斥量标志。互斥量标志可用上面创建互斥量函数里提到的标志。 + +##### 1.3.2.3 获取互斥量 + +线程获取了互斥量,那么线程就有了对该互斥量的所有权,即某一个时刻一个互斥量只能被一个线程持有。获取互斥量使用下面的函数接口: + +```c +rt_err_t rt_mutex_take (rt_mutex_t mutex, rt_int32_t time); +``` + +如果互斥量没有被其他线程控制,那么申请该互斥量的线程将成功获得该互斥量。如果互斥量已经被当前线程线程控制,则该互斥量的持有计数加 1,当前线程也不会挂起等待。如果互斥量已经被其他线程占有,则当前线程在该互斥量上挂起等待,直到其他线程释放它或者等待时间超过指定的超时时间。 + +#### 1.3.3 应用实例 + +```c +#include + +#define THREAD_PRIORITY 8 +#define THREAD_TIMESLICE 5 + +/* 指向互斥量的指针 */ +static rt_mutex_t dynamic_mutex = RT_NULL; +static rt_uint8_t number1, number2 = 0; +/* 线程退出标志 */ +static rt_bool_t thread_exit_flag = RT_FALSE; + +ALIGN(RT_ALIGN_SIZE) +static char thread1_stack[1024]; +static struct rt_thread thread1; + +static void rt_thread_entry1(void *parameter) +{ + while (1) + { + /* 线程 1 在获取互斥量前检查它是否存在 */ + if (dynamic_mutex == RT_NULL || thread_exit_flag) + { + number1 = 0; + number2 = 0; + + /* 重置退出标志 */ + thread_exit_flag = RT_FALSE; + break; /* 退出线程 */ + } + + /* 获取互斥量并进行操作 */ + if (rt_mutex_take(dynamic_mutex, RT_WAITING_FOREVER) == RT_EOK) + { + number1++; + number2++; + rt_kprintf("thread1 mutex protect, number1 = number2 is %d\n", number1); + rt_mutex_release(dynamic_mutex); + rt_thread_mdelay(10); + } + } +} + +ALIGN(RT_ALIGN_SIZE) +static char thread2_stack[1024]; +static struct rt_thread thread2; +static void rt_thread_entry2(void *parameter) +{ + while (1) + { + /* 获取互斥量 */ + if (rt_mutex_take(dynamic_mutex, RT_WAITING_FOREVER) == RT_EOK) + { + if (number1 != number2) + { + rt_kprintf("not protect. number1 = %d, number2 = %d\n", number1, number2); + } + else + { + rt_kprintf("mutex protect, number1 = number2 is %d\n", number1); + } + + number1++; + number2++; + rt_mutex_release(dynamic_mutex); + + /* 判断是否达到退出条件 */ + if (number1 >= 50) + { + thread_exit_flag = RT_TRUE; + + /* 删除互斥量 */ + rt_mutex_delete(dynamic_mutex); + dynamic_mutex = RT_NULL; + + break; /* 退出线程 */ + } + } + } +} + +/* 互斥量示例的初始化 */ +int mutex_sample(void) +{ + /* 创建一个动态互斥量 */ + dynamic_mutex = rt_mutex_create("dmutex", RT_IPC_FLAG_PRIO); + if (dynamic_mutex == RT_NULL) + { + rt_kprintf("create dynamic mutex failed.\n"); + return -1; + } + + rt_thread_init(&thread1, + "thread1", + rt_thread_entry1, + RT_NULL, + &thread1_stack[0], + sizeof(thread1_stack), + THREAD_PRIORITY, THREAD_TIMESLICE); + rt_thread_startup(&thread1); + + rt_thread_init(&thread2, + "thread2", + rt_thread_entry2, + RT_NULL, + &thread2_stack[0], + sizeof(thread2_stack), + THREAD_PRIORITY - 1, THREAD_TIMESLICE); + rt_thread_startup(&thread2); + + return 0; +} + +/* 导出到 MSH 命令列表中 */ +MSH_CMD_EXPORT(mutex_sample, mutex sample); +int main(void) +{ + return 0; +} +``` + +线程 1 与线程 2 中均使用互斥量保护对 2 个 number 的操作(倘若将线程 1 中的获取、释放互斥量语句注释掉,线程 1 将对 number 不再做保护),仿真运行结果如下: + +![image-20250724133550487](figures/image-20250724133550487.png) + +### 1.4 信号量与互斥量的区别 + +下面我用生活中的实例,来自己阐释一下对于两者的理解: + +##### **1. 信号量(Semaphore)——像停车场的车位计数器** + +- **是什么**:信号量是一个**计数器**,用来控制**多少线程能同时访问资源**。比如停车场有10个车位,信号量初始值就是10,每进一辆车(线程)计数器减1,直到为0时新车必须等待。 +- **核心特点**: + - **计数功能**:可以是1(二值信号量)或多个(比如允许3个线程同时访问) + - **无所有者**:任何线程都能释放信号量(比如管理员可以手动增加车位) + - **典型用途**: + - 控制数据库连接池(比如最多10个连接) + - 生产者-消费者问题(协调生产和消费的速度) + +**例**:假设奶茶店有3台制作机(资源),信号量初始值为3 + +- 前3个顾客(线程)直接使用机器,信号量减到0 +- 第4个顾客必须等有人做完奶茶(释放信号量+1)才能用 + +------ + +### **2. 互斥量(Mutex)——像厕所的唯一钥匙** + +- **是什么**:互斥量是**二值的锁**(只有0或1),保证**同一时间只有一个线程能访问资源**。比如厕所只有一把钥匙,谁拿到钥匙谁用,用完必须归还。 +- **核心特点**: + - **独占性**:一次只能一个线程持有(钥匙唯一) + - **所有权**:必须由持有者释放(谁锁谁解锁) + - **防优先级翻转**:低优先级线程持有锁时,可能被临时提升优先级(避免高优先级线程饿死) + - **典型用途**: + - 修改全局变量(比如银行账户余额) + - 保护文件读写(避免多人同时写文件乱掉) + +**例**: 多人共用一台打印机(资源): + +- 小A拿到打印机的锁(互斥量),开始打印 +- 小B想打印,但必须等小A还锁后才能用 + +------ + +##### **3. 信号量 vs 互斥量的关键区别** + +| **特性** | **信号量** | **互斥量** | +| -------------- | ------------------------ | -------------------------- | +| **资源数量** | 可多可少(比如10个车位) | 只有1个(一把钥匙) | +| **谁可以释放** | 任何线程 | 必须由持有线程释放 | +| **递归锁** | 不支持 | 支持(同一线程可重复加锁) | +| **优先级翻转** | 可能发生 | 通过优先级继承避免 | +| **用途** | 控制并发量 | 保护独占资源 | + +## 2. 线程间通信 + +在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取,根据读取到的全局变量值执行相应的动作,达到通信协作的目的。 + +### 2.1 邮箱 + +邮箱服务是实时操作系统中一种典型的线程间通信方法。举一个简单的例子,有两个线程,线程 1 检测按键状态并发送,线程 2 读取按键状态并根据按键的状态相应地改变 LED 的亮灭。这里就可以使用邮箱的方式进行通信,线程 1 将按键的状态作为邮件发送到邮箱,线程 2 在邮箱中读取邮件获得按键状态并对 LED 执行亮灭操作。 + +这里的线程 1 也可以扩展为多个线程。例如,共有三个线程,线程 1 检测并发送按键状态,线程 2 检测并发送 ADC 采样信息,线程 3 则根据接收的信息类型不同,执行不同的操作。 + +#### 2.1.1 邮箱的工作机制 + +RT-Thread 操作系统的邮箱用于线程间通信,特点是开销比较低,效率较高。邮箱中的每一封邮件只能容纳固定的 4 字节内容(针对 32 位处理系统,指针的大小即为 4 个字节,所以一封邮件恰好能够容纳一个指针)。典型的邮箱也称作交换消息,如下图所示,线程或中断服务例程把一封 4 字节长度的邮件发送到邮箱中,而一个或多个线程可以从邮箱中接收这些邮件并进行处理。 + +![image-20250724140001421](figures/image-20250724140001421.png) + +非阻塞方式的邮件发送过程能够安全的应用于中断服务中,是线程、中断服务、定时器向线程发送消息的有效手段。通常来说,邮件收取过程可能是阻塞的,这取决于邮箱中是否有邮件,以及收取邮件时设置的超时时间。当邮箱中不存在邮件且超时时间不为 0 时,邮件收取过程将变成阻塞方式。在这类情况下,只能由线程进行邮件的收取。 + +当一个线程向邮箱发送邮件时,如果邮箱没满,将把邮件复制到邮箱中。如果邮箱已经满了,发送线程可以设置超时时间,选择等待挂起或直接返回 - RT_EFULL。如果发送线程选择挂起等待,那么当邮箱中的邮件被收取而空出空间来时,等待挂起的发送线程将被唤醒继续发送。 + +当一个线程从邮箱中接收邮件时,如果邮箱是空的,接收线程可以选择是否等待挂起直到收到新的邮件而唤醒,或可以设置超时时间。当达到设置的超时时间,邮箱依然未收到邮件时,这个选择超时等待的线程将被唤醒并返回 - RT_ETIMEOUT。如果邮箱中存在邮件,那么接收线程将复制邮箱中的 4 个字节邮件到接收缓存中。 + +#### 2.1.2 邮箱的管理方式 + +邮箱控制块是一个结构体,其中含有事件相关的重要参数,在邮箱的功能实现中起重要的作用。邮箱的相关接口如下图所示,对一个邮箱的操作包含:创建 / 初始化邮箱、发送邮件、接收邮件、删除 / 脱离邮箱。 + +![image-20250724140205887](figures/image-20250724140205887.png) + +##### 2.1.2.1 创建和删除邮箱 + +动态创建一个邮箱对象可以调用如下的函数接口: + +```c +rt_mailbox_t rt_mb_create (const char* name, rt_size_t size, rt_uint8_t flag); +``` + +创建邮箱对象时会先从对象管理器中分配一个邮箱对象,然后给邮箱动态分配一块内存空间用来存放邮件,这块内存的大小等于邮件大小(4 字节)与邮箱容量的乘积,接着初始化接收邮件数目和发送邮件在邮箱中的偏移量。 + +##### 2.1.2.2 初始化和脱离邮箱 + +初始化邮箱跟创建邮箱类似,只是初始化邮箱用于静态邮箱对象的初始化。与创建邮箱不同的是,静态邮箱对象的内存是在系统编译时由编译器分配的,一般放于读写数据段或未初始化数据段中,其余的初始化工作与创建邮箱时相同。函数接口如下: + +```c + rt_err_t rt_mb_init(rt_mailbox_t mb, + const char* name, + void* msgpool, + rt_size_t size, + rt_uint8_t flag) +``` + +初始化邮箱时,该函数接口需要获得用户已经申请获得的邮箱对象控制块,缓冲区的指针,以及邮箱名称和邮箱容量(能够存储的邮件数)。 + +##### 2.1.2.3 发送邮件 + +线程或者中断服务程序可以通过邮箱给其他线程发送邮件,发送邮件函数接口如下: + +```c +rt_err_t rt_mb_send (rt_mailbox_t mb, rt_uint32_t value); +``` + +发送的邮件可以是 32 位任意格式的数据,一个整型值或者一个指向缓冲区的指针。当邮箱中的邮件已经满时,发送邮件的线程或者中断程序会收到 -RT_EFULL 的返回值。 + +##### 2.1.2.4 接收邮件 + +只有当接收者接收的邮箱中有邮件时,接收者才能立即取到邮件并返回 RT_EOK 的返回值,否则接收线程会根据超时时间设置,或挂起在邮箱的等待线程队列上,或直接返回。接收邮件函数接口如下: + +```c +rt_err_t rt_mb_recv (rt_mailbox_t mb, rt_uint32_t* value, rt_int32_t timeout); +``` + +接收邮件时,接收者需指定接收邮件的邮箱句柄,并指定接收到的邮件存放位置以及最多能够等待的超时时间。如果接收时设定了超时,当指定的时间内依然未收到邮件时,将返回 - RT_ETIMEOUT。 + +#### 2.1.3 应用实例 + +```c +#include + +#define THREAD_PRIORITY 10 +#define THREAD_TIMESLICE 5 + +/* 邮箱控制块 */ +static struct rt_mailbox mb; +/* 用于放邮件的内存池 */ +static char mb_pool[128]; + +static char mb_str1[] = "I'm a mail!"; +static char mb_str2[] = "this is another mail!"; +static char mb_str3[] = "over"; + +ALIGN(RT_ALIGN_SIZE) +static char thread1_stack[1024]; +static struct rt_thread thread1; + +/* 线程 1 入口 */ +static void thread1_entry(void *parameter) +{ + char *str; + + while (1) + { + rt_kprintf("thread1: try to recv a mail\n"); + + /* 从邮箱中收取邮件 */ + if (rt_mb_recv(&mb, (rt_uint32_t *)&str, RT_WAITING_FOREVER) == RT_EOK) + { + rt_kprintf("thread1: get a mail from mailbox, the content:%s\n", str); + if (str == mb_str3) + break; + + /* 延时 100ms */ + rt_thread_mdelay(100); + } + } + /* 执行邮箱对象脱离 */ + rt_mb_detach(&mb); +} + +ALIGN(RT_ALIGN_SIZE) +static char thread2_stack[1024]; +static struct rt_thread thread2; + +/* 线程 2 入口 */ +static void thread2_entry(void *parameter) +{ + rt_uint8_t count; + + count = 0; + while (count < 10) + { + count ++; + if (count & 0x1) + { + /* 发送 mb_str1 地址到邮箱中 */ + rt_mb_send(&mb, (rt_uint32_t)&mb_str1); + } + else + { + /* 发送 mb_str2 地址到邮箱中 */ + rt_mb_send(&mb, (rt_uint32_t)&mb_str2); + } + + /* 延时 200ms */ + rt_thread_mdelay(200); + } + + /* 发送邮件告诉线程 1,线程 2 已经运行结束 */ + rt_mb_send(&mb, (rt_uint32_t)&mb_str3); +} + +int mailbox_sample(void) +{ + rt_err_t result; + + /* 初始化一个 mailbox */ + result = rt_mb_init(&mb, + "mbt", /* 名称是 mbt */ + &mb_pool[0], /* 邮箱用到的内存池是 mb_pool */ + sizeof(mb_pool) / 4, /* 邮箱中的邮件数目,因为一封邮件占 4 字节 */ + RT_IPC_FLAG_FIFO); /* 采用 FIFO 方式进行线程等待 */ + if (result != RT_EOK) + { + rt_kprintf("init mailbox failed.\n"); + return -1; + } + + rt_thread_init(&thread1, + "thread1", + thread1_entry, + RT_NULL, + &thread1_stack[0], + sizeof(thread1_stack), + THREAD_PRIORITY, THREAD_TIMESLICE); + rt_thread_startup(&thread1); + + rt_thread_init(&thread2, + "thread2", + thread2_entry, + RT_NULL, + &thread2_stack[0], + sizeof(thread2_stack), + THREAD_PRIORITY, THREAD_TIMESLICE); + rt_thread_startup(&thread2); + return 0; +} + +/* 导出到 msh 命令列表中 */ +MSH_CMD_EXPORT(mailbox_sample, mailbox sample); +int main(void) +{ + return 0; +} +``` + +仿真运行结果如下: + +![image-20250724141055101](figures/image-20250724141055101.png) + +线程 2 发送邮件,共发送 11 次;线程 1 接收邮件,共接收到 11 封邮件,将邮件内容打印出来,并判断结束。 + +### 2.2 消息队列 + +消息队列是另一种常用的线程间通讯方式,是邮箱的扩展。可以应用在多种场合:线程间的消息交换、使用串口接收不定长数据等。 + +#### 2.2.1 消息队列的工作机制 + +消息队列能够接收来自线程或中断服务例程中不固定长度的消息,并把消息缓存在自己的内存空间中。其他线程也能够从消息队列中读取相应的消息,而当消息队列是空的时候,可以挂起读取线程。当有新的消息到达时,挂起的线程将被唤醒以接收并处理消息。消息队列是一种异步的通信方式。 + +如下图所示,线程或中断服务例程可以将一条或多条消息放入消息队列中。同样,一个或多个线程也可以从消息队列中获得消息。当有多个消息发送到消息队列时,通常将先进入消息队列的消息先传给线程,也就是说,线程先得到的是最先进入消息队列的消息,即先进先出原则 (FIFO)。 +![image-20250724142758648](figures/image-20250724142758648.png) + +RT-Thread 操作系统的消息队列对象由多个元素组成,当消息队列被创建时,它就被分配了消息队列控制块:消息队列名称、内存缓冲区、消息大小以及队列长度等。同时每个消息队列对象中包含着多个消息框,每个消息框可以存放一条消息;消息队列中的第一个和最后一个消息框被分别称为消息链表头和消息链表尾,对应于消息队列控制块中的 msg_queue_head 和 msg_queue_tail;有些消息框可能是空的,它们通过 msg_queue_free 形成一个空闲消息框链表。所有消息队列中的消息框总数即是消息队列的长度,这个长度可在消息队列创建时指定。 + +#### 2.2.2 消息队列的管理方式 + +消息队列控制块是一个结构体,其中含有消息队列相关的重要参数,在消息队列的功能实现中起重要的作用。消息队列的相关接口如下图所示,对一个消息队列的操作包含:创建消息队列 - 发送消息 - 接收消息 - 删除消息队列。 + +![image-20250724142824995](figures/image-20250724142824995.png) + +##### 2.2.2.1 创建和删除消息队列 + +消息队列在使用前,应该被创建出来,或对已有的静态消息队列对象进行初始化,创建消息队列的函数接口如下所示: + +```c +rt_mq_t rt_mq_create(const char* name, rt_size_t msg_size, + rt_size_t max_msgs, rt_uint8_t flag); +``` + +创建消息队列时先从对象管理器中分配一个消息队列对象,然后给消息队列对象分配一块内存空间,组织成空闲消息链表,这块内存的大小 =[消息大小 + 消息头(用于链表连接)的大小]X 消息队列最大个数,接着再初始化消息队列,此时消息队列为空。 + +当消息队列不再被使用时,应该删除它以释放系统资源,一旦操作完成,消息队列将被永久性地删除。删除消息队列的函数接口如下: + +```c +rt_err_t rt_mq_delete(rt_mq_t mq); +``` + +删除消息队列时,如果有线程被挂起在该消息队列等待队列上,则内核先唤醒挂起在该消息等待队列上的所有线程(线程返回值是 - RT_ERROR),然后再释放消息队列使用的内存,最后删除消息队列对象。 + +##### 2.2.2.2 初始化和脱离消息队列 + +初始化静态消息队列对象跟创建消息队列对象类似,只是静态消息队列对象的内存是在系统编译时由编译器分配的,一般放于读数据段或未初始化数据段中。在使用这类静态消息队列对象前,需要进行初始化。初始化消息队列对象的函数接口如下: + +```c +rt_err_t rt_mq_init(rt_mq_t mq, const char* name, + void *msgpool, rt_size_t msg_size, + rt_size_t pool_size, rt_uint8_t flag); +``` + +初始化消息队列时,该接口需要用户已经申请获得的消息队列对象的句柄(即指向消息队列对象控制块的指针)、消息队列名、消息缓冲区指针、消息大小以及消息队列缓冲区大小。消息队列初始化后所有消息都挂在空闲消息链表上,消息队列为空。 + +脱离消息队列将使消息队列对象被从内核对象管理器中脱离。脱离消息队列使用下面的接口: + +```c +rt_err_t rt_mq_detach(rt_mq_t mq); +``` + +使用该函数接口后,内核先唤醒所有挂在该消息等待队列对象上的线程(线程返回值是 -RT_ERROR),然后将该消息队列对象从内核对象管理器中脱离。 + +##### 2.2.2.3 发送消息 + +线程或者中断服务程序都可以给消息队列发送消息。当发送消息时,消息队列对象先从空闲消息链表上取下一个空闲消息块,把线程或者中断服务程序发送的消息内容复制到消息块上,然后把该消息块挂到消息队列的尾部。当且仅当空闲消息链表上有可用的空闲消息块时,发送者才能成功发送消息;当空闲消息链表上无可用消息块,说明消息队列已满,此时,发送消息的的线程或者中断程序会收到一个错误码(-RT_EFULL)。发送消息的函数接口如下: + +```c +rt_err_t rt_mq_send (rt_mq_t mq, void* buffer, rt_size_t size); +``` + +发送消息时,发送者需指定发送的消息队列的对象句柄(即指向消息队列控制块的指针),并且指定发送的消息内容以及消息大小。在发送一个普通消息之后,空闲消息链表上的队首消息被转移到了消息队列尾。 + +##### 2.2.2.4 等待方式发送消息 + +用户也可以通过如下的函数接口向指定的消息队列中发送消息: + +```c +rt_err_t rt_mq_send_wait(rt_mq_t mq, + const void *buffer, + rt_size_t size, + rt_int32_t timeout); +``` + +rt_mq_send_wait() 与 rt_mq_send() 的区别在于有等待时间,如果消息队列已经满了,那么发送线程将根据设定的 timeout 参数进行等待。如果设置的超时时间到达依然没有空出空间,这时发送线程将被唤醒并返回错误码。 + +##### 2.2.2.5 接收消息 + +当消息队列中有消息时,接收者才能接收消息,否则接收者会根据超时时间设置,或挂起在消息队列的等待线程队列上,或直接返回。接收消息函数接口如下: + +```c +rt_ssize_t rt_mq_recv (rt_mq_t mq, void* buffer, + rt_size_t size, rt_int32_t timeout); +``` + +接收消息时,接收者需指定存储消息的消息队列对象句柄,并且指定一个内存缓冲区,接收到的消息内容将被复制到该缓冲区里。此外,还需指定未能及时取到消息时的超时时间。如下图所示,接收一个消息后消息队列上的队首消息被转移到了空闲消息链表的尾部。 + +#### 2.2.3 应用示例 + +这是一个消息队列的应用例程,例程中初始化了 2 个静态线程,一个线程会从消息队列中收取消息;另一个线程会定时给消息队列发送普通消息和紧急消息,如下代码所示: + +```c +#include + +#define THREAD1_PRIORITY 25 +#define THREAD1_STACK_SIZE 512 +#define THREAD1_TIMESLICE 5 + +#define THREAD2_PRIORITY 25 +#define THREAD2_STACK_SIZE 512 +#define THREAD2_TIMESLICE 5 + +/* 消息队列控制块 */ +static struct rt_messagequeue mq; +/* 消息队列中用到的放置消息的内存池 */ +static rt_uint8_t msg_pool[2048]; + +static rt_thread_t tid1 = RT_NULL; +/* 线程 1 入口函数 */ +static void thread1_entry(void *parameter) +{ + char buf = 0; + rt_uint8_t cnt = 0; + + while (1) + { + /* 从消息队列中接收消息 */ +#if defined(RT_VERSION_CHECK) && (RTTHREAD_VERSION >= RT_VERSION_CHECK(5, 0, 1)) + if (rt_mq_recv(&mq, &buf, sizeof(buf), RT_WAITING_FOREVER) > 0) +#else + if (rt_mq_recv(&mq, &buf, sizeof(buf), RT_WAITING_FOREVER) == RT_EOK) +#endif + { + rt_kprintf("thread1: recv msg from msg queue, the content:%c\n", buf); + if (cnt == 19) + { + break; + } + } + /* 延时 50ms */ + cnt++; + rt_thread_mdelay(50); + } + rt_kprintf("thread1: detach mq \n"); + rt_mq_detach(&mq); +} + + +static rt_thread_t tid2 = RT_NULL; +/* 线程 2 入口 */ +static void thread2_entry(void *parameter) +{ + int result; + char buf = 'A'; + rt_uint8_t cnt = 0; + + while (1) + { + if (cnt == 8) + { + /* 发送紧急消息到消息队列中 */ + result = rt_mq_urgent(&mq, &buf, 1); + if (result != RT_EOK) + { + rt_kprintf("rt_mq_urgent ERR\n"); + } + else + { + rt_kprintf("thread2: send urgent message - %c\n", buf); + } + } + else if (cnt>= 20)/* 发送 20 次消息之后退出 */ + { + rt_kprintf("message queue stop send, thread2 quit\n"); + break; + } + else + { + /* 发送消息到消息队列中 */ + result = rt_mq_send(&mq, &buf, 1); + if (result != RT_EOK) + { + rt_kprintf("rt_mq_send ERR\n"); + } + + rt_kprintf("thread2: send message - %c\n", buf); + } + buf++; + cnt++; + /* 延时 5ms */ + rt_thread_mdelay(5); + } +} + +/* 消息队列示例的初始化 */ +int msgq_sample(void) +{ + rt_err_t result; + + /* 初始化消息队列 */ + result = rt_mq_init(&mq, + "mqt", + &msg_pool[0], /* 内存池指向 msg_pool */ + 1, /* 每个消息的大小是 1 字节 */ + sizeof(msg_pool), /* 内存池的大小是 msg_pool 的大小 */ + RT_IPC_FLAG_PRIO); /* 如果有多个线程等待,优先级大小的方法分配消息 */ + + if (result != RT_EOK) + { + rt_kprintf("init message queue failed.\n"); + return -1; + } + + /* 动态创建线程1 */ + tid1 = rt_thread_create("thread1", + thread1_entry, RT_NULL, + THREAD1_STACK_SIZE, + THREAD1_PRIORITY, THREAD1_TIMESLICE); + + if (tid1 != RT_NULL) + rt_thread_startup(tid1); + + /* 动态创建线程2 */ + tid2 = rt_thread_create("thread2", + thread2_entry, RT_NULL, + THREAD2_STACK_SIZE, + THREAD2_PRIORITY, THREAD2_TIMESLICE); + + if (tid2 != RT_NULL) + rt_thread_startup(tid2); + + return 0; +} + +/* 导出到 msh 命令列表中 */ +MSH_CMD_EXPORT(msgq_sample, msgq sample); +``` + +仿真运行结果如下: + +![image-20250724142612067](figures/image-20250724142612067.png) + +#### 2.2.4 同步消息 + +在一般的系统设计中会经常遇到要发送同步消息的问题,这个时候就可以根据当时状态的不同选择相应的实现:两个线程间可以采用 **[消息队列 + 信号量或邮箱]** 的形式实现。发送线程通过消息发送的形式发送相应的消息给消息队列,发送完毕后希望获得接收线程的收到确认,工作示意图如下图所示: + +![image-20250724142852979](figures/image-20250724142852979.png) + + + +### 2.3 **线程间通信、邮箱和消息队列的解释** + +#### 2.3.1 线程间通信(Thread Communication) + +线程间通信就像几个工人(线程)在同一个车间(进程)里干活,他们需要互相传递工具(数据)或协调工作顺序,避免抢同一把锤子(资源冲突)。 + +- **为什么需要?** + 多个线程同时操作共享数据(比如银行账户余额)时,如果不协调,可能一个线程正在读数据,另一个线程突然修改它,导致数据错乱。 +- **常见方式**: + - **共享内存**:工人们共用一张桌子(内存),但需要约定谁先拿工具(加锁) + - **信号量**:车间门口挂5把钥匙(资源数),工人进门前拿一把,用完挂回去,钥匙没了就得等 + - **条件变量**:工人A等零件到货(条件),工人B到货后喊一声“零件到了!”(通知),A才继续干活 + +------ + +#### 2.3.2 邮箱(Mailbox) + +邮箱就像工人们专用的快递柜: + +- **特点**: + - 每个格子放固定大小的包裹(如4字节数据或指针) + - 格子有限,满了就得等(阻塞发送),空了就得等快递(阻塞接收) +- **例**: + 工人A把零件编号(如数字100)放进邮箱,工人B取出编号后去仓库找对应零件 + +------ + +#### 2.3.3 消息队列(Message Queue) + +消息队列更像一个传送带: + +- **特点**: + - 传送带上能放各种大小的包裹(可变长度数据) + - 支持优先级:加急包裹(紧急消息)可以插队到队首 +- **例**: + 工人A把“订单详情”(如JSON数据)丢到队列,工人B按顺序处理订单,还能优先处理VIP订单 + +------ + +### **邮箱 vs 消息队列** + +| **对比项** | **邮箱** | **消息队列** | +| ------------ | ---------------------- | ---------------------- | +| **数据大小** | 固定(如4字节) | 可变(任意数据) | +| **容量** | 固定格子数 | 通常无明确限制 | +| **适用场景** | 简单指令(如开关信号) | 复杂数据(如文件传输) | + +**类比**: + +- 邮箱像**电话短信**(短小固定),消息队列像**微信聊天**(可发图片、长语音) \ No newline at end of file -- Gitee