完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
这是程序源码:int main(void)
{ mainInit(); delay_ms(2000); delay_ms(2000); OSInit(); OSTaskCreate(start_task, (void *) 0,(OS_STK *) &START_TASK_STK[START_STK_SIZE - 1], START_TASK_PRIO); OSStart(); } void start_task(void *pdata) { u8 *sta; DEBUG("PC_process", " enter start_task function !!!"); OSStatInit(); while (1) { delay_ms(2000); DEBUG("PC_process", " sta = %d",*sta); } } 下面是用cmBackTrace 工具 定位出来的错误信息: E:工作MCU 资料STM32 资料cmBacktrack_project_testcmbackTraceonline_gprsObjects>addr2line -e charger.axf -a -f 08000352 0800252b 0800428f 080002ff 0x08000352 OSStartHighRdy E:工作MCU 资料stm32 资料cmBacktrack_project_testcmbackTraceonline_gprs/..src_commonucosiiport/os_cpu_a.asm:110 0x0800252b OSStart E:宸ヤ綔MCU 璧勬枡stm32 璧勬枡cmBacktrack_project_testcmbackTraceonline_gprs/..src_commonucosiicore/os_core.c:830 0x0800428f main E:宸ヤ綔MCU 璧勬枡stm32 璧勬枡cmBacktrack_project_testcmbackTraceonline_gprs/srcmain.c:52 0x080002ff __rt_entry_main 通过 工具定位出来的是 main.c 中 的 第 52 行有问题, 52 行对应的是 OSStart(); 但是程序的错误 应该在 DEBUG("PC_process", " sta = %d",*sta); 为什么定位的 不正确啊??? 这是什么原因??? |
|
相关推荐
3个回答
|
|
|
|
|
|
|
|
|
难道是你指针使用的有问题?那你这个指针指到哪里去了 或者你强行换一换这个变量类型 别用指针了试试
|
|
|
|
|
|
空指针错误
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2810 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2420 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2288 浏览 0 评论
2404 浏览 1 评论
1643 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 14:18 , Processed in 0.622268 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1152