登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

我的BF531终于可以跑uClinux了,发文祝贺

作者:arm_imx 栏目:DSP技术
我的BF531终于可以跑uClinux了,发文祝贺
大干三天,531板子终于可以跑起来了!
板子参考了bf533-ezkit,不过改动很大了。FLASH换成了便宜的SST39VF1601
SDRAM还是32M的。音频没有用ad1836,太贵了,换成WM8731。camera用MT9v11,另外加了SD卡和USB DEVICE

感觉单核的比双核的做起来容易多了。


2楼: >>参与讨论
zxm2006
恭喜恭喜啊。
讲讲经验吧。

3楼: >>参与讨论
zwg0106
gxgx!!!
    搂主能不能介绍点经验阿?
    我是个菜鸟,刚学BF531,也想搞linux,买了个531开发板,还不知道怎么用,能不能共享点资料,比如:电路图什么的,我的email:zwg0106@163.com


4楼: >>参与讨论
TOHOPE
讨论一下阿
讲一下经验吧,我现在JTAG还没调好呢。
QQ:54421826

5楼: >>参与讨论
zxm2006
SD卡驱动自己写啦?
音频驱动是OSS的?还是ALSA的?
USB DEVICE肯定没有驱动吧?

6楼: >>参与讨论
参天小树
恭喜
    不愧是高手,我搞了一个月还没搞出来呢

7楼: >>参与讨论
arm_imx
usb DEVICE还没有调呢
参考了NET2272的设计。

由于板子没有加网卡,所以费了半天时间找了个lrzsz,好不容易编译了还不能使用,出现“bad MAGIC NUMBER”之类的错误。仔细看了adi的文档,加了“-mfdpic”的编译和链接选项就可以了。没有网卡,使用zmodem下载也不错。

另外调试bf561时发现每次读写~AMS1对应的地址空间就会死掉,换成~AMS2或者~AMS3就没有问题,EBIU的设置也没有问题,不知道是什么原因。

如果说有什么经验就是“坚持+熬夜”,时间够了自然就可以了。



8楼: >>参与讨论
zxm2006
绝对同意
“如果说有什么经验就是“坚持+熬夜”,时间够了自然就可以了。”
千真万确啊。

9楼: >>参与讨论
arm_imx
呵呵
简单说说我的调试过程,抛砖引玉,欢迎和大家讨论。

我做的板子是4层板,2层板没有把握,但是如果外频设置的比较低,2层板应该也可以。拿到板子先调电源部分,531的内核供电范围比较宽,好像是0.95~1.35V,但是内核电源和SCLK时钟是有关系的,太低了跑不到133M。我设的是1.28V。
电源没有问题了,调试时钟。531的时钟输入范围10M~40M,我用的是25M的晶阵,倍频16倍,VCO时钟400M,CCLK 400M,SCLK 100M

时钟信号有了,就可以接仿真器了,连接仿真器可以进入VDSP++,证明CPU是可以工作的了,松了一口气。硬件调试就怕CPU没有反映,看到是一个黑匣子。

下一步调试SDRAM。bf的SDRAM控制器真是好用,不像有效arm处理器需要用户自己初始化SDRAM。bf有专门的SA10管脚,不是复用的,所以省很多事。SDRAM控制器设置3个寄存器就可以了,SDGCTL、SDBCTL和SDRRC,主要是设置CL、MEMORY大小、列地址宽度、刷新率等,VDSP例子中的设置基本上都能满足要求,改动个别的参数就可以了。

下一步调试FLASH,首先设置EBIU寄存器,使用缺省参数就可以了。我用的是SST39VF1601,按照芯片手册中的说明编写erase_chip/erase_block/program_word等函数。其实所以的FLASH芯片编程都差不到,只是命令不一样而已。需要注意的是39vf1601有一个名字字是0x5555,刚开始程序每次运行到那里就会跑飞。仔细一想,blackfin指令应该是偶字节对齐的,而0x5555寻址到奇地址肯定是不对的,所以凡是涉及到sst1601内部的地址统统左移一位,OK。

按照我的习惯方法,调试完核心部分后就会调试串口,串口是个好东西,在没有仿真器的日子里我们就靠它了。串口比较简单,VDSP中有例子,不过需要修改时钟设置,写个简单程序,“Hello World!”。不知道是谁第一个用它的,反正每次看到Hello World!的时候感觉都不错,意味着又一款平台可以使用了。

下面要测试把程序烧到FLASH中是否能够运行。首先把hello world程序编译为ldr文件,请注意不是dxe文件。然后把刚才写的FLASH操作函数移植到FLASH programmer中,重新编译,生成dxe文件。VDSP提供的FLASH programmer还是不错的,非常open,用户可以把自己的底层函数挂进去,那些功能就可以使用了。

运行FLASH programmer,驱动程序选择自己编译的dxe文件,把刚才生成的ldr文件load进去,开始烧写。烧写完毕后,断开电源,检查bootmode设置,一定要设置为bootmode[1:0]=01才可以,板子上电,超级终端中看到了Hello World!

OK,到此为止,板子核心部分就没有问题了。下面就是移植uboot和uclinux了,有时间再写吧。








10楼: >>参与讨论
computer00
厉害~~~~~楼主的JTAG用的是原版的?有没有办法自己做个简单的?
 
11楼: >>参与讨论
arm_imx
re
我也在考虑这个事情。毕竟531是低端的芯片,大家可以花几百元买个板子玩玩,但不可能花几千元买一个仿真器。好像是有简易的jtag板子的,不过不支持vdsp++。

我们是做项目的,所以用的是原装仿真器。


12楼: >>参与讨论
hardfire
好啊,感谢ing...
 
13楼: >>参与讨论
chess2006
blackfin jtag
如果是上linux,IGLOO或WIGGLER的jtagprog都可以用,烧完u-boot剩下的就由代理程序处理了

14楼: >>参与讨论
fpga_mcu
gxgx
 
15楼: >>参与讨论
firefalcon
恭喜啊。。。。。
我们的板子还都是买的,自己做得还不知道在哪里呢。。。
经验很好。。。。多多share

16楼: >>参与讨论
xiaokehan
赞!楼主搞定了UCLINUX再来介绍经验啊!
 
17楼: >>参与讨论
hardfire
个人感觉其实很多工作还是u-boot里面做的
uClinux的工作不是很大,关键还是cache部分的稳定性搞好就OK啦。
ADI提供下载的uClinux里面的驱动已经很完备了。

18楼: >>参与讨论
dxs
SST39VF1601有19根地址线,你怎么根531接上的?
19楼: >>参与讨论
勿忘我

能否介绍下wm8731的使用经验,在用这个片子时,将所有的寄存器设置遍,也没有数字接口没有数据送出来。

参与讨论
昵称:
讨论内容:
 
 
相关帖子
JTAG工具要是支持SPI flash就好了。
请教BF系列和ADC接口问题
大家讨论下用SPI即串口flash的启动问题吧。
用BF532进行接口设备操作!
低价出售4片ADSP-TS201
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号