完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
买了一块飞控,控制芯片为STM32f103c8t6,程序编译后用keil5下载到飞控中,飞控便不能启动,f103指示灯不闪烁。把飞控厂家提供的bootloader刷入飞控,飞控便正常启动,但仍运行刷机前的程序。为何会出现这种情况?用keil5向飞控中下载程序,至少写入了部分程序,否则不会一刷bootloader就正常。但为何一刷bootloader就正常但运行刷机前的程序?是刷写的位置不对还是飞控厂家在bootloader中把运行程序的指向做了保护?
|
|
相关推荐
17个回答
|
|
|
或许你说的bootloader就是完整的程序;或许你的程序很短没有覆盖到原本主的程序
|
|
|
|
|
|
估计是程序的问题,跑一个简单的程序试试。保证程序先运行起来。
|
|
|
|
|
|
可能没清空原芯片里的程序或新的程序小没完全覆盖原程序或新程序有问题
|
|
|
|
|
|
二楼说的对,看下你下的程序地址,估计下程序时没有完全擦除吧。
|
|
|
|
|
|
可能厂家设置了佑护。。。
|
|
|
|
|
|
楼主,你换片芯片试试
|
|
|
|
|
|
编译后的程序有问题。
|
|
|
|
|
|
|
|
|
|
|
|
检查一下BOOT0,BOOT1连接不对下载的程序没运行,必须BOOT=0,BOOT1=1.
|
|
|
|
|
|
先擦拭芯片,然后下载bootload,再下载程序
|
|
|
|
|
|
从你的描述可以看出,bootloader下载后就能正常运行你程序编译并下载的程序,因此你检查一下程序编译的起始地址是否不是复位地址0x8000000,如果不是复位地址,则必须经过bootloader跳转才能真正运行你编译的程序!
|
|
|
|
|
|
可能厂家设置了佑护
|
|
|
|
|
|
二楼说的对,看下你下的程序地址,估计下程序时没有完全擦除吧。
|
|
|
|
|
|
烧写位置,但APP不致于小于BOOT长度吧?看看BOOT吧,是不是把FLASH分成两个应用程序区了.
|
|
|
|
|
|
也不排除芯片本身有问题,某宝上的“散新”问题很多,更别说回收芯片了
|
|
|
|
|
|
跑飞了
|
|
|
|
|
|
跑飞了
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
651 浏览 0 评论
712 浏览 0 评论
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
4375 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
3176 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2629 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-10 04:30 , Processed in 1.125440 second(s), Total 106, Slave 89 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2261