kendryte/k230_sdk

[Bug]: 如果大核要在开机的时候, 马上在\sharefs根目录创建文件/文件夹,那么会导致小核无法启动

roingbu opened this issue · 3 comments

What happened

如果大核要在开机的时候, 在\sharefs根目录创建文件/文件夹,那么会导致小核无法启动

  • ret = mkdir(path, 0777);大核在这一步后也会直接卡住。
  • ps: 检测是否有文件夹没事

Reproduction steps

  • ret = mkdir(path, 0777); \\ 大核在这一步后也会直接卡住。

  • 如果直接在\sharefs根目录保存图片亦然

  • string snapshot_img_name = "/sharefs/"+time_stamp + "-try2.jpg";
    snapshot_save(snapshot_img_name, (unsigned char*)vaddr, SENSOR_WIDTH, SENSOR_HEIGHT);

  • 主要问题是小核启动会报错 (VFS ERROR)

Hardware board

k230 evb board

Software version

No response

Bug frequency

No response

Anything else

No response

参考门锁应用,在完成上层的核间通讯建立后,开始使用sharefs

可以通过stat函数判断共享文件系统是否正常,比如如下代码可以实现等待共享文件系统正常后后再执行自启动程序。

src/big/rt-smart/kernel/rt-thread/components/finsh/shell.c  第456行参考修改为如下:

if(shell_thread_first_run) {
	// shell_thread_first_run = 0;
	// msh_exec("/bin/init.sh", 13);
	struct stat stat_buf
	if(0 == stat("/sharefs/app/micropython",&stat_buf)){
		shell_thread_first_run = 0;
		rt_kprintf(FINSH_PROMPT);
		msh_exec("/bin/init.sh", 13);
	}
	continue;
}

未收到当前issue的任何反馈或回复,先close了,如后续仍有问题,可以reopen并继续反馈最新的进展