测试芯片:stm32f103c8t6 和 stm32f103zet6 这是一个KEIL的USB HID程序,源程序能正常运行 移植IAR后,程序不能正常运行,在线仿真发现程序卡死在 usb_pwr.c 的 第71行 return USB_SUCCESS; KEIL和IAR编译均0错误 0警告 usb_pwr.c部分程序如下: RESULT PowerOn(void) { #ifndef STM32F10X_CL u16 wRegVal; /*** cable plugged-in ? ***/ USB_Cable_Config(ENABLE); /*** CNTR_PWDN = 0 ***/ wRegVal = CNTR_FRES; _SetCNTR(wRegVal); /*** CNTR_FRES = 0 ***/ wInterrupt_Mask = 0; _SetCNTR(wInterrupt_Mask); /*** Clear pending interrupts ***/ _SetISTR(0); /*** Set interrupt mask ***/ wInterrupt_Mask = CNTR_RESETM | CNTR_SUSPM | CNTR_WKUPM; _SetCNTR(wInterrupt_Mask); #endif /* STM32F10X_CL */ return USB_SUCCESS; //程序在这里卡死 } 枚举:typedef enum _RESULT { USB_SUCCESS = 0, /* Process successfully */ USB_ERROR, USB_UNSUPPORT, USB_NOT_READY /* The process has not been finished, endpoint will be NAK to further request */ } RESULT; 附件是KEIL和IAR两个版本打包 |
USB HID问题.rar
下载4.44 MB, 下载次数: 4, 下载积分: ST金币 -1
Your UAT Feedback is needed within today.
STM32_USB_Device_Library
用STM32F4 Cube MX生成的USB Device C代码的BUG
STM32F446 USB和串口1 冲突
STM32f407ZG使用STM32CubeMX创建USB应用失败
请教stm32F105 USB开发资料去哪里下载
STM32F103VE-USB-VCOM发不出数据
STM32cubemx 配置出的 USB HID 电脑无法识别
[STM32L496] 求助USBCDC通信,PC端总是需要插拔USB线问题
STM32F USB DFU下载无法识别USB设备
评分
查看全部评分
部分代码
楼主您要不看一下,于 Keil 上的那个 Staerup 内有配置如 Stack Size 的地方,先找个小程序如 Hello Word 等来试试?!
再不就是函数重入的问题!最后还有找个程序看一下那 Big Endian or Little Endian 等问题了,这些都是可以测出来的。
另本人才疏学浅,也没用过 IAR。若最后非此所述造成上请楼主及各位谅解。我是抱着纯回复来取积分的!哈~
评分
查看全部评分
首先谢谢你提供的思路,IAR的堆栈设置比KEIL里大 整个程序也没什么变量,没有很多数据,
论坛看了下KEIL STM32 默认是小端模式和IAR一样的 这个问题真的我点思路都没有
嗯,个人于十年前仅用过 IAR 的 MSP-430 捣鼓 Porting 了一个 uC/OS II 在 MSP-430 上跑跑玩玩。
而 IAR 其他系列的 Compiler 确实没用过,大多 Keil 能使的都用 Keil 来 Compiler 了!
建议楼主将规模弄得小一点让 IAR 编译后跑跑看,无问题再将全部曼满给加上。无论如何都祝楼主好运了。
编辑原因: 最后一行输入错字,是...无问题再将全部慢慢的给加上!
评分
查看全部评分