Basic: Dynamic Frequency¶
1 功能概述¶
本例程是一个简单的演示动态切换主频的程序。
2 环境要求¶
Board: pan108xxa1_evb / pan108xxa3_evb / pan108xxb1_evb / pan108xxb5_evb
例程位置:zephyr\samples_panchip\basic\dynamic_freq
使用 ZAL 工具可以对其进行编译、烧录、打开 VS Code 调试等操作。关于 ZAL 工具的详细介绍请参考:Zephyr APP Launcher 工具介绍。
3 演示说明¶
该演示程序首先默认主频通过xtl.overlay
设置为48M,上电后首先切到为主频64M,每隔1秒输出一段log,输出5此,并且每段log是乱码这是因为主频切换成功了,**但是对接串口外设的分频系数并没有同步修改,所以此处打印为乱码,间接的也验证了主频成功切换;**然后再次切换默认主频48M,此时输出log正常,我们也可以看到不同主频的系统调度都是准时的:
[18:20:19.532]收←◆Try to load HW calibration data.. DONE.
- Chip Type : 0x80
- Chip CP Version : None
- Chip FT Version : 1
- Chip MAC Address : D0000A0007E9
*** Booting Zephyr OS build zephyr-v2.7.0
[18:20:20.539]收← <乱码>
[18:20:21.539]收← <乱码>
[18:20:22.540]收← <乱码>
[18:20:23.540]收← <乱码>
[18:20:24.542]收← app CPU @ 48000000Hz
Hello World on pan108xxb1_mesh_dongle in 48M
[18:20:25.542]收← Hello World on pan108xxb1_mesh_dongle in 48M
[18:20:26.543]收← Hello World on pan108xxb1_mesh_dongle in 48M
[18:20:27.544]收← Hello World on pan108xxb1_mesh_dongle in 48M
[18:20:28.545]收← Hello World on pan108xxb1_mesh_dongle in 48M
[18:20:29.545]收← <乱码>
[18:20:30.546]收← <乱码>
[18:20:31.546]收← <乱码>
[18:20:32.547]收← <乱码>
[18:20:33.548]收← <乱码>
[18:20:34.549]收← app CPU @ 48000000Hz
Hello World on pan108xxb1_mesh_dongle in 48M
[18:20:35.551]收← Hello World on pan108xxb1_mesh_dongle in 48M
[18:20:36.550]收← Hello World on pan108xxb1_mesh_dongle in 48M
[18:20:37.552]收← Hello World on pan108xxb1_mesh_dongle in 48M
[18:20:38.552]收← Hello World on pan108xxb1_mesh_dongle in 48M
[18:20:39.553]收← <乱码>
[18:20:40.554]收← <乱码>
[18:20:41.555]收← <乱码>
[18:20:42.554]收← <乱码>
[18:20:43.555]收← <乱码>
[18:20:44.557]收← app CPU @ 48000000Hz
Hello World on pan108xxb1_mesh_dongle in 48M
[18:20:45.558]收← Hello World on pan108xxb1_mesh_dongle in 48M
[18:20:46.559]收← Hello World on pan108xxb1_mesh_dongle in 48M
[18:20:47.559]收← Hello World on pan108xxb1_mesh_dongle in 48M
4 开发说明¶
xtl.overlay
文件的主频设置为48M:&dpll { clock-mult = <3>; /* Can be 3 (48MHz) or 4 (64MHz) */ status = "okay"; }; &rcc { clock-frequency-system = <DT_FREQ_M(48)>; clocks = <&dpll &clk_xtl>; clock-frequency-slow = <32768>; };
动态切换主频时建议默认主频为更低的主频,因为部分系统的参数是静态编译的,所以主频低的时候参数窗口会更大一点。
5 RAM/Flash资源使用情况¶
Memory region Used Size Region Size %age Used
FLASH: 20356 B 256 KB 7.77%
SRAM: 4168 B 64 KB 6.36%