Skip to main content
#10. 3. ๅˆทๅ†™ไธŽ้ชŒ่ฏ ๆœฌ้˜ถๆฎตไป‹็ปๅฆ‚ไฝ•ๅฐ† MCU ๅ›บไปถๅˆทๅ†™ๅˆฐ Shikra CS2390 ไธŠ๏ผŒๅนถ้ชŒ่ฏๆจกๅž‹ๆŽจ็†ๅทฒๆˆๅŠŸๆ‰ง่กŒใ€‚

10.3.1 ๅˆทๅ†™ๅ›บไปถ

ๆž„ๅปบไผšๅœจ build/ms/bin/shikra.lpaicp.test ไธ‹็”Ÿๆˆไธคไธชๅ›บไปถไบŒ่ฟ›ๅˆถๆ–‡ไปถใ€‚

10.3.2. ้ชŒ่ฏ LPAI ๅญ็ณป็ปŸๆญฃๅœจ่ฟ่กŒ

่ฎพๅค‡ๅฏๅŠจๅŽ๏ผŒๆฃ€ๆŸฅ remoteproc ้ฉฑๅŠจๆ˜ฏๅฆๅทฒๆˆๅŠŸๅŠ ่ฝฝ LPAI ๅ›บไปถ๏ผš
้ข„ๆœŸ่พ“ๅ‡บ๏ผš state ๆ–‡ไปถ็š„ๅ†…ๅฎนๅบ”ไธบ running๏ผŒname ๆ–‡ไปถๅบ”ๆ ‡่ฏ† LPAI ๅ†…ๆ ธ๏ผˆไพ‹ๅฆ‚ soccp๏ผ‰ใ€‚ไปปไฝ•ๅ…ถไป–็Šถๆ€๏ผˆไพ‹ๅฆ‚ offlineใ€crashed๏ผ‰้ƒฝ่กจ็คบๅŠ ่ฝฝๅคฑ่ดฅ๏ผŒ่ฏทๆŸฅ็œ‹ dmesg | grep -i remoteproc ไบ†่งฃ่ฏฆ็ป†ไฟกๆฏใ€‚

10.3.3. T32 ๅˆ†ๆž

Shikra LPAICP MCU ๆฒกๆœ‰ UART๏ผŒๆ‰€ๆœ‰ๆŽงๅˆถๅฐ่พ“ๅ‡บ้ƒฝๅ†™ๅ…ฅ RAM ๆŽงๅˆถๅฐ๏ผˆram_console_buf๏ผ‰ใ€‚่ฐƒ่ฏ•ๅ’Œ็ป“ๆžœ่ฏปๅ–้€š่ฟ‡ RISC-V JTAG ไธŠ็š„ Lauterbach T32 ๅฎŒๆˆใ€‚TFLM ๆŽจ็†ๆก†ๆžถไผšๅฐ†ๆ‰€ๆœ‰็ป“ๆžœๅ†™ๅ…ฅ volatile ๅ…จๅฑ€ๅ˜้‡๏ผŒT32 ๅฏ้šๆ—ถ่ฏปๅ–่ฟ™ไบ›ๅ˜้‡๏ผŒๆ— ้œ€่ฎพ็ฝฎๆ–ญ็‚นใ€‚

10.3.3.1. ่Žทๅ– RAM ๆŽงๅˆถๅฐๅœฐๅ€

ram_console_buf ๅœฐๅ€ๅœจๆฏๆฌกๆž„ๅปบๅŽ้ƒฝไผšๅ˜ๅŒ–ใ€‚่ฏทไปŽ ELF ๆ–‡ไปถไธญ่Žทๅ–๏ผš
็คบไพ‹่พ“ๅ‡บ๏ผš
่ฏฅๅœฐๅ€ไธบ 0xb45a7a8eใ€‚่ฏทไฝฟ็”จๆ‚จ่‡ชๅทฑๆž„ๅปบไธญ็š„ๅœฐๅ€ๆ›ดๆ–ฐ CMM ่„šๆœฌใ€‚

10.3.3.2. T32 CMM ่„šๆœฌ

ๆ›ดๆ–ฐ &elf ่ทฏๅพ„ๅ’Œ ram_console_buf ๅœฐๅ€ไปฅๅŒน้…ๆ‚จ็š„ๆž„ๅปบ๏ผŒ็„ถๅŽๅœจ T32 ไธญ่ฟ่กŒ่ฏฅ่„šๆœฌใ€‚

10.3.4. T32 ๅ…จๅฑ€ๅ˜้‡ๅ‚่€ƒ


10.3.5. ่งฃ่ฏป็ป“ๆžœ

10.3.5.1. ๆœ‰ๆ•ˆๆ€งๆฃ€ๆŸฅ

ๅœจๆŠฅๅ‘Š็ป“ๆžœไน‹ๅ‰๏ผŒๅŠกๅฟ…้ชŒ่ฏ๏ผš
ๅฆ‚ๆžœ g_tfli_status ไธไธบ้›ถ๏ผŒ่ฏทๅ‚้˜…็ฌฌ 2 ้˜ถๆฎต๏ผŒ็ฌฌ 2.5.2.1 ่Š‚ไธญ็š„้”™่ฏฏ่กจไปฅ็กฎๅฎšๆ นๆœฌๅŽŸๅ› ใ€‚

10.3.5.2. ๅปถ่ฟŸ

ๆ ธๅฟƒๆŒ‡ๆ ‡ๆ˜ฏ g_tfli_avg_us๏ผˆTFLI_ITERS ๆฌก่ฟญไปฃ็š„ๅนณๅ‡ๆŽจ็†ๅปถ่ฟŸ๏ผŒๅ•ไฝไธบๅพฎ็ง’๏ผ‰ใ€‚ ไบคๅ‰้ชŒ่ฏ๏ผšg_tfli_avg_ticks / 19.2 MHz = g_tfli_avg_us๏ผˆๅœจ่ˆๅ…ฅ่ฏฏๅทฎ่Œƒๅ›ดๅ†…๏ผ‰ใ€‚ g_tfli_cpu_mhz ็ป™ๅ‡บๆ นๆฎ RISC-V mcycle ๅ’Œ QTMR ๆ—ถ้—ดๆˆณๆŽจ็ฎ—ๅ‡บ็š„ๆœ‰ๆ•ˆ CPU ้ข‘็އ๏ผŒๅฏ็”จไบŽ็กฎ่ฎค CPU ๆ˜ฏๅฆไปฅ้ข„ๆœŸ็š„ๆ—ถ้’Ÿ้ข‘็އ่ฟ่กŒใ€‚

10.3.5.3. Arena ๅคงๅฐ่ฎพ็ฝฎ

ๅฆ‚ๆžœ g_tfli_arena_used ๆŽฅ่ฟ‘ g_tfli_arena_size๏ผŒ่ฏทๅขžๅคง inc/tflite_infer.h ไธญ็š„ TFLI_ARENA_KBใ€‚ๆœ‰ๅ…ณ็กฎๅฎšๆœ€ๅฐๅฎ‰ๅ…จๅ€ผ็š„ๆญฅ้ชค๏ผŒ่ฏทๅ‚้˜… ็ฌฌ 2 ้˜ถๆฎต๏ผŒ็ฌฌ 2.5.2.1 ่Š‚ใ€‚

10.3.5.4. RAM ๆŽงๅˆถๅฐ่พ“ๅ‡บ

RAM ๆŽงๅˆถๅฐไผšๆ•่ŽทๅฏๅŠจๅ’ŒๆŽจ็†ๆœŸ้—ดๅ†™ๅ…ฅ็š„ printk() ่พ“ๅ‡บใ€‚ๆˆๅŠŸ่ฟ่กŒๅŽ๏ผŒๆ‚จๅบ”็œ‹ๅˆฐ็ฑปไผผไปฅไธ‹ๅ†…ๅฎน็š„่กŒ๏ผš
TFLI[N] ่กŒๆ˜ฏๆฏไธชๆ‰นๆฌก็š„ๅปถ่ฟŸๆ‘˜่ฆใ€‚argmax ๆ˜ฏๅตŒๅ…ฅ่พ“ๅ…ฅๆ ทๆœฌ็š„้ข„ๆต‹็ฑปๅˆซใ€‚