历史上的今天
返回首页

历史上的今天

今天是:2024年09月11日(星期三)

正在发生

2019年09月11日 | STM32L151C8T6 的IAP实现方案

2019-09-11 来源:eefocus

STM32L151C8T6的Bootloader设计

思想:

FLASH分三个区:


Bootloader区: 校验备份程序,若满足条件将用备份程序替换用户程序,否者运行用户程序.


运行区:运行用户程序,程序中要求能接受用户程序到备份区,接收完后,在备份区的程序头内打上标记,然后启动Bootloader,由Bootloader完成程序替换


备份区:用户程序在此接受


4.1 空间分区

STM32L151C8T6有64KB的FLASH空间,每4KB是一个区,每个区有16个页,程序编程是按页来编程的.


程序的Vector是按512的整数倍偏移的, 空间划分如下图, 后续所示的设置都是基于这个空间划分来配置的.


程序头的含义是这个新程序正文的标签,标记了当前程序的版本号,程序总校验,程序总包数,程序的适用设备类型,等信息.


 

4.2 Bootloader需要设定的地方

4.2.1 设置Bootloader的ROM空间

Bootloader最好是扇区的整数倍!

4.2.2 设置JLINK的烧写空间区间

 

4.2.3 设置烧写文件输出

注意第六步是要选择是STM32L15x LowPower FLASH,不能选择STM32F的类型哦!!!

4.2.4 使用JLIN在线烧写Bootloader

4.2.5 要点

连接JLINK后再点LOAD按键,就可将Bootloader烧写进设定好的Bootloader区,而不会影响任何其地址空间的FLASH.


如果Bootloader空间划分不是扇区的整数倍,MDK会按Bootloader占用的扇区擦写,如Bootloader占用4.2KB,实际MDK会先擦除8KB空间


Bootloader程序最好先关闭中断,在用户程序中由用户开启


4.3 用户程序需要设定

4.3.1 设置用户运行程序的FLASH


4.3.2 设置JLINK烧写地址

4.3.3 设置输出文件



输入内容: fromelf.exe --bin -o  $L@L.bin


4.3.4 烧写用户程序

点击LOAD按钮可烧写编译好的用户程序到程序运行区,而不会干预任何其他区.


4.3.5 用户程序要点

由Bootloader存在的用户程序需要在用户的main程序中添加如下信息,不加这些信息程序会死机的哦!!!


int main(void)


{   


   NVIC_SetVectorTable(0x08001200,0);            //设置中断向量表


    __enable_irq();                                                       //允许全局中断


   


//以下是用户代码


……



推荐阅读

史海拾趣

EPIGAP公司的发展小趣事

EPIGAP公司的创始人李先生在半导体领域拥有深厚的技术背景。在公司初创时期,他带领研发团队成功研发出一种新型的高性能芯片,该芯片在功耗和性能上均达到了行业领先水平。这一技术突破使得EPIGAP公司在激烈的市场竞争中脱颖而出,迅速获得了众多客户的青睐。凭借这一产品,EPIGAP成功打开了市场,为后续的发展奠定了坚实的基础。

Delus Corp公司的发展小趣事

随着产品技术的成熟和市场需求的增长,Delus Corp公司开始积极拓展市场。公司不仅在国内市场取得了显著成绩,还通过参加国际展览、建立海外销售网络等方式,成功打入国际市场。此外,公司还与国际知名企业开展合作,共同研发新产品,进一步提升了公司的国际竞争力。

EMLSI公司的发展小趣事

在电子行业中,产品质量是企业生存和发展的关键。EMLSI公司深知这一点,因此始终将品质管理放在首位。公司建立了严格的质量管理体系,从原材料采购到产品生产的每一个环节都进行严格把关。同时,EMLSI还注重与客户的沟通和反馈,及时解决客户在使用过程中遇到的问题。这种对品质的执着追求让EMLSI赢得了客户的信任和忠诚。

D1 International Inc公司的发展小趣事

D1 International Inc公司深知,持续的技术创新是企业发展的核心动力。因此,公司不断加大研发投入,积极引进和培养高素质的研发人才。通过不断的创新实践,D1 International Inc公司在多个领域取得了重要的技术突破,为公司的发展注入了新的活力。

远阳(FLYOUNG)公司的发展小趣事

福建国光新业科技股份有限公司,作为全球领先的聚合物片式叠层铝电解电容器(MLPC)制造商,自成立之初便致力于国产高端被动元器件的技术开发与产品创新。面对高端电容器被国外厂商长期垄断的局面,国光新业经过长期技术积累与研发,成功打破了国际垄断,实现了MLPC电容器的国产替代。这一成就不仅填补了国内空白,还使公司在细分领域发明专利授权数量上跃居全球第一,荣获多项国家级荣誉称号。

Horn公司的发展小趣事

随着汽车、通用工程、液压/气动、珠宝和医疗设备等行业对高精度切削工具需求的增长,Horn公司不断加大研发投入。公司成功开发出超硬切削材料如单晶金刚石(MCD)、多晶金刚石(PCD)和立方氮化硼(PCBN),这些材料的应用极大地提高了切削效率和加工精度。Horn公司的技术创新不仅满足了市场对高质量刀具的需求,还推动了整个切削工具行业的进步。

问答坊 | AI 解惑

我军建国以来到21世纪初的军用电台

我军建国以来到21世纪初的军用电台 50年代,71型报话机 第一代我国生产的无线电台 “英雄儿女”中王成高喊:“向我开炮”用的就是71型报话机。 50年代,我国建国后第一批自行研制生产的短波电台,广泛用于抗美援朝战场 由于当时的报废销毁执行 ...…

查看全部问答>

ARM板子上的网口RTL8019?急

各位大侠 小弟项目中用到ARM(s3c44b0)的网口扩展功能,在主程序中是通过中断形式应用的,最要命的是我不怎么懂那些协议,什么ARP,TCp,我所要建立的连接应该是可靠性连接,但是我看别人的程序,大概是要根据各个包的形式,做一些判断,然后建立 ...…

查看全部问答>

如何使用c8051f020设计数据采集电路

小弟单片机新手,刚买个c8051f020评估板,想用它做一个数据采集系统,想同时采集三路电压信号。电压大小3-9V吧,想知道该如何设计这个采集系统,外围电路都应该有什么。。。。请各位大侠给点指点,或者能给个实例啥的让小弟研究一下;P…

查看全部问答>

网络开发笔记_开发平台

1、BSD TCP/IP协议栈        BSD栈历史上是其他商业栈的起点,大多数专业TCP/IP栈(VxWorks内嵌的TCP/IP 栈)是BSD栈派生的。这是 因为BSD栈在BSD许可协议下提供了这些专业栈的雏形,BSD许用证允许BSD栈以修改或未 ...…

查看全部问答>

LM3S8962学习笔记1——快速了解LM3S8962微处理器

快速了解LM3S8962微处理器 自从脱离了汇编时代,人们学习微控器的方法就发生了重大的改变,以前必须了解微控器内部每个寄存器的地址控制方式和指令等,必须深入挖掘控制器内部的角角落落才能算是了解掌握。 但是C的出现,让我们不必去弄清繁杂的 ...…

查看全部问答>

用PLL产生反向时钟有问题

在Altera的FPGA里用了一个PLL,希望产生一个相位差为180度的时钟,就是和原来的时钟反向,但发现出来的时钟和原时钟相位不是我期望的180度。那位知道该怎么办呢 ?…

查看全部问答>

有关库问题

                                 本人以前用PIC或51芯片的C语言做程序,都是一般自己写。但现在刚接触到ST的资料,见很多人都是用库来做写程序。由 ...…

查看全部问答>

stm8S原理图

请问这个几号与几号口连一起??…

查看全部问答>

单片机程序设计

单片机(MCU)软件和硬件解决方案。电路板开发设计 ,电路板改板,PCB软/硬件开发设计,PCB改板 主要为客户提供单片机(MCU)软件和硬件解决方案。电路板开发设计 ,电路板改板,PCB软/硬件开发设计,PCB改板,   主营业务:提供单片机(MCU) ...…

查看全部问答>

FRAM

    上次参加过TI和艾睿的MCU day后才知道带FRAM的MSP430,以前一直用的是MSP430f149,根本不知道FRAM。查了资料后发现FRAM的性能比Flash好多了,不仅写入速度快,而且擦写次数寿命也比Flash高得多。不仅如此,FRAM的功耗相当低,和 ...…

查看全部问答>