用jlink 烧写三星6410程序的问题

SomethingWrong 2011-01-06 05:03:43
小弟做了一块6410的电路板。电源、晶振、复位均正常。下载程序时遇到些问题,无法把程序下载到CPU内。那位DX肯伸出援手,不胜感激。

我是用命令行模式下载程序的,以下是下载时的信息:
SEGGER J-Link Commander V4.20h ('?' for help)
Compiled Oct 5 2010 19:11:57
DLL version V4.20h, compiled Oct 5 2010 19:11:41
Firmware: J-Link ARM V8 compiled Oct 7 2010 10:56:54
Hardware: V8.00
S/N: 68000149
OEM: J-Link-CE
VTarget = 3.267V
Info: TotalIRLen = 9, IRPrint = 0x0011
Found 2 JTAG devices, Total IRLen = 5:
#0 Id: 0x2B900F0F, IRLen: 04, IRPrint: 0x0, ARM ETB
#1 Id: 0x07B76F0F, IRLen: 05, IRPrint: 0x1, ARM1176 Core
ARM11 identified.
JTAG speed: 100 kHz
J-Link>r
Reset delay: 0 ms
Reset type NORMAL: Using RESET pin.
Info: TotalIRLen = 9, IRPrint = 0x0011
J-Link: ARM11 CP15 Settings changed: 0x00451078 from 0x00001002, MMU Off, ICache
On, DCache Off
Info: CP15.0.0: 0x410FB766: ARM, Architecture Unknown architecture
Info: CP15.0.1: 0x1D152152: ICache: 16kB (4*128*32), DCache: 16kB (4*128*32)
DIDR: 6 Breakpoints available and 2 Watchpoints available.
J-Link>loadbin e:\output.bin 0
Loading binary file... [e:\output.bin]
Writing bin data into target memory @ 0x00000000.
Info: CP15.0.0: 0x410FB766: ARM, Architecture Unknown architecture
Info: CP15.0.1: 0x1D152152: ICache: 16kB (4*128*32), DCache: 16kB (4*128*32)
DIDR: 6 Breakpoints available and 2 Watchpoints available.
J-Link>setpc 0
CPU is not halted !


...全文
914 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
backstreetguang 2013-05-04
  • 打赏
  • 举报
回复
记得我遇到这个问题,就多执行几次r就可以了。这个是连线之类的问题吧,不是什么问题吧
THE_NO 2013-05-03
  • 打赏
  • 举报
回复
烧写前执行一下r命令就行了
brickor 2012-07-30
  • 打赏
  • 举报
回复
如何初始化寄存器组?
hbtt19881210 2011-11-29
  • 打赏
  • 举报
回复
原来换 jlink版本可以解决
hanxiaohu88 2011-06-21
  • 打赏
  • 举报
回复
强烈希望:lf1981具体的讲一下如何初始化,小弟遇到同样的问题。
lyglary 2011-06-21
  • 打赏
  • 举报
回复
同问CPU是如何初始化的?
zyftoo 2011-04-18
  • 打赏
  • 举报
回复
请问是 如何初始化的?
lf1981 2011-02-28
  • 打赏
  • 举报
回复
已经解决。
原来在烧写之前要先通过Jlink初始化cpu相关寄存器,才能进行烧写,否则一直是cpu is not halted!无法进行烧写。
lf1981 2011-02-25
  • 打赏
  • 举报
回复
而且我发现不要speed 12000这一句,直接写loadbin c:\stepldr.bin cpu内部sram地址,可以写进去,用mem cpu内部sram地址 100这个命令,读出来的数据都是对的。但是g和h以后接下来的loadbin到外部SDRAM时,一直停在那里,好像永远也写不完似的。
lf1981 2011-02-25
  • 打赏
  • 举报
回复
我也遇到这样的问题,不知道什么原因!
板子上有程序的时候,烧写是正常的,一旦全部擦除,就出现这样的问题。我怀疑是不是烧写之前要设置一下CP15寄存器,而且也不会设置!请高手指教!
Uindex 2011-01-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 somethingwrong 的回复:]
引用 6 楼 codesnail 的回复:

nand flash和nor flash的烧写方式完全不同,你可能需要正确设置flash的型号,以及确认烧写器是否支持你的nandflash。

我已经根据手册设过NAND flash 跳线了
[/Quote]
你的跳线,JLINK版本都是对的,已经能够认到ARM11内核了。

不能调试可以先关闭MMU,看看寄存器可以读写不。
如果可以,先配置MEMCTRL内存控制器,搞定SDRAM,代码下到SDRAM跑起来,然后配置NAND NFC通过代码烧写NAND。

loadbin e:\output.bin 0
这个是SRAM写法,NAND不是那么写的,也不是那么读的~~
SomethingWrong 2011-01-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 codesnail 的回复:]

nand flash和nor flash的烧写方式完全不同,你可能需要正确设置flash的型号,以及确认烧写器是否支持你的nandflash。
[/Quote]
我已经根据手册设过NAND flash 跳线了
codesnail 2011-01-21
  • 打赏
  • 举报
回复
nand flash和nor flash的烧写方式完全不同,你可能需要正确设置flash的型号,以及确认烧写器是否支持你的nandflash。
SomethingWrong 2011-01-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yuekejun 的回复:]
我理解错了,不知道楼主把0x0这个地址映射到了什么区域?是ram还是rom,感觉可以运行
[/Quote]
我是看Jlink的手册操作的,Jlink的操作范例是对2440的nand flash写程序的,他地址用的是0x0 ,我也不明白是什么意思。
板上有个nand flash 我的本意是,把程序写到Nand flash 里面。
按照我的理解,在这个硬件设置条件下,0地址是片内启动用的rom。
guetcw 2011-01-14
  • 打赏
  • 举报
回复
没用过JLINK来下,你的JLINK是什么版本的,好像V8以上版本才支持6410
看看地址设置是不是正确
yuekejun 2011-01-13
  • 打赏
  • 举报
回复
我理解错了,不知道楼主把0x0这个地址映射到了什么区域?是ram还是rom,感觉可以运行
yuekejun 2011-01-12
  • 打赏
  • 举报
回复
楼主的做法很有意思阿,0x00000000这个地址没有实际的内存的,一定写不进取的。
SomethingWrong 2011-01-06
  • 打赏
  • 举报
回复
硬件系统采用的是6410+nand flash+ddr ram
程序写的很简单,就是控制IO口亮灯

没有用过ARM,很多操作不懂

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧