QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8773|回复: 15

如果用sjf烧写flash有问题试试我写的jtag烧写程序吧

[复制链接]
发表于 2007-1-2 17:32:25 | 显示全部楼层 |阅读模式
用法 bks4510.exe flash.bin

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2007-1-2 21:07:03 | 显示全部楼层
源码,有什么bug大家提啊 ^_^

我感觉自己写的这个jtag程序要比sjf稳定,写入成功率高,sjf检测写入成功的方法不对。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2007-1-5 19:37:36 | 显示全部楼层
想问问楼主sjf检测写入成功的方法是什么啊?
你的又是什么啊?
回复

使用道具 举报

 楼主| 发表于 2007-1-5 20:01:05 | 显示全部楼层
sjf检查flash写入是通过一个延时,但这个延时并不能保证写入成功

我是检查写入flash每个block的第6bit,如果两次读取相同说明写入成功,这也是检查flash写入成功的标准方法。
回复

使用道具 举报

发表于 2007-1-6 10:53:40 | 显示全部楼层
哦,谢谢大哥哈。下午去试试

还有一个问题就是我的板子用sjf4510烧写扳子,显示烧写成功,校验也成功
flash真的烧进去了么?cpu没有跑起来
回复

使用道具 举报

 楼主| 发表于 2007-1-6 14:30:07 | 显示全部楼层
校验实际上就是再把Flash里面的内容读出来,和原始文件比较,校验成功说明flash写入可肯没有问题。

你可以先试试led的哪个程序,如果灯闪了就说明cpu没有问题了,开始不要试bootloader,因为会有很多串口因素的干扰,不能说明cpu的问题
回复

使用道具 举报

发表于 2007-1-9 13:14:04 | 显示全部楼层
谢谢楼主,好人啊!

我用你的软件试了下,但是还是烧写失败啊,怎么办啊?急啊

读出来的情况是这样的:

bks4510 burn.bin
====s3c4510 jtag program bekars 2006.11====
>>>>>parallel port 0x378 active<<<<<
>>>>>s3c4510 is detected <id=0x1f0f0f0f>  <<<<<

>>>>>nor flash id 0xffffffff 1 <<<<<
file burn.bin ……
\write flash 272 byte 100%
0:e3a02064 ffffffff
flash write fail!!!


大哥再帮我分析下是什么原因嘛,跪谢啊
回复

使用道具 举报

 楼主| 发表于 2007-1-9 15:31:38 | 显示全部楼层
谢谢你使用我的程序,你的flash没有被检测出来>>>>>nor flash id 0xffffffff 1 <<<<<没有flash id被读出来,正确显示信息应该是:
>>>>> 39VF1601 is detected <<<<<

39VF1601的id应该是:0x00BF234B

可以肯定你的Flash焊接有问题,你看看flash所有的数据线和地址线有没有虚焊的,电源和地有没有虚焊和短路

CPU已经检测出来了>>>>>s3c4510 is detected <id=0x1f0f0f0f> <<<<< ,肯定是flash和cpu连接的pin有问题
回复

使用道具 举报

发表于 2007-1-9 18:46:24 | 显示全部楼层

实在是太谢谢了

我今天下午回去看了,果然a0虚焊了.
接上就找到flash了,但是烧写还是失败,截了个图,能不能帮我再分析分析啊?
你的软件写的比sjf4510好啊,它读flash的id不对就显示没找到了

你的不对还可以写,但是我的板子现在写完就是失败啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

 楼主| 发表于 2007-1-9 20:13:46 | 显示全部楼层
看最后的数据,从你的数据线读出的数据后面几位不同,数据线有可能有虚焊的地方

前面的0是flash的0地址,后面两个数据是实际数据和读出来的数据

写入是成功了,但是写入的数据检查不对,有可能是哪低位的数据线虚焊了,我就碰到过这个问题
回复

使用道具 举报

发表于 2007-1-9 22:04:06 | 显示全部楼层
哦,那我明天回去再检查一下,但是有个问题了,烧写的时候不是已经比较过了么?
为什么可以一直烧写到最后100%呢?
回复

使用道具 举报

 楼主| 发表于 2007-1-9 22:15:46 | 显示全部楼层
烧写的时候不是比较,而是检查烧写是否完成,就是说写入错误的数据也可以,检查的是这次烧些硬件任务是否完成,也可能数据线上就是错误的数据
回复

使用道具 举报

发表于 2007-1-10 13:01:46 | 显示全部楼层

还是有问题

我今天早上去看了一下,现在地址先和数据线连接都没有问题.

软件烧写之前有没有先擦除呢?是不是没擦除的问题呢?

还有我用flashpgm试了下,还是校验出问题了
flashpgm出了几个问题,附了图

还出现了一个很奇怪的问题,就是用axd来看存储空间,
没有烧写前,我用setmem来配置特殊寄存器,然后看flash的空间是全0xff
sdram的空间是随机的,flash的不可以改,sdram的可以改

但是现在烧写以后,还是按原来的配置,但是什么空间都是随机的,
而且都不可以改,怎么回事啊?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2007-1-10 22:12:43 | 显示全部楼层

又有新发现了

又有新发现了,下午回去发现两个地址线真的搭在一起了,改了以后,烧了个bin的文件,很小的,成功。但是后来烧一个比较大的,rom格式的文件,结果又出错了
是不是要先转成bin格式才可以啊?

附图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2007-1-12 12:40:11 | 显示全部楼层
终于烧写成功了哈!!!

谢谢楼主啊

最后用的sjf4510烧的,成功了,串口输出了uclinux的画面,但是我的8201没反应啊,自己加油干,呵呵.太谢谢楼主了.

我觉得你的软件做的比较友善,但是烧写没成功,应该是没有考虑到rom文件格式和bin文件格式的差别吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-21 18:00 , Processed in 0.124742 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表