当前位置: 首页 > wzjs >正文

开封做网站的公司网页ui设计模板代码

开封做网站的公司,网页ui设计模板代码,深圳招聘网站排名,erp系统开发1. 启动模式与地址映射 STM32F103 的启动模式由 BOOT0 和 BOOT1 引脚配置决定,不同的启动模式对应不同的存储器映射: 启动模式 映射地址范围 说明 主 Flash 0x08000000~0x0807FFFF 用户程序存储在 Flash 中,复位后从 Flash 启动&#xff08…

1. 启动模式与地址映射

STM32F103 的启动模式由 BOOT0 和 BOOT1 引脚配置决定,不同的启动模式对应不同的存储器映射:

启动模式 映射地址范围 说明
主 Flash 0x08000000~0x0807FFFF 用户程序存储在 Flash 中,复位后从 Flash 启动(默认模式)。
系统存储器 0x1FFFF000~0x1FFFF7FF 内置 Bootloader(ISP 编程用),用于通过串口/USB 下载程序。
内置 SRAM 0x20000000~0x2000FFFF 调试或临时运行代码时使用,需手动加载程序到 SRAM。
地址重映射:Cortex-M3 内核复位后,始终从 0x00000000 读取初始堆栈指针(SP)和复位向量。STM32 通过内部机制将上述物理地址映射到 0x00000000(例如,Flash 启动时 0x08000000 被映射到 0x00000000)。

2. 启动过程关键步骤

(1) 硬件复位
复位后,内核执行以下操作:

从 0x00000000 读取 初始堆栈指针(MSP)。

从 0x00000004 读取 复位向量地址(程序入口 Reset_Handler)。

跳转到复位向量地址执行代码。

(2) 启动文件(Startup Code)
启动文件(如 startup_stm32f103xe.s)是汇编代码,负责初始化关键硬件并引导到 main() 函数。主要流程如下:

初始化堆栈指针
定义主堆栈(MSP)和可选的进程堆栈(PSP):

assembly
; 定义堆栈段
Stack_Size      EQU     0x400AREA    STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem       SPACE   Stack_Size
__initial_sp

向量表(Vector Table)
中断向量表位于 Flash 起始位置,包含中断服务函数地址:

assembly
; 中断向量表
Vector_Table    DCD     __initial_sp             ; 初始堆栈指针DCD     Reset_Handler            ; 复位向量DCD     NMI_Handler              ; NMI 处理函数DCD     HardFault_Handler        ; 硬件错误处理函数...                              ; 其他中断向量

复位处理函数(Reset_Handler)
复位后执行的核心初始化代码:

assembly
Reset_Handler   PROCEXPORT  Reset_Handler           [WEAK]IMPORT  SystemInit               ; 引入 SystemInit 函数IMPORT  __main                  ; 引入 C 库初始化函数LDR     R0, =SystemInit          ; 加载 SystemInit 地址BLX     R0                       ; 调用 SystemInit(初始化时钟等)LDR     R0, =__main              ; 加载 __main 地址BX      R0                       ; 跳转到 __main(初始化 C 库并调用 main())ENDP

(3) SystemInit 函数
SystemInit() 在 system_stm32f1xx.c 中定义,负责初始化关键系统配置:

设置时钟源(HSI/HSE/PLL)。

配置 Flash 预取、等待周期。

初始化 AHB/APB 总线时钟。

可选:配置向量表偏移寄存器(VTOR)。

(4) __main 和 main()
__main:C 库函数,负责初始化全局变量、堆栈,最终调用用户 main()。

main():用户程序入口。

  1. 关键指令说明
    启动文件中的汇编指令示例:

LDR R0, =label
将 label 的地址加载到寄存器 R0。

assembly
LDR R0, =SystemInit ; 将 SystemInit 函数的地址加载到 R0
BLX R0
跳转到 R0 指向的地址(调用函数),并保存返回地址到 LR 寄存器。

assembly
BLX R0 ; 调用 SystemInit()
BX R0
跳转到 R0 指向的地址(不保存返回地址)。

assembly
BX R0 ; 跳转到 __main
PROC / ENDP
定义函数块的开始和结束。

assembly
Reset_Handler PROC

ENDP

4. 内存布局与 VTOR

向量表偏移寄存器(VTOR):
默认向量表位于 Flash(0x08000000),可通过修改 VTOR 寄存器重定位向量表(如将向量表复制到 RAM):

c
SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; // 在 SystemInit 中配置
典型内存分布:

0x00000000: 映射到启动存储器(Flash/系统存储器/SRAM)
0x08000000: Flash 实际地址
0x20000000: SRAM 地址
0x40000000: 外设寄存器

5. 常见问题

启动失败的可能原因

堆栈溢出导致 MSP 初始化错误。

复位向量未正确指向 Reset_Handler。

时钟配置错误(如未启用外部晶振 HSE)。

调试技巧

检查向量表是否对齐到 0x200 的倍数。

使用调试器查看 SP 和 PC 的初始值。

总结

STM32F103 的启动过程由硬件复位、启动文件初始化、系统配置和用户程序执行组成。理解地址映射、向量表和关键指令对调试和优化启动流程至关重要。开发者可通过修改启动文件或调整 BOOT 引脚选择不同的启动模式。


文章转载自:

http://D74Kt30t.kxqwg.cn
http://OdvZ4jCU.kxqwg.cn
http://9xq1MRqx.kxqwg.cn
http://KNPsrIfd.kxqwg.cn
http://L7lZ6907.kxqwg.cn
http://R0OKw2J0.kxqwg.cn
http://3aKGtbDL.kxqwg.cn
http://SSTNNMKT.kxqwg.cn
http://O1vvgKh0.kxqwg.cn
http://5sUZwgVr.kxqwg.cn
http://COf1GfrI.kxqwg.cn
http://lsyU205s.kxqwg.cn
http://4mcs5RUZ.kxqwg.cn
http://e4WkfxRM.kxqwg.cn
http://57QwNncU.kxqwg.cn
http://w7K6L78G.kxqwg.cn
http://5bXI4fV1.kxqwg.cn
http://K9PB1UA8.kxqwg.cn
http://8VvvPeaQ.kxqwg.cn
http://Qt86CYHk.kxqwg.cn
http://nFIH0Obq.kxqwg.cn
http://frrdVcDj.kxqwg.cn
http://pVgpsg3C.kxqwg.cn
http://LCPXqKxK.kxqwg.cn
http://xK3eThY9.kxqwg.cn
http://ZupRZxie.kxqwg.cn
http://6dPypQPo.kxqwg.cn
http://7MQI4De9.kxqwg.cn
http://fdHmuxAJ.kxqwg.cn
http://QmNa6Ax2.kxqwg.cn
http://www.dtcms.com/wzjs/749285.html

相关文章:

  • 高端品牌网站建设专人一对一服务重庆优化网站排名
  • 网站建设合同 印花税软件著作权申请
  • 网站尾部wordpress 多语言 主题
  • 网站建设实训设计思想wordpress 标题颜色
  • 如何建立优秀企业网站如何能查到百度搜索排名
  • 龙岗网站的建设常德网站建设技术
  • 天津网站建设培训班科技公司手机网站
  • 哪个着陆页网站网站建设前期准备工作总结
  • 网站建设的优点网站建设包括哪些方面
  • 专业建站公司联系方式枣庄网站建设多少钱
  • 杭州公司网站制作维护wordpress与cms
  • 网站建设怎么好石家庄网站建设报价
  • 网站设计制作一条龙桂平网站制作
  • 常州网站建设包括哪些ui设计的优势与不足
  • 网站建设与搜索引擎营销有什么关系男的做那个视频网站
  • 门户网站建设调查问卷中国重大新闻
  • 做网站怎么去找客户伪静态规则变动对网站的影响
  • 做外贸哪个英文网站好高端网站建设专家
  • 怎么注销网站昆明c2c网站建设
  • 大型网站建设兴田德润赞扬建设银行网站可以查保单吗
  • 广州最专业的网站建设创建网站的步骤是
  • 友联建设集团官方网站wordpress管理员用户名更改
  • 做心悦腾龙光环的网站网页制作背景图
  • 打网站显示域名解析错误甘肃省建设厅门户网站
  • 郴州网站维护咨询公司面试
  • 网站建设有关的职位开发网站软件
  • 网站建设第一步在家自己做网站
  • sns社交网站建设阳东城乡规划建设局网站
  • 网站建设找盖亚科技重庆专业做网站
  • mvc5 网站开发之學 pdf天津品牌网站设计