打印

HK32f103cbt6

[复制链接]
854|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qjixf|  楼主 | 2023-5-5 16:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
qjixf|  楼主 | 2023-5-8 14:54 | 只看该作者
问题已解决,参考 http://news.**/mcu/ic600596.html

使用特权

评论回复
板凳
qjixf|  楼主 | 2023-5-8 15:47 | 只看该作者
链接被吞,简述一下,在SRAM中运行flash解锁程序:
1,BOOT0、BOO1全部接1;
2,MDK新建工程,main.c如下
   #include "hk32f10x.h"
  #include "hk32f10x_flash.h"
int main(void)
{
   
    NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
    FLASH_Unlock();//unlock flash
    FLASH_ReadOutProtection(DISABLE);//unlock protection
    while(1) {;}
    return 0;
}
3,MDK options选项中设置
Target页: IROM1 Start:0x20000000 Size:0x4000 ;IRAM1 Start:0x20004000 Size:0x1000
C/C++页:Preprocessors Symbols define:HK32F103RBXX,VECT_TAB_SRAM
Linker页:R/O base:0x20000000  R/W base:0x20004000
Debug页:取消Load Application at Startup
Utilities页:取消选择Update Target before Debugging
               点setting,在Flash Download页选择Do not Erase,填写 RAM for Algorithm Start:0x20004000 Size:0x1000 ,Programming Algorithm Start:0x20000000 Size:0x4000 ,点ok返回Utilities页,
               新建一个runinsram.ini文件,Utilities页面中Init file选择runinsram.ini,
               runinsram.ini文件内容如下:

FUNC void Setup (void) {
  SP = _RDWORD(0x20000000);          // Setup Stack Pointer
  PC = _RDWORD(0x20000004);          // Setup Program Counter
  _WDWORD(0xE000ED08, 0x20000000);   // Setup Vector Table
}
LOAD ARMBlinky.axf INCREMENTAL      // Download
Setup();                             // Setup for Running
g, main

4,Build 工程后调试运行

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

9

帖子

0

粉丝