搜索
bottom↓
回复: 232

太激动了,JUltra枚举成功!!!发帖庆祝一下。。。

[复制链接]

出0入0汤圆

发表于 2010-8-28 18:27:32 | 显示全部楼层 |阅读模式
今天终于搞定FPGA!!!
JUltra枚举成功!!!

庆祝一下。。。爽得不得了。。。当然,还有很多工作要做。。。N多FPGA管脚要一一试验出来。。。


(原文件名:Ultra.jpg)

感谢minux协助!!!

出0入0汤圆

发表于 2010-8-28 18:33:39 | 显示全部楼层
……用JLink调试FPGA?
N……B

出0入0汤圆

 楼主| 发表于 2010-8-28 18:34:48 | 显示全部楼层
找到相机。。。拍张靓照。。。嘿嘿。。。


(原文件名:DSCF1004.JPG)

哇哈哈,世界第一款,山寨版JUltra的靓照。。。请无视键盘上的污渍。。。

出0入0汤圆

 楼主| 发表于 2010-8-28 18:35:58 | 显示全部楼层
to 【1楼】 caplsc

居然插队。。。

不是用J调试FPGA,是JUltra包含FPGA...

出0入0汤圆

发表于 2010-8-28 18:39:20 | 显示全部楼层
回复【3楼】taoist  
-----------------------------------------------------------------------

哈哈,发现的早,插个队……

“包含”……没明白

出0入0汤圆

发表于 2010-8-28 18:40:43 | 显示全部楼层
是用FPGA来做类似于Jlink的东西?

出0入0汤圆

 楼主| 发表于 2010-8-28 18:43:52 | 显示全部楼层
JUltra由CPU + FPGA + Level shift构成
能够看到第一张图,必须CPU能够正确配置FPGA,才有可能枚举成功。
配置FPGA搞了我足足3个月。。。哎。。。此中辛酸几人知啊。。。

哎。。。破解越来越难了。。。

出0入0汤圆

 楼主| 发表于 2010-8-28 18:45:11 | 显示全部楼层
to 【5楼】 caplsc

Faint...给你补点课。。。

JUltra是公司今年5月推出的新的ARM仿真器,速度是JV8的2-4倍。。。

出0入0汤圆

 楼主| 发表于 2010-8-28 18:47:52 | 显示全部楼层
因此,2楼的图片就是世界第一款,山寨版JUltra的靓照。。。

出0入0汤圆

发表于 2010-8-28 18:49:59 | 显示全部楼层
回复【7楼】taoist  
-----------------------------------------------------------------------

……呵呵,丢人了,有一段时间没关注了。
看看去。

出0入0汤圆

发表于 2010-8-28 18:52:41 | 显示全部楼层
很不错的哈,估计下周minux就会回论坛来了

出0入0汤圆

 楼主| 发表于 2010-8-28 18:56:47 | 显示全部楼层
to 【10楼】 h2feo4 无机酸

没有minux。。。怎么也不可能搞定FPGA部分的。。。在此深表感谢!!!

出0入0汤圆

发表于 2010-8-28 19:07:02 | 显示全部楼层
楼主高人

出0入0汤圆

发表于 2010-8-28 19:14:44 | 显示全部楼层
支持支持~

出0入0汤圆

发表于 2010-8-28 20:04:56 | 显示全部楼层
牛逼

出0入0汤圆

发表于 2010-8-28 20:08:15 | 显示全部楼层
我一直膜拜taoist大侠,不知大侠收不收徒弟?
头像被屏蔽

出0入0汤圆

发表于 2010-8-28 20:09:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2010-8-28 20:28:28 | 显示全部楼层
恭喜!

出0入0汤圆

发表于 2010-8-28 20:28:49 | 显示全部楼层
是什么FPGA呢?

出0入0汤圆

 楼主| 发表于 2010-8-28 20:30:23 | 显示全部楼层
to 【18楼】 again

猜猜看呀。。。

出0入0汤圆

发表于 2010-8-28 20:40:12 | 显示全部楼层
altera占多数吧!
估计3C

出0入0汤圆

发表于 2010-8-28 20:42:12 | 显示全部楼层
膜拜一下

出0入0汤圆

发表于 2010-8-28 20:42:48 | 显示全部楼层
反汇编固件应该能看到相关信息

出0入0汤圆

 楼主| 发表于 2010-8-28 20:48:37 | 显示全部楼层
to 【20楼】 again

EN, 正确。。。图片里有,哇哈哈

出0入0汤圆

发表于 2010-8-28 20:55:07 | 显示全部楼层
回复【23楼】taoist
-----------------------------------------------------------------------

不知大侠收不收徒弟?

出0入0汤圆

 楼主| 发表于 2010-8-28 21:07:09 | 显示全部楼层
to all...与君分享一些美好与惨痛的经历:

公司从4.14a的DLL开始,提供JUltra的Firmware。
从DLL中提取JUltra的APP部分,很容易,很多人很轻松就能搞定。

那么第一步就是先猜CPU,从APP很容易看出是Cortex的CPU,因为很有特点的Vector区。
加上公司对JUltra的描述:"Hi-Speed-USB 2.0 interface",很容易就猜到Atmel的SAM3U系列。
然后根据APP的长度192kB,那么Flash就是256kB的片子。保留了64kB作为Boot区。
(因为有V8的惨痛经历,所以JUltra留了64kB作为Boot区--V8保留的Boot区太小,才8kB,最高级优化+大幅裁减USB协议栈后终于勉强在仅剩12个字节的Boot区装下boot程序)

256kB的SAM3U系列只能是SAM3U4E和SAM3U4C。这个费了比较长的时间确定。

出0入0汤圆

发表于 2010-8-28 21:19:07 | 显示全部楼层
支持支持~

出0入0汤圆

 楼主| 发表于 2010-8-28 21:22:46 | 显示全部楼层
下一步需要确定目标文件在Flash中的位置,这可差点难倒了minux。。。呵呵。。。
看一下SAM3U4C/4E的Flash结构:

(原文件名:SAM3U4CMEM.JPG)

SAM3U4C/4E的Flash分为2块,分别从0x80000开始和从0x100000开始。。。
那么公司怎么把一个整的256kB程序块存到2个Flash分区去呢?
编译器又怎么能把程序分为2个块分开分配程序存储空间呢?

留点问题,下次再说。。。呵呵

出0入0汤圆

 楼主| 发表于 2010-8-28 21:25:31 | 显示全部楼层
to 【24楼】 youki1234

呵呵,老夫已经有3个弟子了,够操心的了。。。不打算再收了。。。

出0入0汤圆

发表于 2010-8-28 21:44:49 | 显示全部楼层
恭喜 taoist

手头上有EP3C16不知道能不能用

出0入0汤圆

发表于 2010-8-28 22:03:14 | 显示全部楼层
马克

出0入0汤圆

发表于 2010-8-28 22:35:10 | 显示全部楼层
很强大啊

出0入0汤圆

发表于 2010-8-28 22:41:08 | 显示全部楼层
楼主用的是apple??

出0入0汤圆

 楼主| 发表于 2010-8-28 23:00:58 | 显示全部楼层
回复【32楼】zhuxindesign  
楼主用的是apple??
-----------------------------------------------------------------------

Yes iMac24

出0入0汤圆

发表于 2010-8-28 23:15:17 | 显示全部楼层
厉害!!!

出0入0汤圆

发表于 2010-8-29 00:00:01 | 显示全部楼层
猜想EP3C10E144或EP3C5E144

EP3C5E144可能性最大

出0入0汤圆

 楼主| 发表于 2010-8-29 07:15:35 | 显示全部楼层
回复【35楼】shaoshunda  
猜想ep3c10e144或ep3c5e144
ep3c5e144可能性最大
-----------------------------------------------------------------------

看来大家都很了解那家小气的公司,呵呵

出0入0汤圆

发表于 2010-8-29 10:33:18 | 显示全部楼层
恭喜呀!破解的过程的确是很辛酸,但一出结果来,那可兴奋了(当时搞定5.x时深有体会)
最近也准备开始研究一下FW了,手头只有V7的,固件也只找到V7的Full段,就从它开始了(要是有V8的原厂固件就好了).

图拍得不清晰,要是有更多细节就好了!
Ultra可以,那Trace呢?

出0入0汤圆

 楼主| 发表于 2010-8-29 11:15:08 | 显示全部楼层
回复【37楼】hiberhe  

图拍得不清晰,要是有更多细节就好了!
ultra可以,那trace呢?
-----------------------------------------------------------------------

图片是为了大家可以直接看而压缩过的。。。

Trace是个比较纠结的东西,值不值花精力去研究它。。。又有几个人用它呢???


(原文件名:TraceBTL.jpg)

出0入0汤圆

发表于 2010-8-29 13:03:16 | 显示全部楼层
关注

出0入0汤圆

发表于 2010-8-29 13:50:43 | 显示全部楼层
taoist  

SAM3U的板子是自己打的吗?

出0入0汤圆

 楼主| 发表于 2010-8-29 15:00:36 | 显示全部楼层
to 【40楼】 shaoshunda

SAM3U是QFP转DIP飞出来的

后悔死了,FPGA用了taobao上一商家画的开发板,就是那块板,郁闷死偶了,哎。。。不提也罢。。。应该也用QFP转DIP板飞的。。。

出0入0汤圆

发表于 2010-8-29 20:30:10 | 显示全部楼层
不管是TRACE,还是ULTRA,其它关键都在它的原理难猜,原理图搞定就方便了,FPGA应该都是通过MCU配置的,找出配置的脚,然后根据FPGA的AN(我记得Altra是有怎么用MCU配置FPGA的文档的),应该就能基本完成枚举?

感觉Ultra比TRACE要容易些,从楼主位图看来,没有外加SDRAM(TRACE是加了的).

出0入0汤圆

 楼主| 发表于 2010-8-29 20:49:18 | 显示全部楼层
to 【42楼】 hiberhe

本来我也是那么想的。。。可操作起来。。。

出0入0汤圆

发表于 2010-8-29 21:35:00 | 显示全部楼层
等把V7和V8搞定了,再试试(呵呵,由你提供的上面这些信息,会少走此弯路了)

出0入0汤圆

发表于 2010-8-29 21:37:27 | 显示全部楼层
taoist重出江湖,关注。。

出0入0汤圆

发表于 2010-8-30 07:03:20 | 显示全部楼层
CPU可以通过反汇编确定,那FPGA如何确定是ep3c5e144?
Altera的FPGA支持以PS和FPP的方式通过MCU配置,看飞了许多线,是用的EPP?EPP配置方式需要8位数据线,而SAM3U4C正好8位数据线,同时8位数据线还可以用于后面与FPGA通信?

出0入0汤圆

 楼主| 发表于 2010-8-30 08:54:32 | 显示全部楼层
to 【46楼】 hiberhe

继续猜呀...呵呵

出0入0汤圆

发表于 2010-8-31 11:48:51 | 显示全部楼层
上电MCU配置FPGA只有一次,不需要那么多线,FPP不支持数据压缩
PS支持数据压缩,未压缩存储量见图


(原文件名:altera.JPG)

在*****arm.dll里可以看到数据压缩

(原文件名:Jultra.JPG)

出0入0汤圆

发表于 2010-8-31 19:37:11 | 显示全部楼层
【11楼】 taoist

呵呵,和taoist讨论的时候也学到超级多的东西~ 我也得万分感谢taoist耐心给我讲解。


【46楼】 hiberhe

1, Cyclone 3的E144封装不支持FPP.
2,FPP配置之后数据线就只剩下7根是User IO了(DATA0是专门用于配置的),所以总线会很郁闷……


【48楼】 cctnt

FPP确实不支持压缩,但是dll中显示“Compressed FPGA Data”可不一定说的是那个信息本身
被压缩了哦,或许是这里的数据被MCU解压缩后送到FPGA呢……
从那个数据的结构看,偏移00111404开始就应该是FPGA配置信息,但是熟悉Cyclone 3的配置的
一眼就能看出来这个绝对不是原始的压缩过的(这里的压缩过是指FPGA配置时候解压的那种)位流。
说明,这个DLL里面存的数据一定是经过变换的(很可能重新是压缩过,甚至加密过~)

所以王道还是先看app的反汇编。

不过看反汇编前最大的难题是27楼taoist提出的问题。
那个问题我以前没有见过那么用的,于是我为了确定,找了找程序中的绝对地址引用。

出0入0汤圆

发表于 2010-8-31 20:40:14 | 显示全部楼层
占个位,听课!

出0入0汤圆

 楼主| 发表于 2010-8-31 21:04:17 | 显示全部楼层
to 【49楼】 minux 啊啊?

呵呵,以前很多FC的游戏都是这么搞的,比较简单的加密。

出0入0汤圆

发表于 2010-8-31 21:04:21 | 显示全部楼层
呵呵,我没用过C3,只粗略看了一下.不能EPP,那就剩PS啰(当然理论JTAG也行,而且S对这个在行)

我没开始仔细研究JU的固件,有个疑问:以前S64的时候,48M实现了12M JTAG时钟,现在96M的CPU,怎么需要那个大个FPGA来辅助呢,看功能也没有很大很大的提升嘛.以前弄V5的时候,看连线就猜到用了S64外设的特性.按理说,SAM3U也可以用呀.

看山寨板,JU就独独用的FPGA的资源.感觉用不了那么大的逻辑吧

---------

固件中的compress字串都出现segger了,显然不是FPGA的"明码".

周末有空的时候,分析分析JU的固件.现在突然对它的上位机更感兴趣了:)

出0入0汤圆

发表于 2010-8-31 22:07:20 | 显示全部楼层
【52楼】 hiberhe

用FPGA之后就是速度快了…… 只用SAM3U的话,当然也可以比S64提高些速度;至于为啥一定要用FPGA,我估计公司还有别的策略。
(比如可能是市场原因,要做最快的调试器,不用FPGA就没戏了;抑或是因为其他调试器都用FPGA…… 这些仅仅是猜测。)

那个字符串是个Header。我前面也说了偏移00111404开始很可能是真正的位流。。。。

出0入0汤圆

 楼主| 发表于 2010-8-31 22:11:18 | 显示全部楼层
to
【52楼】 hiberhe
【53楼】 minux 啊啊?

DLL对SPEED的限制是50M,这应该是公司的目标。

出0入0汤圆

发表于 2010-8-31 22:18:34 | 显示全部楼层
膜拜高手啊...

出0入0汤圆

发表于 2010-8-31 22:23:40 | 显示全部楼层
弱弱问一下.这个东西有什么用的?

出0入0汤圆

发表于 2010-8-31 22:51:18 | 显示全部楼层
【54楼】 taoist

恩,不过它还是简单的分频的形式生成TCK时钟…… 我突然想到您说过日本的一个可以逐Hz调整?
那个是怎么实现的?逐Hz调整频率。。。。

出0入0汤圆

发表于 2010-8-31 23:14:28 | 显示全部楼层
50MH?那真是飞一般的感觉了...

出0入0汤圆

发表于 2010-8-31 23:39:56 | 显示全部楼层
【57楼】 minux 啊啊?

FPGA上有多个PLL可以生成时钟

出0入0汤圆

发表于 2010-8-31 23:59:41 | 显示全部楼层
【59楼】 cctnt

具体点?比如0-20MHz(我记得那个应该没有这么窄),逐Hz调整,如何实现?

出0入0汤圆

发表于 2010-9-1 01:24:05 | 显示全部楼层
破解玩玩可以 别当主业!

出0入0汤圆

发表于 2010-9-1 03:27:27 | 显示全部楼层
【61楼】 luzhengmao

这帖子只是说技术…… 把破解当主业的人肯定也不会来公开来讨论技术。

出0入0汤圆

发表于 2010-9-1 08:59:46 | 显示全部楼层
回复【60楼】minux 啊啊?
【59楼】 cctnt  
具体点?比如0-20mhz(我记得那个应该没有这么窄),逐hz调整,如何实现?
-----------------------------------------------------------------------

DDS应该可以

出0入0汤圆

 楼主| 发表于 2010-9-1 10:15:52 | 显示全部楼层
to 【57楼】 minux 啊啊?

我用过Plamice2,现在已经是3了。。。可惜,没机会拆

点击此处下载 ourdev_579316.pdf(文件大小:123K) (原文件名:palmice3_arm_gaiyou_eng.pdf)


另外我记得XDS560是用ICD2053B实现的。。。
点击此处下载 ourdev_579317.pdf(文件大小:91K) (原文件名:icd2053b.pdf)

出0入0汤圆

发表于 2010-9-1 10:40:10 | 显示全部楼层
【64楼】 taoist

JTAG clock can be set freely within 1kHz - 40MHz.... 真的能准确到1Hz么……
那这个PLL分频系数得多少位啊……

有个PCI口的XDS560,还没仔细研究上面的器件,下次得仔细瞧瞧了,我原以为它都是用RTCK的。。。

出0入0汤圆

发表于 2010-9-1 12:23:04 | 显示全部楼层
看了 发现很多马甲!!!

建议TAOIST对盗版收取技术支持费以赞助其科研活动!!

出0入0汤圆

发表于 2010-9-1 13:14:34 | 显示全部楼层
【66楼】 MTO1

orz 这要那样不就也成了反向为了牟利的人了么……

出0入0汤圆

发表于 2010-9-1 13:23:55 | 显示全部楼层

出0入0汤圆

 楼主| 发表于 2010-9-1 13:25:43 | 显示全部楼层
to 【65楼】 minux 啊啊?

芯片不在XDS560本体。。在那根线的大肚子里。。。


to 【66楼】 MTO1

不在乎那点钱,搞破解是为了更好地学习技术。
想赚钱还不容易?V6,V7,V8,ProV1,ProV3,Ultra,F*lash*er ARM,谁比我全?

出0入0汤圆

 楼主| 发表于 2010-9-1 14:09:18 | 显示全部楼层
哇哈哈,JTAG口部分搞定!!!


(原文件名:Ultra.JPG)

出0入0汤圆

发表于 2010-9-1 14:27:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-1 19:51:35 | 显示全部楼层
【70楼】 taoist

gxgx
内存下载速度测试了么?晒晒结果?想看看25MHz的TCK时钟下载速度如何……

出0入0汤圆

发表于 2010-9-1 20:25:30 | 显示全部楼层
taoist是不是有一个原装的Ultra呢,猜测FPGA和MCU的连接感觉是不可能的,因为FPGA引脚是可以配置的。

出0入0汤圆

 楼主| 发表于 2010-9-1 20:44:34 | 显示全部楼层
minux! 看看我发现了什么!!!


(原文件名:Cortex-A8.jpg)

出0入0汤圆

 楼主| 发表于 2010-9-1 21:07:20 | 显示全部楼层
to 【73楼】 hontor

好问题。。。

出0入0汤圆

发表于 2010-9-1 21:25:55 | 显示全部楼层
TI cortex R4 你调试的什么芯片?

出0入0汤圆

发表于 2010-9-1 21:28:01 | 显示全部楼层
恭喜恭喜。

27楼的问题,链接器应该可以直接指定。貌似不是太复杂的事情。
Keil MDK可以半人工搞定这个事情,自动的我没尝试过,猜测没问题。

出0入0汤圆

发表于 2010-9-1 21:39:17 | 显示全部楼层
回复【77楼】chaplin1999  
-----------------------------------------------------------------------

公开了的就是TMS570那个系列了吧。

不过这个链子上还有一个CortexA8的Core,情形很奇怪。应该是什么别的芯片。

出0入0汤圆

发表于 2010-9-1 21:44:11 | 显示全部楼层
【75楼】 taoist

哇 支持TI ICEPick了啊…… 那omap3530就应该能用了,哈哈哈,太赞了。
你这个是不是就是OMAP3530啊?感觉Cortex-R4 r0p0那个是不是识别有问题啊?

我看来得准备自制Ultra了。先去找SAM3U4C的货源……
Pro V3不指望了,现在看来Ultra还是很有希望滴~

出0入0汤圆

发表于 2010-9-1 21:52:00 | 显示全部楼层
回复【80楼】minux  啊啊?
-----------------------------------------------------------------------

不过,看图好像是ICEPICK识别出来之后,但软件还是尝试把ICE Pick当某个内核进行识别?
最后就是一个4Bit的CortexA8,一个6Bit未知。

出0入0汤圆

发表于 2010-9-1 22:02:23 | 显示全部楼层
这个是不是比j-link更强悍的仿真器啊>

出0入0汤圆

发表于 2010-9-1 23:24:51 | 显示全部楼层
【81楼】 dr2001

对的,6bit IR的unknown其实是ICEPick,4bit的是Cortex-A8 (这点我查了TI的手册,证实了这个IR长度,
因为omap3530中的C64x+的IR长度是38bit(! 真orz...)).

不管如何,ICEPick总是在链中,不过ultra肯定是为ICEPick做了处理,不然直接扫3530的TAP只能得到一个
6bit的IR(ICEPick),必须要手工enable ARM核的才能看到ARM核……

从图上看,只要做了Enabling device at position 0的步骤就说明Ultra对于omap3530应该基本上算是支持了。
真实太赞太赞了。

出0入0汤圆

发表于 2010-9-2 06:10:37 | 显示全部楼层
呵呵,看来很JS盯着了哈,不过有JS那东西,成品变得很便宜!

出0入0汤圆

发表于 2010-9-2 09:01:41 | 显示全部楼层
回复【83楼】minux  啊啊?
-----------------------------------------------------------------------

看起来应该是支持了,不过可能需要一点额外设置。

出0入0汤圆

 楼主| 发表于 2010-9-2 09:13:42 | 显示全部楼层
呵呵,用V8就行了。。。看来公司还是很厚道的。。。


(原文件名:V8.jpg)

哎。。。Pro就是鸡胁。。。


(原文件名:pro.jpg)

出0入0汤圆

发表于 2010-9-2 10:56:24 | 显示全部楼层
【86楼】 taoist

呵呵 幸好我还没做Pro V3.... 还是改做Ultra吧。

出0入0汤圆

发表于 2010-9-2 11:35:30 | 显示全部楼层
回复【87楼】minux  啊啊?
-----------------------------------------------------------------------

有预订没啊,哈哈~

出0入0汤圆

发表于 2010-9-2 11:58:41 | 显示全部楼层
回复【87楼】minux 啊啊?
-----------------------------------------------------------------------

有预订没啊?搞个自己用用应该蛮爽的!

出0入0汤圆

发表于 2010-9-2 15:03:10 | 显示全部楼层
【88楼】 dr2001

我在考虑我们的项目是否可以兼容…… 做个cyclone 3的FPGA板就行了。

出0入0汤圆

 楼主| 发表于 2010-9-2 19:18:22 | 显示全部楼层
to 【90楼】 minux 啊啊?

当心知识产权问题。。。

看来还是不能完美支持Cortex-A8...看这张图:

(原文件名:S5PC100-Ultra.jpg)

出0入0汤圆

发表于 2010-9-2 20:10:08 | 显示全部楼层
【91楼】 taoist

呃 好吧呀。。。  那没办法共用multijtager的MCU板了,我看来还得找办法买SAM3U....

这个趋势已经很好了~ 再等等估计就完美支持了。

出0入0汤圆

 楼主| 发表于 2010-9-2 20:24:42 | 显示全部楼层
to 【92楼】 minux 啊啊?

Atmel好像有问题。。。我这边想再买些也很难。。。。

出0入0汤圆

发表于 2010-9-2 23:42:59 | 显示全部楼层
路过,膜拜高人

出0入0汤圆

发表于 2010-9-3 07:38:11 | 显示全部楼层
to 【93楼】 taoist

J(V7)是怎么处理中断重向的拷贝的,我在反汇编"V7 compiled May 27 2009 17:29:25"的FW时,怎么没有找到将异常向量从Flash拷贝到RAM起始地址的代码?难道是在BOOT中处理的?不过不会那样吧,BOOT和FW不一样呢?还是两者的异常向量都使用相同的初始代码?

另外,Remap好像也没找到(这个我还没来得及仔细看下,两年多没用S64时,忘得差不多了,得补补数据手册了).

--------------

初始的外围代码看得差不多了,准备啃OS和USB的代码了.OS的代码还比较好弄,USB可能比较难弄,还不清楚S的USB栈有多复杂.

出0入0汤圆

 楼主| 发表于 2010-9-3 08:56:21 | 显示全部楼层
to 【95楼】 hiberhe

就是在boot里拷贝呀。。。

出0入0汤圆

发表于 2010-9-3 19:22:09 | 显示全部楼层
【95楼】 hiberhe

我觉得embOS和emUSB的部分都不必要看…… 知道一些函数的作用即可。

出0入0汤圆

发表于 2010-9-3 20:32:47 | 显示全部楼层
to 【96楼】 taoist:
找到了,其实07年那次分析的时候,就分析到了这部分(当时没想到对照IAR的相关初始化去分析,纯一条条看的),这是当时对V5作的注释:

ROM:00108CF4 subCopyResetEntryAndRemap_108CF4        ; CODE XREF: main+1Ap
ROM:00108CF4                 PUSH    {LR}            ; Push registers
ROM:00108CF6                 MOVS    R2, #0x40 ; '@' ; ; Rd = Op2
ROM:00108CF8                 LDR     R1, =reset      ; 包含复位向量的位置(0x105400)
ROM:00108CFA                 LSLS    R0, R2, #0xF    ; R0=0x00200000
ROM:00108CFC                 BL      subMemCopy_1097E4 ; 拷贝复位向量开始的8*4+8*4字节到内存起始处!
ROM:00108CFC
ROM:00108D00                 MOVS    R0, #1 ; ; Rd = Op2
ROM:00108D02                 BL      subRemap_108CD8 ; ROM:00108D02
ROM:00108D06                 POP     {PC}            ; Pop registers

这次分析时,想省点事,就参考了"长篇连载:J-xxxx源代码大公开",它的main中有"copy_vender();"当时没去分析它,还以为是拷贝USB的相关信息的,只是把vendor打成了vender.刚才一看,看来原意应该是copy_vector...

to 【97楼】 minux 啊啊?
但是开始比较难定位哪些是embOS和emUSB的代码,哪些是FW的用户代码呀,初接触觉得embOS没有uC/OS-II那么规整.

出0入0汤圆

发表于 2010-9-3 21:00:50 | 显示全部楼层
【98楼】 hiberhe

有一个好办法,embOS创建线程的时候有一个参数是字符串,也就是线程名,你直接跟踪到main然后找
这样一个函数调用,然后它的一个参数就是主线程的函数。找到了这个你再慢慢根据上下文猜测某一个
embOS/emUSB中的函数调用的功能。

出0入0汤圆

 楼主| 发表于 2010-9-3 21:08:00 | 显示全部楼层
终于,SWD也搞定了。。。

(原文件名:SWD.jpg)
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 21:57

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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