完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目前搞usb驱动,发现程序下载后跑不起来(甚至都确认没跑到board.c文件下的rt_hw_board_init()函数),研究了很久,没有突破,请大神助我! 研究了很长时间,发现关键点如下: 经过反复测试,发现注释掉drv_usbd.c文件下的一行代码后,就可以正常跑到main(),否则死机: static int rt_usbd_init(void) 如果注释掉该行代码,跑起来后查看设备列表是能看到hidd和usbd设备的。当然,此时接上USB线连接电脑,两边都没反应: msh4 >list_device hidd Character Device 0 或者,不注释_fsl_udc_0.parent.init = drv_ehci0_usbd_init;改成注释以下两行,也可以跑到main(): static rt_err_t drv_ehci0_usbd_init(rt_device_t device) 我目前用的是NXP 官方的EVK, 硬件没有问题。这个问题反复研究了很久,搞不定,请大神出招,谢谢! |
|
相关推荐
4个回答
|
|
// result = USB_DeviceInit(kUSB_ControllerEhci0, usb_device_callback, &ehci0_handle);//注释1; // RT_ASSERT(ehci0_handle);//注释2
这里应该是 USB_DeviceInit 没有给echio_handle赋值。,导致无法过断言。你应该进这个函数看看为啥无法初始化成功 |
|
|
|
就是因为无法断言通过,我才有意一起将两行代码注释掉,才可以跑到main()啊。现在的问题,就是如果我取消这两行代码,代码重新烧进去,跑不起来。我之所以注释掉这两行,可以跑到main(),就是提供一个线索:问题很有可能跟注释的代码有关,但我找不到深入的问题,让大伙协助分析一下。
|
|
|
|
USB_DeviceInit(kUSB_ControllerEhci0, usb_device_callback, &ehci0_handle);
debug 这个函数试试。或者试试cherry_usb软件包 |
|
|
|
debug不了,连board.c的rt_hw_board_init()都进不来。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
753 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
2714 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1368 浏览 0 评论
1955 浏览 0 评论
1523 浏览 0 评论
74947 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 00:36 , Processed in 0.850056 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号