飞思捷芯的个人空间 https://bbs.21ic.com/?1713630 [收藏] [复制] [RSS]

日志

二:硬件层面理解ISP下载及启动配置和存储器

已有 473 次阅读2016-1-2 23:22 |个人分类:工程师之路|系统分类:ARM| ISP, 存储器, 启动模式

 一:什么是ISP下载?
      ISP(in-system programming)在线系统编程,一种无需将存储芯片(如EPROM)从嵌入式设备上取出就能对其进行编程的过程。
二:程序下载到程序存储过程的整个硬件流程
      在MDK5中建立工程并生成hex文件,通过ISP下载软件将代表工程的hex文件下载到单片机,示意图如示:
这里需要注意的是USB信号线中的逻辑电平属于差分信号,和单片机中的TTL(5V\3.3V)是不兼容的,信号传输时需要电平转换电路,所以要用到CH340/PL2303,所以要安装usb串口驱动,这样就会在电脑中虚拟出一个标准的串口(像DB9那样直接插进去),此部分电路如示:                                      
下面的是带有一键下载功能的USB USART转换电路,必须注意的是在程序下载过程中只能通过串口一下载,只能!!!(为什么这样我还不知道)
三:STM32的启动模式选择和一键下载

主闪存存储器:用户闪存=芯片内置的FLASH,(STM32F103ZET6中的512K的flash)。系统存储器=芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。

在系统复位后,SYSTEM的第四个上升沿,BOOT引脚的值将被锁存,用户可以通过设置BOOT0和BOOT1引脚的状态,来选择在复位后的启动模式

1、从主闪存存储器启动:主闪存存储器被映射到启动空间(0X0000 0000),但仍然能够在它原有的地址(0X0800 0000)访问它,即闪存存储器的内容可以在两个地址区域访问

2、从系统存储器启动:系统存储器被映射到启动空间(0X0000 0000),但仍然能够在它原有的地址(互联型产品原有地址为0X1FFF B000,其他产品原有地址为0X1FFF F000)访问它。

3、从内置SRAM启动:只能在0X2000 0000开始的地址区访问SRAM

在说明一键下载原理之前,先来说下ISP下载一般步骤:  

明天再说,好困!!!







路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (1 个评论)

回复 飞思捷芯 2016-1-8 13:25
ISP下载的一般步骤:1、boot0接3.3,boot1接gnd,这样就是设置从系统存储器里启动,按了复位键后,单片机从系统存储器执行bootloader代码,配合电脑上的下载软件,将程序下载到flash里面,此时完成代码的下载,若要运行程序,就需重新连接boot0.boot1引脚,前者接地,后者随意,此时设置从flash里面启动,(flash里面已经有了程序),按复位键,执行flash里面的代码,一键下载就是将下载和执行,也就是一般步骤中的两步,缩减为一步,通过软件复位,使得程序下载完成后直接运行,具体原理,我也不清楚。