历史上的今天
返回首页

历史上的今天

今天是:2025年02月23日(星期日)

正在发生

2021年02月23日 | 从STM32F4的库函数分析如何实现点亮一个LED(代码启动)(二)

2021-02-23 来源:eefocus

这部分的启动代码,主要是将堆栈进行初始化,中断向量表以及中断函数进行定义。 这里将启动文件拆分出来进行理解。


Stack_Size EQU     0x00000400

 

                AREA    STACK, NOINIT, READWRITE, ALIGN=3

Stack_Mem       SPACE   Stack_Size

__initial_sp

 

 

 这里将申请一段栈空间,AREA意思为申请的空间名为STACK,不对其进行初始化,可读可写,以三字节进行偏移,栈大小为 0x400


; Heap Configuration

;     Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>

;

 

Heap_Size      EQU     0x00000200

 

                AREA    HEAP, NOINIT, READWRITE, ALIGN=3

__heap_base

Heap_Mem        SPACE   Heap_Size

__heap_limit

 

                PRESERVE8

                THUMB

  这里将申请一段堆空间,AREA意思为申请的空间名为HEAP,不对其进行初始化,可读可写,以三字节进行偏移,堆空间大小为0x200


; Vector Table Mapped to Address 0 at Reset

                AREA    RESET, DATA, READONLY

                EXPORT  __Vectors

                EXPORT  __Vectors_End

                EXPORT  __Vectors_Size

 

__Vectors       DCD     __initial_sp               ; Top of Stack

                DCD     Reset_Handler              ; Reset Handler

                DCD     NMI_Handler                ; NMI Handler

                DCD     HardFault_Handler          ; Hard Fault Handler

                DCD     MemManage_Handler          ; MPU Fault Handler

                DCD     BusFault_Handler           ; Bus Fault Handler

                DCD     UsageFault_Handler         ; Usage Fault Handler

                DCD     0                          ; Reserved

                DCD     0                          ; Reserved

                DCD     0                          ; Reserved

                DCD     0                          ; Reserved

                DCD     SVC_Handler                ; SVCall Handler

                DCD     DebugMon_Handler           ; Debug Monitor Handler

                DCD     0                          ; Reserved

                DCD     PendSV_Handler             ; PendSV Handler

                DCD     SysTick_Handler            ; SysTick Handler

 

                ; External Interrupts

                DCD     WWDG_IRQHandler                   ; Window WatchDog                                        

                DCD     PVD_IRQHandler                    ; PVD through EXTI Line detection                        

                DCD     TAMP_STAMP_IRQHandler             ; Tamper and TimeStamps through the EXTI line            

                DCD     RTC_WKUP_IRQHandler               ; RTC Wakeup through the EXTI line                       

                DCD     FLASH_IRQHandler                  ; FLASH                                           

                DCD     RCC_IRQHandler                    ; RCC                                             

                DCD     EXTI0_IRQHandler                  ; EXTI Line0                                             

                DCD     EXTI1_IRQHandler                  ; EXTI Line1                                             

                DCD     EXTI2_IRQHandler                  ; EXTI Line2                                             

                DCD     EXTI3_IRQHandler                  ; EXTI Line3                                             

                DCD     EXTI4_IRQHandler                  ; EXTI Line4                                             

                DCD     DMA1_Stream0_IRQHandler           ; DMA1 Stream 0                                   

                DCD     DMA1_Stream1_IRQHandler           ; DMA1 Stream 1                                   

                DCD     DMA1_Stream2_IRQHandler           ; DMA1 Stream 2                                   

                DCD     DMA1_Stream3_IRQHandler           ; DMA1 Stream 3                                   

                DCD     DMA1_Stream4_IRQHandler           ; DMA1 Stream 4                                   

                DCD     DMA1_Stream5_IRQHandler           ; DMA1 Stream 5                                   

                DCD     DMA1_Stream6_IRQHandler           ; DMA1 Stream 6                                   

                DCD     ADC_IRQHandler                    ; ADC1, ADC2 and ADC3s                            

                DCD     CAN1_TX_IRQHandler                ; CAN1 TX                                                

推荐阅读

史海拾趣

Advanced Components Industries Inc公司的发展小趣事

在国内市场取得一定成绩后,ACI开始寻求国际合作,以进一步拓宽市场。公司与国际知名电子企业建立了战略合作关系,共同研发新产品,开拓新市场。这些合作不仅提升了ACI的技术水平,还为其带来了更多的国际订单。

通过国际合作,ACI的产品逐渐进入国际市场,公司的影响力不断扩大。同时,ACI也积极参与国际电子行业的交流活动,与同行分享经验,学习先进技术,不断提升自身实力。

EDAL公司的发展小趣事

EDAL公司成立于XXXX年,由一群富有远见和创新精神的电子工程师创立。公司初期专注于电子设计自动化(EDA)工具的研发,致力于提升集成电路设计的效率和质量。EDAL公司凭借其独特的算法和高效的设计工具,在EDA领域崭露头角,吸引了众多客户的关注。

Chengdu Sino Microelectronics Technology Co Ltd公司的发展小趣事

成都华微科技深知,在快速发展的电子行业中,单打独斗很难取得长久的成功。因此,公司积极寻求与其他企业和机构的合作,以实现共赢。通过与国内外知名的芯片制造企业、科研院所和高校的合作,华微科技不仅获得了更多的技术支持和市场资源,也推动了整个产业链的协同发展。这种合作与共赢的商业模式,为公司的快速发展提供了有力保障。

Analog Power公司的发展小趣事

Analog Power公司成立于XXXX年,创立初期主要专注于电源管理解决方案的研发。面对当时竞争激烈的市场环境,公司创始人凭借对电源管理技术的深刻理解和坚定信念,带领团队克服了种种困难,逐步在市场中找到了自己的定位。他们深入研究客户需求,不断优化产品设计,逐渐赢得了客户的信任和认可。

Genesis Microchip公司的发展小趣事

在电子行业竞争日益激烈的背景下,GI通过一系列的战略并购和整合,进一步巩固了其市场地位。公司精心挑选并收购了多家具有技术实力和市场潜力的企业,通过资源整合和优势互补,实现了技术、产品和市场的全面升级。这些并购不仅为GI带来了更多的技术专利和市场份额,还为其在未来的竞争中奠定了更加坚实的基础。

DIOO公司的发展小趣事

随着市场竞争的加剧和消费者需求的不断变化,DIOO公司意识到品牌重塑和多元化发展的重要性。在近几年中,DIOO公司加强了品牌宣传和推广力度,通过推出新的品牌形象和广告活动,提高了品牌知名度和美誉度。同时,DIOO公司还积极拓展产品线,推出了包括智能家居、智能穿戴设备、游戏硬件等在内的多元化产品系列,进一步满足了消费者的多样化需求。

问答坊 | AI 解惑

模拟电路采集的精度

翻阅检测技术的时候,发现一个问题,我们在计算模拟电路采集后精度的时候,往往都是按照AD转化后的数值计算的。通常的做法是求出物理量比如电压值单片机采样值的函数:   ADC=F_transfer(V,p1,p2,p3,p4)   得出   ...…

查看全部问答>

TMS320F2812介绍

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑 目前应用最多的是德州仪器公司的TMS320系列和摩托罗拉公司的DSP56000和DSP96000系列。TMS320F28系列芯片是TI最新推出的DSP芯片,特别适用于有大批量数据处理的测控场合,如数据采集,工业自动 ...…

查看全部问答>

求救:tornado 2.2 powerpc c++驱动问题。

下面是编译信息: vxrm *.o *.rpo ctdt.c symTbl.c vxApp* *.out *.pl vxrm ..\\prjComps.h ..\\prjParams.h ..\\prjConfig.c ..\\linkSyms.c vxrm ..\\libs.nm ..\\libs.size F:\\tornado2.2\\host\\gnu\\3.3\\x86-win32\\bin\\ccppc -g -mcpu ...…

查看全部问答>

关于WDB和系统启动

小弟是新接触vxWorks系统的新手,请问有哪位哥哥姐姐有关于WDB的资料么?还有,请问谁有关于vxWorks启动时的资料啊,比如系统先加载什么,然后运行什么,这方面的资料,很急,先谢谢大家了!…

查看全部问答>

求助:自己设计的IIR滤波器

昨天自己设计了一个IIR滤波器,写了个测试程序:滤波器是一个低通的滤波器,要求滤除20KHZ以上的频率段, 程序如下: #include \"filter.h\" #include \"iir.h\" #include \"math.h\" float xn[400],yn[400],zn[400],rn[400]; #pragma DATA_S ...…

查看全部问答>

DSP入门教程

DSP入门教程下载…

查看全部问答>

大家开发LPC1114的时候都是用什么开发模式呢?

大家开发LPC1114的时候都是用什么开发模式呢?从编程环境到编译器再到仿真器…

查看全部问答>

谈F28M35的M3侧的blink例程

从简单的谈起吧。     1、程序先进行了HWREG(SYSCTL_MWRALLOW) =  0xA5A5A5A5;  因为 //必须写入0xA5A5A5A5,之后才能够改写一些被MWRALLOW保护的寄存器   关于哪些寄存器被保护可以参考1.13.1 System Control, Conf ...…

查看全部问答>

[hanker M4开发板试用]Hanker M4初识

Hanker M4初识        5月10日上午接到顺风快递的电话,告知货已经到达楼下。甚是欣喜,飞奔至楼下,虽然意料之中,但依旧痛苦地掏了快递费后,终于看到了hanker M4开发板……     &n ...…

查看全部问答>