共7条
1/1 1 跳转至页
uClinux开发板FAQ
[B]开发板配置[/B]
.S3c4510B - 50Mhz
.16M SDRAM
.2M SSTFlash + 512K AT29C020 Flash
.JTAG接口(14Pin)
.10M/100M以太网接口
.Led - 4
.Key - 4
.Uart 2路
.Lcd- DMF5001接口
.PCF8583 ?- RealTime Clock
.DOC - Disk On Chip 2000
.IDE40 - 硬盘接口
.ISA插槽,引出大部分信号供用户开发
.Bootloader - 用来调试uClinux的引导程序
.FlashP - 烧写SST39VF160
[B]已实现的功能 [/B]
.SST Flash的烧写,可以将用户程序或uClinux烧写到Flash中
.运行Bootloader,通过以太网下载uClinux到SDRAM中运行。
.直接运行烧写到Flash中的uClinx
.Wigger兼容的JTAG仿真器
.此开发板主要是为开发uClinux用的,其它的如ADS、ADT等均不提供支持。
[B]开发模式 [/B]
.开发环境:Linux + GNU软件
.开发工具包:arm-elf-gcc - from http://www.uclinux.org & http://www.dailzh.com
.uClinux内核 - from http://mac.os.nctu.edu.tw
.先将Bootloader烧写到Flash中,然后编译uClinux,将编译后的内核通过
.Bootloader下载到SDRAM中运行。内核调试完毕后,再将uClinux.rom写入
到Flash中,就可以直接运行uClinx了,然后在uClinux的环境下开发。
.开发板通过串口和计算机相连,开发板的输入输出通过超级终端(win98下)或Tip程序(linux)实现。
[B]关于调试功能[/B]
.开发板现在主要针对uClinux,开发模式是一种黑箱调试方式,编译完后通过网络下载到SDRAM直接运行,有错误再变异....
.对其他的一些程序如uCos,vxworks等没有做过测试
.随板的仿真器只是用来烧写Flash用,不被ADS等支持。
关键词: uClinux 开发
[IMG]http://www.dailzh.com/images/buildboard.jpg[/IMG]
[IMG]http://www.dailzh.com/images/buildboard1.jpg[/IMG]
如图所示:把图放大到它的实际尺寸。
元器件按照板子上丝印层的标注焊接即可,如有疑问已此图为准,跳线的配置也图所示。
[B]从pcb板自己焊接的调试方法。[/B]
如果你是自己从pcb空板自己焊接,可以按照以下的方法调试。
*焊接完毕以后,检查一下有无搭接的现象,测试以下电源和地之间是否短路。
*上电,只应该有一个电源灯亮。
*配置好跳线,参考开发板的照片,那个照片可以放大的。
*接上JTAG电缆,执行 FlashP w -f bios.img。
----顺利的话,你可以直接烧写flash,然后等它烧写完毕。
----如果出错有两种情况,一是找不到S3C4510,我遇到过几次,有以下几个原因:复位电路有问题,win98系统曾经进入过待机状态(重启即可),s3c4510的焊接有问题(搭接或虚焊)。 另外就是可以找到s3c4510,但是找不到Flash. 原因和上面的差不多。
(具体的错误信息以后再贴出来,因为我自己的板子也被别人要走了,现在我也没有板子调试了)。
*烧写成功 ,接好串口和以太网电缆,打开一个超级终端,设置 19200,8,n,1,无。
按下复位键,正常情况能在超级终端里看到一个有2项的菜单。
出现异常:
---没有输出,检查跳线:正确配置:little-endian, 16bit boot Flash, normal mode , X1 clock. sst39vf160接ncs0.
----以上正常,还没有输出,检查晶振是否有输出,复位是否正常。
----上电,观察你tx指示灯,应该闪两次,如果闪了,没有输出就是超级终端的问题了。
----如果还没有输出,麻烦就大了,换一片flash试试。
----有输出,但只有一部分,估计是SDRAM有问题,我现在就有一个是这种情况,没调出来,没有SDRAM了。
----有输出,也是只有一部分,但是连续输出。如果你没有把WDG使能的那个跳线插上,只有一个原因,SDRAM肯定是坏的。我有一次板子上没有焊接SDRAM,没有发现,就把Flash烧写了程序,然后上电,就是这个现象。
*在超级终端看到输出了
---选2,提示用tftp download 内核。
---将pc机的ip 设为 192.168.168.100(只要不是101)
---开一个dos窗口,tftp -i 192.168.168.101 put image.ram
---正常情况下,超级终端里可以看到输出,按照提示做既可。
出问题了:
---网线必须是交叉网线
---网线接上以后,如果网络部分硬件正常,link和10BaseT的指示灯应该亮。
---灯不亮,检查RTL8201的晶振和时钟来判断其是否工作。
(未完)
[align=right][color=#000066][此贴子已经被作者于2003-8-19 18:00:59编辑过][/color][/align]
[IMG]http://www.dailzh.com/images/jtag.gif[/IMG]
JTAG原理图在www.dailzh.com上.
目前烧写程序只能在win98下: Flashp w -f bios.img
随开发板提供的JTAG电缆和以前的原理图有点不同,主要是用GAL16v8替代了74HS244.
图中左侧为GAL版JTAG,右侧74HS244版,这两个都可以使用.
区别嘛,GAL版的滤波电容可以不焊接,除非用示波器测到并口输出波形很差才接上几十PF的滤波电容,74hs244版的接的是限流电阻,可以不用但必须短接.
GAL文件如下:
Name Wigger;
Partno JTAG;
Revision 01;
Date 03/27/03;
Designer Dai LiZHou;
Company dailzh.com;
Assembly none;
Location none;
Device GAL16V8;
/************************************************************************/
/* This device generates the chip select signals for the I/O functions. */
/* It also enables the data bus transceiver for both memory and I/O */
/* write cycles. */
/************************************************************************/
/** Inputs **/
pin 2 = RST_I;
pin 3 = TMS_I;
pin 4 = TCLK_I;
pin 5 = TDI_I;
pin 6 = A4;
pin 7 = A5;
pin 8 = A6;
pin 9 = TDO_I;
/** Outputs **/
pin 14 = TDO_O;
pin 19 = TDI_O;
pin 18 = TMS_O;
pin 12 = LED;
pin 16 = TCLK_O;
pin 17 = RST_O;
/** Declarations and Intermediate Variable Definitions **/
field mDecode = [A7..A0] ;
/** Logic Equations **/
TDO_O = TDO_I;
TDI_O = TDI_I;
TMS_O = TMS_I;
TCLK_O = TCLK_I;
RST_O = !RST_I;
LED = !TDI_I;
不管你是自己焊接还是购买焊接好的开发板,当你拿到这块板子时就可以做以下的工作了:
[B]测试开发板[/B]
[B] 1.[/B] 准备一个5V电源,5V电源必须是经过7805等稳压以后的输出,因为开发板上有部分芯片是5V供电的。
对于市面上出售的廉价的5V电源不要使用,因为它只是将变压器的输出经二极管整流滤波以后输出一个直流电压,这个电压的纹波大而且不稳定。如果要用它的话,找一个9V输出的,在它后面加一级7805。
[B]务请注意!!!我已经因为这个原因烧了一次板子了。[/B]
[B]2.[/B] 将5V电源焊到板子上,注意别接反,建议你上电之前再测量一遍。
[B]3.[/B]用串口电缆把计算机的Com1和开发板的UART0连接起来。
[B]4.[/B]用以太网电缆把开发板和计算机直接相连(网线已处理过)。
[B]5.[/B] 在linux下,将光盘上的tip,tftpcmd, down 程序拷贝到 /usr/local/bin下
运行tip -l /dev/ttyS0 -s 19200
[B]6.[/B] 开发板上电。应该看到输出了吧。
>>This program is base on the BIOS, patched by www.dailzh.com
>>uClinux Loader for SAMSUNG S3C4510B v1.0
>>
>>
>>1 - Flash Write(Now can't work)
>>2 - Load uClinux
>>
>>Please Select(only 2 is enabled): 2
>>
>>Mini TFTP Server 1.0 (IP : 192.168.168.101) - Load uClinux image(RAM)
>>Command: tftpcmd 192.168.168.101 69 put image.ram
>>选2 (功能1暂时不能用)
[B]7.[/B] 再开一个终端窗口
设置你计算机的IP地址 : ifconfig eth0 192.168.168.100
[B]8.[/B] 将光盘上的image.ram拷贝到当前目录下(latest image.ram on www.dailzh.com)
然后 down image.ram
正常情况下你应该看到tip的那个终端窗口有输出,选y -> Reboot.
>>Starting the TFTP download...
>>...........................................
>>Boot uClinux? (y/n) y <--- This is your input.
.....
uClinux是否已经启动。看到以下信息了吗?
>>uClinux-dist-20030522启动信息:
>>--------------------------------------------------------------------------
>>Linux version 2.4.20-uc0 (root@dailzh) (gcc version 2.95.3
>>20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)
>>(uClinux XIP and shared lib patches from http://www.snapgear.com/)) #1 一 5月19 23:44:11 CST 2003
>>Processor: Samsung S3C4510B revision 6
>>Architecture: SNDS100
>>On node 0 totalpages: 4096
>>zone(0): 0 pages.
>>zone(1): 4096 pages.
>>zone(2): 0 pages.
>>Kernel command line: root=/dev/rom0
>>Calibrating delay loop... 49.76 BogoMIPS
>>Memory: 16MB = 16MB total
在uClinux下:
>ifconfig eth0 192.168.168.102
>ping 192.168.168.100
应该能ping到了吧。
在你的Linux下:
#ping 192.168.168.102
也应该能ping到了吧。
*****************************************************************************
如果一切正常,那就开始编译uClinux
编译内核:
make menuconfig
>>Choose Samsung/4510B and uC-libc, then exit
>>>>>如果选择uC-libc编译出错,可以改选uClibc!!!
>>>>>uClinux-dist-20030522选uC-libc已经没有问题了
make dep
make lib_only (it builds library)
make user_only (it builds user space applications)
make romfs
make image (it produces romfs.o) You will get some error messages here,
don't worry about that, just ignore it. It will only heppen once.
make
如果make无错误,在images的目录下你会看到有 image.ram 和 image.rom 两个文件。
image.ram可以通过Bootloader下载到SDRAM中运行。
image.rom可以写入到Flash SST39VF160中直接运行。
down image.ram看看能不能运行
******************************************************************************
最后一步,uClinux调试完毕,将其写入到Flash中
把image.rom拷贝到win98的目录下。
开发板断电,把JTAG仿真器接到计算机的并口和板子的14Pin JTAG插座上。
接通5V电源
执行 FlashP w -f image.rom
大约30分钟以后烧写完毕。
撤掉JTAG仿真器以后再上电就应该运行uClinux了。
如果想把BootLoader写回Flash。
FlashP w -f bios.img
*****************************************************************************
任何问题和最新Patch请关注论坛 和 http://www.dailzh.com.
共7条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图四被打赏50分 | |
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 |