微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32 keil mdk启动代码发分析

STM32 keil mdk启动代码发分析

时间:11-10 来源:互联网 点击:
学习STM32,看了一堆乱七八糟的文档,准备写程序了,先分析了下STM32的启动代码,看着这堆鬼鬼的汇编代码,挺吓人的,看看帮助,查查网路,还是不那么难懂。

  1. ;//StackConfiguration
  2. ;//StackSize(inBytes)<0x0-0xFFFFFFFF:8>
  3. ;//
  4. Stack_SizeEQU0x00000200;//定义堆栈大小
  5. AREASTACK,NOINIT,READWRITE,ALIGN=3;//定义一个数据段按8字节对齐
  6. Stack_MemSPACEStack_Size;//保留Stack_Size大小的堆栈空间
  7. __initial_sp;//标号,代表堆栈顶部地址,后面有用
  8. ;//HeapConfiguration
  9. ;//HeapSize(inBytes)<0x0-0xFFFFFFFF:8>
  10. ;//
  11. Heap_SizeEQU0x00000020;//定义堆空间大小
  12. AREAHEAP,NOINIT,READWRITE,ALIGN=3;//定义一个数据段,8字节对齐
  13. __heap_base
  14. Heap_MemSPACEHeap_Size;//保留Heap_Size的堆空间
  15. __heap_limit;//标号,代表堆末尾地址,后面有用
  16. PRESERVE8;//指示编译器8字节对齐
  17. THUMB;//指示编译器为THUMB指令
  18. ;VectorTableMappedtoAddress0atReset
  19. AREARESET,DATA,READONLY;//定义只读数据段,其实放在CODE区,位于0地址
  20. EXTERNNMIException
  21. EXTERNHardFaultException
  22. EXTERNMemManageException
  23. EXTERNBusFaultException
  24. EXTERNUsageFaultException
  25. EXTERNSVCHandler
  26. EXTERNDebugMonitor
  27. EXTERNPendSVC
  28. EXTERNSysTickHandler;//声明这些符号在外部定义,同C
  29. ;//在××it.c中实现这些函数,中断就能自动调用了
  30. EXPORT__Vectors
  31. __VectorsDCD__initial_sp;TopofStack//Cotex-M要求此处为堆栈顶部地址
  32. DCDReset_Handler;ResetHandler
  33. DCDNMIException;NMIHandler
  34. DCDHardFaultException;HardFaultHandler
  35. DCDMemManageException;MPUFaultHandler
  36. DCDBusFaultException;BusFaultHandler
  37. DCDUsageFaultException;UsageFaultHandler
  38. DCD0;Reserved
  39. DCD0;Reserved
  40. DCD0;Reserved
  41. DCD0;Reserved
  42. DCDSVCHandler;SVCallHandler
  43. DCDDebugMonitor;DebugMonitorHandler
  44. DCD0;Reserved
  45. DCDPendSVC;PendSVHandler
  46. DCDSysTickHandler;SysTickHandler//一大堆的异常处理函数地址
  47. ;ExternalInterrupts
  48. EXTERNWWDG_IRQHandler
  49. EXTERNPVD_IRQHandler
  50. EXTERNTAMPER_IRQHandler
  51. EXTERNRTC_IRQHandler
  52. EXTERNFLASH_IRQHandler
  53. EXTERNRCC_IRQHandler
  54. EXTERNEXTI0_IRQHandler
  55. EXTERNEXTI1_IRQHandler
  56. EXTERNEXTI2_IRQHandler
  57. EXTERNEXTI3_IRQHandler
  58. EXTERNEXTI4_IRQHandler
  59. EXTERNDMAChannel1_IRQHandler
  60. EXTERNDMAChannel2_IRQHandler
  61. EXTERNDMAChannel3_IRQHandler
  62. EXTERNDMAChannel4_IRQHandler
  63. EXTERNDMAChannel5_IRQHandler
  64. EXTERNDMAChannel6_IRQHandler
  65. EXTERNDMAChannel7_IRQHandler
  66. EXTERNADC_IRQHandler
  67. EXTERNUSB_HP_CAN_TX_IRQHandler
  68. EXTERNUSB_LP_CAN_RX0_IRQHandler
  69. EXTERNCAN_RX1_IRQHandler
  70. EXTERNCAN_SCE_IRQHandler
  71. EXTERNEXTI9_5_IRQHandler
  72. EXTERNTIM1_BRK_IRQHandler
  73. EXTERNTIM1_UP_IRQHandler
  74. EXTERNTIM1_TRG_COM_IRQHandler
  75. EXTERNTIM1_CC_IRQHandler
  76. EXTERNTIM2_IRQHandler
  77. EXTERNTIM3_IRQHandler
  78. EXTERNTIM4_IRQHandler
  79. EXTERNI2C1_EV_IRQHandler
  80. EXTERNI2C1_ER_IRQHandler
  81. EXTERNI2C2_EV_IRQHandler
  82. EXTERNI2C2_ER_IRQHandler
  83. EXTERNSPI1_IRQHandler
  84. EXTERNSPI2_IRQHandler
  85. EXTERNUSART1_IRQHandler
  86. EXTERNUSART2_IRQHandler
  87. EXTERNUSART3_IRQHandler
  88. EXTERNEXTI15_10_IRQHandler
  89. EXTERNRTCAlarm_IRQHandler
  90. EXTERNUSBWakeUp_IRQHandler;//同上,
  91. DCDWWDG_IRQHandler;WindowWatchdog
  92. DCDPVD_IRQHandler;PVDthroughEXTILinedetect
  93. DCDTAMPER_IRQHandler;Tamper
  94. DCDRTC_IRQHandler;RTC
  95. DCDFLASH_IRQHandler;Flash
  96. DCDRCC_IRQHandler;RCC
  97. DCDEXTI0_IRQHandler;EXTILine0
  98. DCDEXTI1_IRQHandler;EXTILine1
  99. DCDEXTI2_IRQHandler;EXTILine2
  100. DCDEXTI3_IRQHandler;EXTILine3
  101. DCDEXTI4_IRQHandler;EXTILine4
  102. DCDDMAChannel1_IRQHandler;DMAChannel1
  103. DCDDMAChannel2_IRQHandler;DMAChannel2
  104. DCDDMAChannel3_IRQHandler;DMAChannel3
  105. DCDDMAChannel4_IRQHandler;DMAChannel4
  106. DCDDMAChannel5_IRQHandler;DMAChannel5
  107. DCDDMAChannel6_IRQHandler;DMAChannel6
  108. DCDDMAChannel7_IRQHandler;DMAChannel7
  109. DCDADC_IRQHandler;ADC
  110. DCDUSB_HP_CAN_TX_IRQHandler;USBHighPriorityorCANTX
  111. DCDUSB_LP_CAN_RX0_IRQHandler;USBLowPriorityorCANRX0
  112. DCDCAN_RX1_IRQHandler;CANRX1
  113. DCDCAN_SCE_IRQHandler;CANSCE
  114. DCDEXTI9_5_IRQHandler;EXTILine9..5
  115. DCDTIM1_BRK_IRQHandler;TIM1Break
  116. DCDTIM1_UP_IRQHandler;TIM1Update
  117. DCDTIM1_TRG_COM_IRQHandler;TIM1TriggerandCommutation
  118. DCDTIM1_CC_IRQHandler;TIM1CaptureCompare
  119. DCDTIM2_IRQHandler;TIM2
  120. DC

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top