@@ -152,3 +152,135 @@ echo start > state
152152``` bash
153153reboot
154154```
155+
156+ ## 6. 系统支持外设说明
157+
158+ - 支持 UART 4、5、6(暂不支持DMA),默认使用串口4作为msh控制台
159+ - 支持GPIO输入、输出、外部中断响应功能,但以下引脚不允许被配置
160+
161+ ``` shell
162+ static const s100_pin_t s100_gpio_blacklist[] =
163+ {
164+ 0, /* S100 Power related pins * /
165+ 5, /* S100 debug uart tx * /
166+ 38, /* S100 Power related pins * /
167+ 15, /* S100 Power related pins * /
168+ 68, /* S100 Power related pins * /
169+ 69, /* S100 Power related pins * /
170+ 71, /* S100 Power related pins * /
171+ 80, /* S100 Power related pins * /
172+ 81, /* S100 Power related pins * /
173+ 82, /* S100 Power related pins * /
174+ 83, /* S100 Power related pins * /
175+ AON_PIN_NUM(0), /* S100 debug uart rx * /
176+ AON_PIN_NUM(12), /* S100 Power related pins * /
177+ };
178+ ```
179+
180+ - 支持 CAN5、CAN6、CAN7、CAN8、CAN9(只支持基础CAN通信)
181+
182+ # # 7.测试方法
183+
184+ # ## 硬件连接
185+
186+ RDK S100 需要先连接 MCU 接口扩展版
187+
188+ # ## 软件配置
189+
190+ 为了运行当前 ` s100` BSP 下的 GPIO、UART、CAN 设备测试,建议至少打开以下配置。
191+
192+ # ### 通用测试开关
193+
194+ 使用 ` scons --menuconfig ` 打开配置界面
195+
196+ - 打开内核测试配置:
197+ ! [kernel_test](./figure/kernel_test.png)
198+
199+ - 打开外设测试配置:
200+ ! [device_test](./figure/device_test.png)
201+
202+ 当前默认配置里,上述 ` utest` 基础开关已经打开;如果你重新裁剪过配置,需确认这些选项仍然存在。
203+
204+ # ### GPIO 测试相关配置
205+
206+ - 使能 ` BSP_USING_GPIO` (默认已经打开)
207+
208+ GPIO 测试文件为:
209+
210+ - [test_gpio.c](./drivers/utest/test_gpio.c)
211+
212+ 当前测试内容包括:
213+
214+ - 非法脚/保留脚拒绝逻辑
215+ - GPIO 输入输出回环
216+ - GPIO 中断上升沿、下降沿、双边沿回环
217+
218+ 运行前要求:
219+
220+ - 用跳线连接测试输出脚和测试输入脚
221+ - 默认测试脚为 ` GPIO36 -> GPIO37`
222+ - 若板级接线不同,可修改 ` test_gpio.c` 中的 ` S100_GPIO_TEST_OUT_PIN` 与 ` S100_GPIO_TEST_IN_PIN`
223+
224+ # ### UART 测试相关配置
225+
226+ - 使能 ` BSP_USING_UART`
227+ - 保持 ` BSP_USING_UART4=y`
228+ - 额外使能至少一个非控制台串口:
229+ - ` BSP_USING_UART5`
230+ - 或 ` BSP_USING_UART6`
231+
232+ UART 测试文件为:
233+
234+ - [test_uart.c](./drivers/utest/test_uart.c)
235+
236+ 当前测试约束如下:
237+
238+ - ` uart4` 默认为 ` msh` 控制台,不参与设备测试
239+ - 测试对象为已启用的 ` uart5` 、` uart6`
240+ - ` txrx` 用例发送固定二进制数据帧,并逐字节校验接收内容
241+
242+ 运行前要求:
243+
244+ - 被测串口需要具备回环条件
245+ - 常见做法是将 ` UART5_TX` 与 ` UART5_RX` 短接,或将 ` UART6_TX` 与 ` UART6_RX` 短接
246+ - 若未打开 ` uart5/uart6` ,` rdk.s100.drivers.uart` 不会覆盖非控制台串口
247+
248+ # ### CAN 测试相关配置
249+
250+ - 使能 ` BSP_USING_CAN`
251+ - 使能至少一个 CAN 控制器:
252+ - ` BSP_USING_CAN5`
253+ - ` BSP_USING_CAN6`
254+ - ` BSP_USING_CAN7`
255+ - ` BSP_USING_CAN8`
256+ - ` BSP_USING_CAN9`
257+
258+ CAN 测试文件为:
259+
260+ - [test_can.c](./drivers/utest/test_can.c)
261+
262+ 当前测试特点如下:
263+
264+ - 使用 ` RT_CAN_MODE_LOOPBACK` 内部回环模式
265+ - 不依赖外部 CAN 对端
266+ - 覆盖 ` find/open/config/set_mode/set_baud/write/read/get_status/close`
267+ - 发送一帧标准 CAN 数据帧,并逐字节校验接收 payload
268+
269+ # ### 构建与运行
270+
271+ 完成配置后重新编译:
272+
273+ ` ` ` bash
274+ scons -j$( nproc)
275+ ` ` `
276+
277+ 板端启动后,可在 ` msh` 中分别执行:
278+
279+ ` ` ` bash
280+ utest_run rdk.s100.drivers.gpio
281+ utest_run rdk.s100.drivers.uart
282+ utest_run rdk.s100.drivers.can
283+ ` ` `
284+
285+ 如果只想执行单项测试,保留对应驱动开关即可;未启用的设备不会进入对应测试覆盖范围。
286+
0 commit comments