完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、进入BootLoader模式
根据STM8的资料可以知道,进入BootLoader的方法只有两种:
二、写入OPTION配置参数 通过Flash写入的方式将地址 487Eh 和 787Fh写入0x55和0xAA即可,通过MCU执行一次Flash写入。 1、使用库函数 此方法只适用于可以使用库函数的MCU,记得引用库的头文件 stm8s_flash.h,若MCU不能使用库函数可以使用寄存器方法。 /* 定义Flash编程时间 */ FLASH_SetProgrammingTime(FLASH_PROGRAMTIME_STANDARD); /* 解锁Flash */ FLASH_Unlock(FLASH_MEMTYPE_DATA); FLASH_ProgramByte(0x487E,0x55); FLASH_ProgramByte(0x487F,0xAA); FLASH_Lock(FLASH_MEMTYPE_DATA); 2、使用寄存器 由于部分STM8芯片没有标准库的支持,导致不能使用 stm8s_flash 库函数,以下提供一个寄存器的方式写OPTION配置参数的方法: /*解锁Flash*/ do { FLASH_DUKR = 0xAE; FLASH_DUKR = 0x56; } while(!(FLASH_IAPSR & 0X08)); /*对选项字节进行写操作使能*/ FLASH_CR2 = 0X80; /*互补控制寄存器*/ FLASH_NCR2 = 0X7F; /*写入OPTION内容*/ *((unsigned char *)0x487E) = 0x55; *((unsigned char *)0x487F) = 0xAA; /*等待写结束*/ while(!(FLASH_IAPSR & 0x04)); 三、硬件连接方式 这里我们使用串口模块来连接MCU,这里需要注意,串口模块需要引出RST和CST引脚。 若串口没有RST和CST引脚则需要手动复位MCU,而且需要在复位后1秒内使用软件连接MCU。 四、烧录程序 MCU连接好串口后,将串口模块连至电脑,打开 STMFlashLoader Demo.exe 软件。 STMFlashLoader Demo下载地址:FLASHER-STM8 选择好串口号、波特率等参数。 根据MCU的Flash容量选择Target 选择需要下载的hex文件 下载完成 若重新下载需要重新插拔串口模块,并重新打开软件重复以上操作。 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2955 浏览 16 评论
3455 浏览 1 评论
8987 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 23:17 , Processed in 0.930433 second(s), Total 47, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号