1. 从Uboot设置的CPU频率决定了Linux启动后的频率
CONFIG_SYS_CLK_FREQ
用devmem确认Linux跑起来之后还是这个频率
2. 根据另一个帖子 https://whycan.cn/t_1949.html ,通过uboot把DRAM设置成240MHz(480M)成功跑起来
arch/arm/mach-sunxi/dram_suniv.c:
struct dram_para suniv_dram_para = {
.size = 32,
.clk = 156,//改这里,或者替换成CONFIG_DRAM_CLK
实测240M性能比156M有较大提高
离线
关于cpu频率,启动内核后不是也可以设置频率吗?用devmem直接修改寄存器,当然uboot设置的是内核默认频率
最近编辑记录 kekemuyu (2019-12-13 00:50:22)
离线
关于cpu频率,启动内核后不是也可以设置频率吗?用devmem直接修改寄存器,当然uboot设置的是内核默认频率
对我试了用devmem也是可以设的,主要是我想看看启动Linux能快多少
离线
不知道你们试过没有,f1c100s的cpu频率设成很小,对功耗几乎影响很小。试过把频率设成24m,核心电压设成0.9v,功耗只降低几个了ma,这不可科学呀,可能是某些外设更耗电。如果能把空载功耗控制在5mw以内就好了,现在只能是想办法把启动速度提高到1s以内,不用的时候断电以降低功耗
离线
https://github.com/Lichee-Pi/u-boot/blob/nano-lcd800480/arch/arm/mach-sunxi/dram_suniv.c
struct dram_para suniv_dram_para = {
.size = 32,
.clk = 156,
.access_mode = 1,
...
};
改成这样对吧? ====>
struct dram_para suniv_dram_para = {
.size = 32,
.clk = CONFIG_DRAM_CLK,
.access_mode = 1,
...
};
犀利, 请问你是怎么发现的 ^_^
感觉这下跑Linux速度可以更快了.
离线
https://github.com/Lichee-Pi/u-boot/blob/nano-lcd800480/arch/arm/mach-sunxi/dram_suniv.c
改成这样对吧? ====>
犀利, 请问你是怎么发现的 ^_^
感觉这下跑Linux速度可以更快了.
试了几把发现改了没用,然后搜关键字才搜到。。
提高dram频率对有内存吞吐的APP作用很明显,几乎是50%的提高
CPU频率提高对不牵扯到大量数据的运算有用。我最高试到888mhz, bogoMIPS从300多提高到400多
离线
不知道你们试过没有,f1c100s的cpu频率设成很小,对功耗几乎影响很小。试过把频率设成24m,核心电压设成0.9v,功耗只降低几个了ma,这不可科学呀,可能是某些外设更耗电。如果能把空载功耗控制在5mw以内就好了,现在只能是想办法把启动速度提高到1s以内,不用的时候断电以降低功耗
主频24Mhz, CPU电压1.2v降到0.9v, 这样都降不下来, 看来只能进入休眠模式了。
离线
试了几把发现改了没用,然后搜关键字才搜到。。
提高dram频率对有内存吞吐的APP作用很明显,几乎是50%的提高
CPU频率提高对不牵扯到大量数据的运算有用。我最高试到888mhz, bogoMIPS从300多提高到400多
我貌似找到这个问题的原因了:
主频提升到 816Mhz, f1c100s 主线软件编码640x480 YUV文件为JPEG 格式, 帧率也只有6fps
https://whycan.cn/t_2825.html
ffmpeg 解码涉及到大量的数据交换, 如果DRAM有瓶颈,帧率自然上不去。
离线
主频24Mhz, CPU电压1.2v降到0.9v, 这样都降不下来, 看来只能进入休眠模式了。
没有休眠模式
离线
没有休眠模式
你可以试试用这个汇编进入类似于休眠状态,但功耗也不会非常低。
__asm__ __volatile__("mcr p15, 0, %0, c7,c0,4" :: "r"(0));
这是ARM926EJ-S手册上提到的 Dynamic power management (wait for interrupt mode) 。我只简单试了一下,在我的板子上低了10mA。没试过唤醒:D。
离线
你可以试试用这个汇编进入类似于休眠状态,但功耗也不会非常低。
__asm__ __volatile__("mcr p15, 0, %0, c7,c0,4" :: "r"(0));
这是ARM926EJ-S手册上提到的 Dynamic power management (wait for interrupt mode) 。我只简单试了一下,在我的板子上低了10mA。没试过唤醒:D。
那可以通过IRQ唤醒吗?或者定时器唤醒?这样可以省点电。
离线
你可以试试用这个汇编进入类似于休眠状态,但功耗也不会非常低。
__asm__ __volatile__("mcr p15, 0, %0, c7,c0,4" :: "r"(0));
这是ARM926EJ-S手册上提到的 Dynamic power management (wait for interrupt mode) 。我只简单试了一下,在我的板子上低了10mA。没试过唤醒:D。
感谢分享,我看手册上还有个Static power management (leakage control),这个试过吗?
离线
请问,这是在官方的linux上吗?
离线
请问,这是在官方的linux上吗?
不是, mainline u-boot & mainline linux
离线
最高只能到180,240就起不来了!我的系统有问题?
离线
大佬大佬,参考一下。
离线
kekemuyu 说:关于cpu频率,启动内核后不是也可以设置频率吗?用devmem直接修改寄存器,当然uboot设置的是内核默认频率
对我试了用devmem也是可以设的,主要是我想看看启动Linux能快多少
这个devmem 的地址是多少呢,大神 https://whycan.com/t_5346.html
离线
达克罗德 说:试了几把发现改了没用,然后搜关键字才搜到。。
提高dram频率对有内存吞吐的APP作用很明显,几乎是50%的提高
CPU频率提高对不牵扯到大量数据的运算有用。我最高试到888mhz, bogoMIPS从300多提高到400多我貌似找到这个问题的原因了:
主频提升到 816Mhz, f1c100s 主线软件编码640x480 YUV文件为JPEG 格式, 帧率也只有6fps
https://whycan.cn/t_2825.htmlffmpeg 解码涉及到大量的数据交换, 如果DRAM有瓶颈,帧率自然上不去。
这个帧率有够低的
离线
F1C100S裸机,我用的板子DRAM 由156MZH跑到204Mhz,再高就不稳定了。刷AWTK真的显著提高。
离线
之前看到一个大佬超频到2Ghz了
离线
修改CPU和DDR电压后,CPU 1.44G DDR 480M 稳定运行
离线