打印
[方案相关]

HC32f460启动过程和时钟分析

[复制链接]
1291|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dd5yit|  楼主 | 2022-11-17 14:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
软件环境

    系统:win10
    sdk版本:hc32f460_ddl_Rev2.0.0
    数据手册版本:HC32F460系列用户手册 Rev1.21.pdf
    ide:keil5
    开发板:官方评估板(EVB-HC32F460)
    时间:2021.7.1

1. 启动过程
1.1 第一步:读取地址0x400上的内容
数据手册中写道如下:


使用特权

评论回复
沙发
dd5yit|  楼主 | 2022-11-17 14:42 | 只看该作者
我们要注意两个地方:

    复位解除后执行,这就说明,这个读flash的0x400地址是要优于程序的,也就是要在程序启动前执行。

    由硬件电路读取,这就说明,这个读取的位置无法人为控制,就是0x400,我们只能在程序下载的时候将信息写道0x400开始的位置。

使用特权

评论回复
板凳
dd5yit|  楼主 | 2022-11-17 14:42 | 只看该作者
这个0x400配置了很有用的东西,其中就有看门狗,其实stm32的看门狗一直有一个缺陷,那就是若在芯片启动到main函数执行这个时间发生了跑飞,那么程序就没办法重启,就死机了,而hc32避免了这个问题,可以在复位解除的时候直接配上看门狗,提高了系统的稳定性。至于其他功能,请自行查阅用户手册。

使用特权

评论回复
地板
dd5yit|  楼主 | 2022-11-17 14:44 | 只看该作者
复位和系统时钟配置

这段代码在汇编中执行,也就是.s文件,这个与传统cortex-m的芯片一样,都是执行reset_handler,配置系统时钟systeninit,在执行__main,最后跳到用户函数main,因为和传统stm32的一样,这个不展开细讨论。

使用特权

评论回复
5
dd5yit|  楼主 | 2022-11-17 14:45 | 只看该作者
要注意这个配置系统时钟systeninit往往使用的是芯片内部的高速时钟,这个配置系统时钟函数由sdk提供,不建议直接在这一步修改为外部时钟(不要随意修改sdk的东西),所以等到执行用户程序的时候需要重新配置到外部高速时钟。

使用特权

评论回复
6
dd5yit|  楼主 | 2022-11-17 14:47 | 只看该作者
同时要注意在执行配置系统时钟systeninit函数,以及之前这段时间,由于没有时钟配置,所以使用的是内部高速时钟直连的方式驱动的,所以那段程序执行是很慢的。

使用特权

评论回复
评论
radenhu 2024-1-29 14:42 回复TA
您好,请问这有出处吗?我该到哪个资料里找? 
7
tpgf| | 2022-12-6 15:40 | 只看该作者
在系统刚开始启动的时候是使用的默认的时钟配置吗

使用特权

评论回复
8
qcliu| | 2022-12-6 15:57 | 只看该作者
dd5yit 发表于 2022-11-17 14:42
我们要注意两个地方:

    复位解除后执行,这就说明,这个读flash的0x400地址是要优于程序的,也就是要在 ...

整个这个流程是固定的妈 不可以由用户进行更改吧

使用特权

评论回复
9
drer| | 2022-12-6 16:06 | 只看该作者
dd5yit 发表于 2022-11-17 14:47
同时要注意在执行配置系统时钟systeninit函数,以及之前这段时间,由于没有时钟配置,所以使用的是内部高速 ...

一般情况下 启动时间大概是多长呢

使用特权

评论回复
10
coshi| | 2022-12-6 16:36 | 只看该作者
HC32F460的时钟其实就是片内时钟和片外时钟两种
           片内时钟有三种:
                          1.HRC 片内高速时钟
                          2.MRC 片内中速时钟
                          3.LRC 片内低速时钟
                  片外时钟有两种:
                          1.XTAL   片外高速时钟
                          2.XTAL32 片外低速时钟

使用特权

评论回复
11
kxsi| | 2022-12-6 16:52 | 只看该作者
外设挂在哪个总线上清晰了,那怎么配置时钟是多少合适呢

使用特权

评论回复
12
wiba| | 2022-12-6 17:00 | 只看该作者
kxsi 发表于 2022-12-6 16:52
外设挂在哪个总线上清晰了,那怎么配置时钟是多少合适呢

有两个方法可以参考,第一参考用户手册,第二参考厂家给的例程

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

51

帖子

0

粉丝