|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
我的BF531终于可以跑uClinux了,发文祝贺 |
作者:arm_imx 栏目:DSP技术 |
大干三天,531板子终于可以跑起来了! 板子参考了bf533-ezkit,不过改动很大了。FLASH换成了便宜的SST39VF1601, SDRAM还是32M的。音频没有用ad1836,太贵了,换成WM8731。camera用MT9v11,另外加了SD卡和USB DEVICE。 感觉单核的比双核的做起来容易多了。 |
2楼: | >>参与讨论 |
作者: zxm2006 于 2006/11/22 18:38:00 发布:
恭喜恭喜啊。 讲讲经验吧。 |
3楼: | >>参与讨论 |
作者: zwg0106 于 2006/11/22 19:02:00 发布:
gxgx!!! 搂主能不能介绍点经验阿? 我是个菜鸟,刚学BF531,也想搞linux,买了个531开发板,还不知道怎么用,能不能共享点资料,比如:电路图什么的,我的email:zwg0106@163.com |
4楼: | >>参与讨论 |
作者: TOHOPE 于 2006/11/23 13:21:00 发布:
讨论一下阿 讲一下经验吧,我现在JTAG还没调好呢。 QQ:54421826 |
5楼: | >>参与讨论 |
作者: zxm2006 于 2006/11/23 13:59:00 发布:
SD卡驱动自己写啦? 音频驱动是OSS的?还是ALSA的? USB DEVICE肯定没有驱动吧? |
6楼: | >>参与讨论 |
作者: 参天小树 于 2006/11/24 15:50:00 发布:
恭喜 不愧是高手,我搞了一个月还没搞出来呢 |
7楼: | >>参与讨论 |
作者: arm_imx 于 2006/11/24 16:20:00 发布:
usb DEVICE还没有调呢 参考了NET2272的设计。 由于板子没有加网卡,所以费了半天时间找了个lrzsz,好不容易编译了还不能使用,出现“bad MAGIC NUMBER”之类的错误。仔细看了adi的文档,加了“-mfdpic”的编译和链接选项就可以了。没有网卡,使用zmodem下载也不错。 另外调试bf561时发现每次读写~AMS1对应的地址空间就会死掉,换成~AMS2或者~AMS3就没有问题,EBIU的设置也没有问题,不知道是什么原因。 如果说有什么经验就是“坚持+熬夜”,时间够了自然就可以了。 |
8楼: | >>参与讨论 |
作者: zxm2006 于 2006/11/24 16:48:00 发布:
绝对同意 “如果说有什么经验就是“坚持+熬夜”,时间够了自然就可以了。” 千真万确啊。 |
9楼: | >>参与讨论 |
作者: arm_imx 于 2006/11/27 10:39:00 发布:
呵呵 简单说说我的调试过程,抛砖引玉,欢迎和大家讨论。 我做的板子是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 于 2006/11/27 11:01:00 发布:
厉害~~~~~楼主的JTAG用的是原版的?有没有办法自己做个简单的? |
11楼: | >>参与讨论 |
作者: arm_imx 于 2006/11/27 12:03:00 发布:
re 我也在考虑这个事情。毕竟531是低端的芯片,大家可以花几百元买个板子玩玩,但不可能花几千元买一个仿真器。好像是有简易的jtag板子的,不过不支持vdsp++。 我们是做项目的,所以用的是原装仿真器。 |
12楼: | >>参与讨论 |
作者: hardfire 于 2006/11/27 12:20:00 发布:
好啊,感谢ing... |
13楼: | >>参与讨论 |
作者: chess2006 于 2006/11/29 12:28:00 发布:
blackfin jtag 如果是上linux,IGLOO或WIGGLER的jtagprog都可以用,烧完u-boot剩下的就由代理程序处理了 |
14楼: | >>参与讨论 |
作者: fpga_mcu 于 2006/12/5 21:03:00 发布:
gxgx |
15楼: | >>参与讨论 |
作者: firefalcon 于 2006/12/8 23:42:00 发布:
恭喜啊。。。。。 我们的板子还都是买的,自己做得还不知道在哪里呢。。。 经验很好。。。。多多share |
16楼: | >>参与讨论 |
作者: xiaokehan 于 2006/12/10 22:55:00 发布:
赞!楼主搞定了UCLINUX再来介绍经验啊! |
17楼: | >>参与讨论 |
作者: hardfire 于 2006/12/11 10:33:00 发布:
个人感觉其实很多工作还是u-boot里面做的 uClinux的工作不是很大,关键还是cache部分的稳定性搞好就OK啦。 ADI提供下载的uClinux里面的驱动已经很完备了。 |
18楼: | >>参与讨论 |
作者: dxs 于 2008/3/31 18:38:15 发布:
SST39VF1601有19根地址线,你怎么根531接上的? |
19楼: | >>参与讨论 |
作者: 勿忘我 于 2009/12/5 17:20:08 发布:
能否介绍下wm8731的使用经验,在用这个片子时,将所有的寄存器设置遍,也没有数字接口没有数据送出来。 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |