嵌入式技术william hill官网
直播中

mintsy

8年用户 1448经验值
擅长:MEMS/传感技术
私信 关注
[问答]

基于BSP创建的Pig_APP工程进行读U盘时先报PIP出错是何原因

问题引出:我进行USB_OTA,在studio下基于芯片创建的QBOOT工程+studio下基于BSP创建的demo_app工程进行USB_OTA完全成功,没有问题;

而QBOOT+keil下基于BSP创建的Pig_APP工程进行读U盘时先报PIP出错然后HARDFAULT。

对比发现,QBOOT的rtsetting和Pig_APP的ENV下的组件/IPC下都没有PIP使能大小这一项,而demo_app的rtsetting下组件/IPC里面是有PIP使能大小这一项,为何会这样?这就是我导致失败的原因?

但我在Pig_APP想的rtconfig.h中添加这一个宏#define RT_PIPE_BUFSZ 512也不行。因为全局查找没有使用这一宏的地方。

请问这一宏的关联都有哪些地方?为何作为系统组件的配置文件有的有宏配置有的无?

新的内核如何打开这个PIPE或者ENV工程内核如何回滚到前一个版本?

1.jpg

2.jpg

3.jpg

4.jpg

5.jpg

回帖(1)

mintsy

2022-9-21 11:03:16
发现USB中用的PIPE不是组件组件->驱动->pipe.c中概念,而是自定义的upipe_t。所以宏RT_PIPE_BUFSZ开不开无所谓,env中和studio中位置不一样,studio是在IPC下,而env是在posix下。
也就是说虽然usb读U盘失败报”in pipe error”错误,但因usbh就没有调用pipe.c所以应该与这个无关。那么这个出错是咋回事,翻了william hill官网 也没找到相似问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分