您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 技术讨论区 -> BF592 Bootload 速度问题!
本帖共有691个阅读者
发表帖子 发表投票 回复主题
BF592 Bootload 速度问题!
tmacface(论坛新手)
tmacface
头衔:社区公民
帮派:无帮无派
帖数:4
金钱:138
积分:6
注册时间:2012/11/12
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
BF592 Bootload 速度问题!

我用BF592 的Spi Master 引导方式,外按SPI FLASH, 程序代表不到20KB,但引导时间差不多有2S的时间。

不知有没办法加快引导的速度。



以前用TI 的DSP时,在制作Boot 程序时,是可以设置外设时钟的,这样可以加快引导的速度。


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/10/25 17:47:05
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
在生成 LDR文件时,有个Init_code的文件,你在VDSP 安装路径下,blackfin的文件夹中可以找到他的源程序,把代码中 SPI_BUAD的值改小一点,加载速度就快了,也可以把这个代码中的PLL速度配快一点

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/10/25 20:47:26
tmacface(论坛新手)
tmacface
头衔:社区公民
帮派:无帮无派
帖数:4
金钱:138
积分:6
注册时间:2012/11/12
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

init code 是指一个叫basiccrt.s 的文件吗?

我是在example 里选的一个工程,在上面进行修改的,里面就有一个xxxbasiccrt.s 的文件。

我添加了以下代码,编译好之后,Bootloader 的时间没什么变化。

也就是SPI0_BAUD = 2 , PLL 按照100MHz 进行设置的

/////------------------------------------------------------------------------------

P0.L = SPI0_CTL & 0xFFFF;
P0.H = SPI0_CTL >> 16;
W[P0] = R1.L;

R1   = 2;
P0.L = SPI0_BAUD & 0xFFFF;
P0.H = SPI0_BAUD >> 16;
W[P0] = R1.L;

R1   = 4;
P0.L = PLL_DIV & 0xFFFF;
P0.H = PLL_DIV >> 16;
W[P0] = R1.L;

R1   = (24 & 0x3f) << 9;
P0.L = PLL_CTL & 0xFFFF;
P0.H = PLL_CTL >> 16;
W[P0] = R1.L;  


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/10/28 9:19:06
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
该文件位于VDSP下的Analog Devices\VisualDSP 5.0\Blackfin\ldr 文件夹中,名字是ezkitBF592_initcode_ROM-V0x.dxe ,x是版本号,有很多版本。
该源码位于Analog Devices\VisualDSP 5.0\Blackfin\ldr\init_code\c\ADSP-BF592 EZ-KIT Lite   你编译源码会生成这个文件。
在生成LDR文件时,选择FLash类型的界面下,有个添加初始化文件的选项,把这个文件添加进去。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/10/28 11:55:15
tmacface(论坛新手)
tmacface
头衔:社区公民
帮派:无帮无派
帖数:4
金钱:138
积分:6
注册时间:2012/11/12
4信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

非常感谢,改了SPI_BAUD 为2后,速度提高了不少,现在bootloader 估计不到1S。

后来想把引导的速度再提高一些,但加了full_on 的函数后,本想是把主频再设置一下,但没有变化,不知是否调用有错?



「该帖子被 tmacface 在 2013-10-28 22:30:28 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/10/28 22:29:51
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
5信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
你把你main里面的PLL函数删掉,直接用init_code里面的PLL配置,然后写个定时器定时1秒然后闪一下灯的代码,看看PLL是否被配置成功。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/10/29 11:59:12
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154045 Call, 1 Queries, Processed in 0.014893 second(s),