lh | 758261d | 2023-07-13 05:52:04 -0700 | [diff] [blame] | 1 | 1、目录结构: |
| 2 | ├── Makefile makefile |
| 3 | ├── msgrcv.c 消息队列接收测试程序 |
| 4 | ├── msgsnd.c 消息队列发送测试程序 |
| 5 | └── readme 本文件 |
| 6 | |
| 7 | |
| 8 | 2、说明 |
| 9 | 2.1、针对msgget/msgrcv/msgsnd接口 |
| 10 | 2.2、msgget依靠key创建消息队列,约定:0x0~0xFFFEFFFF为本核消息区间,0xFFFF0000~0xFFFFFFFF为车载双核跨核消息(针对非跨核工程,依然是本核消息)。 |
| 11 | |
| 12 | 3、使用说明 |
| 13 | 3.0、只针对车载版本的测试程序,测试程序名为 msgsnd/msgrcv。 |
| 14 | 3.1、AP侧跨核发送测试:msgsnd key (key为int型整数,这里选取0xFFFF0000~0xFFFFFFFF范围,例如-200) |
| 15 | CAP侧运行msgrcv key,使用相同的key进行接收,会获取AP侧发送的消息内容并进行打印。 |
| 16 | 3.2、AP侧跨核接收测试:msgrcv key (这里同样选择-200),CAP核运行msgsnd -200进行发送。 |
| 17 | 3.3、AP侧本核发送测试:key取值范围0x0~0xFFFEFFFF即为本核消息。 |
| 18 | 3.4、AP侧本核接收测试:同上。 |
| 19 | |
| 20 | 4、示例: |
| 21 | 4.1、跨核AP->CAP |
| 22 | AP: |
| 23 | # msgsnd -200 |
| 24 | Message id: 10 |
| 25 | Write Message : helloworld |
| 26 | Sent message ret is 0 message is : helloworld |
| 27 | CAP: |
| 28 | |
| 29 | # msgrcv -200 |
| 30 | Message id: 10 |
| 31 | Received Message len is 104, message is : helloworld |
| 32 | |
| 33 | 4.2、跨核CAP->AP |
| 34 | CAP: |
| 35 | # msgsnd -200 |
| 36 | Message id: 11 |
| 37 | Write Message : nihaoshijie |
| 38 | Sent message ret is 0 message is : nihaoshijie |
| 39 | AP: |
| 40 | # msgrcv -200 |
| 41 | Message id: 11 |
| 42 | Received Message len is 104, message is : nihaoshijie |
| 43 | |
| 44 | 4.3、本核消息队列 |
| 45 | AP: |
| 46 | # msgsnd 100 |
| 47 | Message id: 12 |
| 48 | Write Message : huanying |
| 49 | Sent message ret is 0 message is : huanying |
| 50 | AP: |
| 51 | # msgrcv 100 |
| 52 | Message id: 12 |
| 53 | Received Message len is 104, message is : huanying |