大坡3D软件开发

自主操作系统和CPU--用软件来改变世界

玩转STM32(18)理解SetSysClock函数

前面理解SystemInit函数时,发现里面调用了SetSysClock函数,那么这个函数有什么用呢?里面的代码到底又干了什么事情呢?现在就来仔细地分析这个函数,以便掌握每一个细节,了解事物的来龙去脉。并且这个函数是用户必须了解的函数,为什么这样说呢?因为这个函数要设置CPU工作的频率,也就是说这...

2019-07-31 18:47:36

阅读数 750

评论数 0

玩转STM32(17)理解SystemInit函数

前面分析了复位函数,在那里发现它要调用SystemInit函数,那么这个函数是做什么用的呢?从名称上来看它就是系统的初始化函数。这个函数在复位之后,就要立即调用的函数,可见它是非常关键的底层函数,这个函数主要内容包括对系统时钟初始化(时钟源选择、锁相环设置、分频系数配置、AHB/APB的频率、FL...

2019-07-10 08:40:49

阅读数 108

评论数 0

玩转STM32(16)理解复位函数

前面搞定了栈顶的问题,接着下来,可以从复位矢量表里,看到如下: __Vectors DCD __initial_sp ; Top of Stack DCD Reset_Handler ; Reset Handler DCD NMI_Hand...

2019-07-06 21:14:34

阅读数 132

评论数 0

玩转STM32(15)确定栈的位置和大小

前面学习了怎么样确定CPU加载运行第一行代码,在那里发现需要加载栈指针,那么你也许会问为什么要首先加载栈指针呢?难道栈就是这么重要?在这里,我们就来探讨一下栈的问题,比如栈的位置和大小。 在现代的CPU技术里,往往有中断系统,这就决定了CPU必须有栈的结构,因为中断出现时,需要把当时CPU运...

2019-07-01 17:24:10

阅读数 110

评论数 0

提示
确定要删除当前文章?
取消 删除