zxdmwh 发表于 2016-12-8 22:07:20

stm32f103c8t6程序烧写问题

买了一块飞控,控制芯片为stm32f103c8t6,程序编译后用keil5下载到飞控中,飞控便不能启动,f103指示灯不闪烁。把飞控厂家提供的bootloader刷入飞控,飞控便正常启动,但仍运行刷机前的程序。为何会出现这种情况?用keil5向飞控中下载程序,至少写入了部分程序,否则不会一刷bootloader就正常。但为何一刷bootloader就正常但运行刷机前的程序?是刷写的位置不对还是飞控厂家在bootloader中把运行程序的指向做了保护?

斜阳__ 发表于 2016-12-10 09:04:31

或许你说的bootloader就是完整的程序;或许你的程序很短没有覆盖到原本主的程序

发表于 2016-12-10 09:30:19

估计是程序的问题,跑一个简单的程序试试。保证程序先运行起来。

zwei99999999 发表于 2016-12-10 09:41:21

可能没清空原芯片里的程序或新的程序小没完全覆盖原程序或新程序有问题

没事逛荡 发表于 2016-12-10 12:22:00

二楼说的对,看下你下的程序地址,估计下程序时没有完全擦除吧。

ts2000 发表于 2016-12-10 12:35:51

可能厂家设置了佑护。。。

lulugl 发表于 2016-12-10 13:22:09

楼主,你换片芯片试试

无薪税绵 发表于 2016-12-10 15:48:42

编译后的程序有问题。

中山无雪 发表于 2016-12-10 16:01:00

有时厂家会故意在给出的代码中搞点手脚,好好看看代码吧!!!

既然能写进去就说明没什麽保护设置问题,更不存在所谓的“没有把原先的代码擦除掉”或“程序过短”的问题

LIUBEIHUA 发表于 2016-12-10 16:25:10

检查一下BOOT0,BOOT1连接不对下载的程序没运行,必须BOOT=0,BOOT1=1.
页: [1] 2
查看完整版本: stm32f103c8t6程序烧写问题