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

网站开发百度百科主页不是wordpress

网站开发百度百科,主页不是wordpress,wordpress 医院模板下载,seo从0到1怎么做三种不同的下载方式 ICP(最常用) ICP下载:在线编程一般通过仿真器进行下载。DAP-Link,ST-Link等,通过JTAG和SWD协议进行下载。 ISP(串口下载) ISP下载:就是串口下载,一…

三种不同的下载方式

ICP(最常用)

ICP下载:在线编程一般通过仿真器进行下载。DAP-Link,ST-Link等,通过JTAG和SWD协议进行下载。

ISP(串口下载)

ISP下载:就是串口下载,一般通过串口1并配合ISP编程工具(如:FlyMcu)进行下载。串口下载,一般用的是系统存储区的bootloader程序,该程序厂家自带的。需要具备下载电路。

IAP(远程升级)

IAP下载:在系统中编程。也称为远程升级。需要自行编写bootloader程序。可以使用UART,IIC,SPI,CAN等通信协议进行程序的更新、下载。下载程序前,需要我们提前在单片机的flash中,利用前面的两种方式之一,烧录一段我们编写好的bootloader程序。

通俗点理解,IAP编程,实际上就是利用通信协议传输程序文件,然后bootloader程序把程序代码搬运到合适的地方,进而实现代码的烧写。

程序代码写入地址的区别

ICP下载方式和ISP下载方式程序代码都是从地址0x0800 0000开始写入的。

IAP下载方式,程序代码的地址是0x0800 0000 + 偏移量(bootloader大小)开始写入。

注意:在进行IAP下载之前,必须先通过ICP或者ISP下载方式,将自行编写好的bootloader程序烧录进了单片机中,这样才能进行IAP下载。二者之间的关系是,用户编写好bootloader,然后单片机利用这个bootloader程序,进行IAP升级。

启动模式

一般常见的启动模式有三种,分别是:主闪存存储器启动系统存储器启动内置SRAM启动

启动模式的选择通常改变BOOT引脚的高低电平进行选择。

大部分情况下,我们的启动模式都是为主闪存存储器启动。

各启动模式的功能

主闪存存储器启动,通常用于执行程序。

系统存储器启动,通常用于串口下载程序。(因为芯片厂家在系统存储器中烧写了实现串口下载功能的bootloader程序)

内置SRAM启动,通常用于调试程序。

程序执行流程的分析

一般的程序执行流程

stm32的内部闪存(Flash)的起始地址是0x0800 0000,一般情况下,程序代码就从此地址开始写入。

0x0800 0004开始存放中断向量表。当中断来临时,STM32的内部硬件机制回自动将PC指针定位到“中断向量表”处,并根据中断源取出对应的中断向量执行中断服务程序。

1. STM32复位后,从0x0800 0004地址取出复位中断向量的地址,并跳转到复位中断服务。

2. 在复位中断服务程序执行完后,会跳转到我们的main函数。

3. main函数执行过程中,如果收到中断请求,此时stm32强制将PC指针指回中断向量表处。

4. 根据中断源进入相关的中断服务程序。

5. 在执行完中断服务程序后,程序再次返回main函数执行。

加入IAP之后的程序执行流程

1. STM32复位后,还是从地址0x0800 0004取出复位中断向量的地址,并跳转到复位中断服务程序,在运行完复位中断服务程序之后跳转到IAP的main函数。

2. 执行完IAP后,跳转至app的复位向量表,取出app的复位中断向量地址,并跳转到app的复位中断复位程序,随后跳转至app的main函数。

3. 在app的main函数执行过程中,如果CPU得到一个中断请求,PC指针仍然是强制跳转至地址0x0800 0004中断向量表处,而不是app的中断向量表。

4. 程序再根据我们设置的中断向量表偏移量,跳转至对应中断源新的中断服务程序中。

5. 在执行完中断服务程序后,程序返回app的main函数继续执行。

IAP原理

日后填坑。

IAP编程步骤

bootloader工程的配置

1. 首先查看编写的bootloader程序有多大

打开keil5,双击工程名,打开.map文件,可以看见自己bootloader程序的大小。

2. 在bootloader的keil工程中,设置分配给bootloader程序的大小。这里为其分配的大小是0x4000

注意:因为bootloader的烧写是通过ICP或ISP下载,所以bootloader的程序起始地址是

0x0800 0000。

app工程的配置

1. 在app的keil工程中设置,起始地址和程序的大小(Size)。

Size = Flash总容量 - bootloader分配的空间大小。起始地址是0x0800 0000 + 给bootloader分配的大小。

在app的主函数,设置相关偏移量的代码。

http://www.dtcms.com/wzjs/538998.html

相关文章:

  • 城乡建设部网站安全员证书查询软件开发者怎么赚钱
  • 高端全屋定制十大名牌排行榜seo人员工作内容
  • 网上商城网站开发需求说明书网站空间哪家做的好
  • 网站建设哪个平台好网页制作与设计实训
  • ppt免费模板大全网站wordpress edd 卡密
  • 汽车维修保养网站模板衡阳网站排名优化公司
  • 网站安全防护方案教做甜点的网站
  • 哪个网站做设计兼职不用压金甘肃省城乡建设局网站首页
  • 哈尔滨工程项目建设网广告优化师的工作内容
  • 网站seo系统网站地图做法做
  • 网站活泼电子商务网站数据库怎么做
  • 哪个网站的课件做的好网站右边悬浮代码
  • 网站建设培训 上海可以投放广告的网站
  • 淘客网站做的好的本溪市住房和城乡建设局网站
  • 建网站选哪个wordpress 3.8.3 下载
  • 苏州知名网站建设设计公司排名wordpress弹幕播放
  • 百度云域名怎么做网站上海专业网站建设费
  • 国外视觉设计门户网站一级a做爰片在线看免播放器网站
  • 网站 侧边栏图片素材网站排行榜
  • 网站做系统叫什么软件有哪些岳阳网站搭建
  • 宜昌网站制作个人网站号备案吗
  • 高端型网站制作旅游网站建设经济评价
  • 好口碑自适应网站建设小白源码网
  • 椒江住房和城乡建设规划局网站做喷绘可以在那个网站找
  • 没有网站如何做cps新媒体营销发展趋势
  • 机械网站建设营销重庆网站建设公司咨询亿企帮
  • 如何做高并发网站的架构设计免费空间网站怎么做出来的
  • 网站建设如何搞活动wordpress获取页面图片路径
  • 能搜任何网站的浏览器怎么做html网页
  • 合肥网站定制开发公司网站整体建设方案