历史上的今天
返回首页

历史上的今天

今天是:2025年03月03日(星期一)

正在发生

2020年03月03日 | stm32 启动代码应用技巧

2020-03-03 来源:eefocus

前段时间对stm32的启动代码进行了一个小小的研究,发现了一些比较好用的技巧,在这分享下!


总体上说,整个启动代码就是中断初始化为主,以及中断之后如何进行调配函数!


首先看这么一段代码:Reset_Handler


; Reset handler

Reset_Handler    PROC

                 EXPORT  Reset_Handler             [WEAK]

     IMPORT  __main

IMPORT  SysInit

     IMPORT  SystemInit

                 LDR     R0, =SystemInit

                 BLX     R0

LDR R0, =SysInit

BLX R0

                 LDR     R0, =__main

                 BX      R0

                 ENDP


这其实上是Reset中断后生的事情,不难发现,这也就是进入主函数的通道!

我在这里加了一个


IMPORT  SysInit

LDR R0, =SysInit

BLX R0


这是我自己写的一个函数,因为我每次程序一开始跑,我就像让他运行这段代码,所以我就把他也加到这里了!

可见,我们如果想在进入主函数之前运行什么,那么我们就可以在这里加我们需要的代码;


一定要注意我加的位置,他其实上就是入栈和出栈的做法!所以我们一定要注意入栈和出栈的顺序!

我们在来看看其他的中断处理,也都是同样的道理!


PendSV_Handler  PROC

                EXPORT  PendSV_Handler             [WEAK]

                B       .

                ENDP

SysTick_Handler PROC

                EXPORT  SysTick_Handler            [WEAK]

                B       .

                ENDP


ok,这个其实很简单,不过很实用!

PS:有的人用的是库里面的bootloader,为只读文件,我们需要把他删了,重新复制一个添加进去!

推荐阅读

史海拾趣

Barnbrook Systems Limited公司的发展小趣事

在电子产品行业,产品质量和客户服务是企业生存和发展的关键。Barnbrook深知这一点,因此在发展过程中始终坚持严格的品质管理和优质的客户服务。公司建立了完善的质量管理体系,对每一道工序都进行严格把关,确保产品的稳定性和可靠性。同时,Barnbrook也重视客户反馈和需求,不断优化产品和服务,赢得了客户的信任和好评。

American Power Management Inc公司的发展小趣事

随着技术的成熟,APMI开始着手市场拓展。公司积极与各大电子制造商合作,为其提供定制的电源管理解决方案。同时,APMI还加大了品牌宣传力度,通过参加行业展会、发布技术白皮书等方式,提高品牌知名度和影响力。凭借卓越的产品性能和完善的售后服务,APMI在市场上赢得了良好的口碑,客户群体不断扩大。

Brilliance公司的发展小趣事

在快速发展的同时,Brilliance公司始终关注社会责任和可持续发展。公司积极参与公益事业,为社会做出贡献。同时,公司还注重环保和节能减排,努力降低生产过程中的环境影响。这种积极履行社会责任的态度也赢得了社会各界的广泛认可。

通过以上五个故事,我们可以看到Brilliance公司在电子行业发展中的艰辛与辉煌。凭借技术创新、市场拓展、产业链整合以及社会责任等方面的努力,Brilliance成功地在电子行业中树立了自己的品牌形象,并为未来的发展奠定了坚实的基础。

AW Industries Inc公司的发展小趣事

AW Industries Inc成立之初,正值电子行业的快速发展期。公司创始人凭借对市场的敏锐洞察,决定专注于生产高精度电子元件。然而,初创期的资金短缺和技术难题成为公司发展的两大障碍。创始人通过多方筹资,成功引入了第一批投资,并聘请了一支技术团队进行研发。在团队的不懈努力下,公司成功推出了首款产品,并迅速获得了市场的认可。

Forge Europa Ltd公司的发展小趣事

在快速发展的过程中,Forge Europa Ltd公司始终注重品牌与文化的塑造。公司秉承“创新、品质、服务”的企业精神,致力于为客户提供优质的产品和服务。同时,公司还注重员工的培养和发展,建立了完善的培训体系和激励机制,激发了员工的创造力和工作热情。通过这些努力,Forge Europa不仅塑造了一个具有行业影响力的品牌形象,还形成了独特的企业文化,为企业的长远发展奠定了坚实的基础。

Aerotronics Marketing Inc公司的发展小趣事

Aerotronics Marketing Inc公司注重与高校和研究机构的合作,通过产学研合作的方式推动技术创新。公司与多所知名高校建立了紧密的合作关系,共同开展无人机技术的研发和应用研究。这种合作模式不仅为公司提供了源源不断的技术支持和人才储备,还推动了整个电子行业的技术进步。

问答坊 | AI 解惑

陈永真老师经典资料推荐介绍

先给大家发一本好书,这是梁适安的转换式电源供给器的原理与设计一书,是PDF图片经过陈永真老师的研究生打出的wold文档。与大家共享。 …

查看全部问答>

大的厂商一般都不主推自己的开发板么?

昨天朋友说是要用一款芯片做开发板,结果查来查去,不是价格贵的离谱,就是功能还不如淘宝上山寨版本的人性化。 后来有个同事说,大厂一般都不主推自己的开发板,往往这些事情交代给第三方去做。不知是不是真的? 毕竟芯片是自己家的宝贝,还是自 ...…

查看全部问答>

防盗器如何设计?

例如盗窃犯入室盗窃,怎样才能报警/…

查看全部问答>

lcd 驱动问题,cpu(80接口)转rgb接口的方法

目前要用到一个屏,只有rgb接口的,而我们的系统确实80并行接口的,请问有办法转为rgb接口么? 1。有没有硬件可以支持转换的,类似mpl方式。 2。软件模拟rgb接口输出,(不知道有没有类似的代码)。…

查看全部问答>

stm32f105USBDEVICESOS!!

description for my question: - host OUT a data - STM32 receive it - then use USB_SIL_Write(...) to write data to TxFIFO - finally,host execute IN command,the data can be read right. - then STM32 USB will catch a IN inter ...…

查看全部问答>

iar 3.42a 破解迷津

大家都下了3.42a了吧!哈哈 ! ! ! ! 注意运行keygen.exe 时 生成的机器码比如“0x210aa”一定要大写,改成“0x210AA”,否则就会破解不了 ! ! ! ! 爽的话请回复,谢谢!! ! ! ! !…

查看全部问答>

LM3S811DDLLXXRR笔记之八:利用周公ucos模板实现UCOSII LED

这个周公在LM3S方面做了大量工作,UCOSII模板不错能省大量时间,拿来用就行,不多说了,唉,说也说不清楚。   我只是想说利用模板时一定要修的地方   一:   #define  EXT_CLK        ...…

查看全部问答>

MSP430FR57的FRAM怎么样?

       据说MSP430FR57中自带16KB的FRAM铁电随机存取存储器。自己以前从没有接触过FRAM,只是在大学里看过一本有关FRAM的书——铁电存储器,传说这本书是实践FRA理念的先辈编撰的。书的内容比较偏向于FRAM理论的研究 ...…

查看全部问答>