BingK 发表于 2009-5-23 12:24:32

ArmDebugger使用讨论帖

本帖最后由 BingK 于 2009-5-23 12:32 编辑

ArmDebugger
这个软件有多强大就不说了。

最新0.7.9版。下载:
英文操作界面,但并不见得多么难懂。

下面简单说一点。

可以用CGSN补丁或x65-75bootpass Java Midlet链接手机,后者没试过,只在设置里看过。
推荐使用CGSN补丁。
CGSN可以移植,也可以使用ArmDebugger自动生成,开菜单栏,Tools-->Generate CGSN patch,接下来不用多说了吧。最好使用你自己备份的FullFlash,免得冲突,地址可以指定,也可以自动。

链接手机还需要在devices.ini中写对应机型的配置,否则不能使用调试这样高级功能。
其中比较麻烦的是Pool Address,ArmDebugger对SGOLD机型支持较好,可以使用内存申请函数申请内存,多NEWSGOLD/ELKA机型只能指定地址了。
具体如何找到这些地址,我也不清楚,需要使用RAM分析器(tools-->RAM Access Analyzer),但这个功能很容易造成死机,可以借用其它机型或者到国外论坛找可用的配置。
以下是我的:
Name = BenQ-Siemens E71C fw41
BootROMaddress = 0x400000;
BootROMsize = 0x100000;
FlashAddress = 0xa0000000;
FlashSize = 0x04000000;
IntRAM1address = 0x0;
IntRAM1size = 0x4000;
IntRAM2address = 0x80000;
IntRAM2size = 0x18000;
IntRAM3address = 0xac800000;
IntRAM3size = 0x01800000;
ExtRAMaddress = 0xa8000000;
ExtRAMsize = 0x01100000;
IOaddress = 0xf0000000;
IOsize = 0x10000000;
UseRAM = 0x89000;
;Pool1Address = 0xA8DAC000;
;Pool1Pages = 200;
Pool1Address = 0xA8D89000;
Pool1Pages = 40;
;MallocAddress = 0xA0092F51;
;MallocPages = 40;


Name = Siemens SK6C fw50
BootROMaddress = 0x400000;
BootROMsize = 0x100000;
FlashAddress = 0xa0000000;
FlashSize = 0x04000000;
IntRAM1address = 0x0;
IntRAM1size = 0x4000;
IntRAM2address = 0x80000;
IntRAM2size = 0x18000;
ExtRAMaddress = 0xa8000000;
ExtRAMsize = 0x01000000;
IOaddress = 0xf0000000;
IOsize = 0x10000000;
UseRAM = 0x8e000;
MallocAddress = 0xA02036DC;
MallocPages = 40;
ExtraFeatures = true;


Name = Siemens S68Cv51
BootROMaddress = 0x400000;
BootROMsize = 0x100000;
FlashAddress = 0xa0000000;
FlashSize = 0x04000000;
IntRAM1address = 0x0;
IntRAM1size = 0x4000;
IntRAM2address = 0x80000;
IntRAM2size = 0x18000;
IntRAM3address = 0xaC000000;
IntRAM3size = 0x18000000;
ExtRAMaddress = 0xa8000000;
ExtRAMsize = 0x01000000;
IOaddress = 0xf0000000;
IOsize = 0x10000000;
UseRAM = 0x89000;
Pool1Address = 0xA8D89000;
Pool1Pages = 300;


Name = Siemens S7Cv47
BootROMaddress = 0x400000;
BootROMsize = 0x100000;
FlashAddress = 0xa0000000;
FlashSize = 0x04000000;
IntRAM1address = 0x0;
IntRAM1size = 0x4000;
IntRAM2address = 0x80000;
IntRAM2size = 0x18000;
;IntRAM3address = 0xac800000;
;IntRAM3size = 0x01800000;
ExtRAMaddress = 0xa8000000;
ExtRAMsize = 0x01000000;
IOaddress = 0xf0000000;
IOsize = 0x10000000;
UseRAM = 0x89000;
Pool1Address = 0xa8201000;
Pool1Pages = 100;
还有这个,Keil的编译工具以及Hex2vkp。
在File-->Configuration中可以看到,怎么用不清楚,用Smelter编译也要用到。

回帖大家讨论,灌水别怪我手下无情。

loquat 发表于 2009-5-23 12:54:18

本帖最后由 loquat 于 2009-5-23 13:14 编辑

沙发
跟帖发资源,多了上面两个字。实力分-1,金钱数+1,楼下引以为戒。

星大starfriend的教程

loquat 发表于 2010-5-15 16:46:15

本帖最后由 loquat 于 2010-5-15 17:07 编辑

我的配置,S7C在BingK的基础上修改了。

可能只是适合我手机的配置,比以前不容易死机了貌似。。。
Name = BenQ-Siemens E71C fw41
BootROMaddress = 0x400000;
BootROMsize = 0x100000;
FlashAddress = 0xa0000000;
FlashSize = 0x04000000;
IntRAM1address = 0x0;
IntRAM1size = 0x4000;
IntRAM2address = 0x80000;
IntRAM2size = 0x18000;
IntRAM3address = 0xac800000;
IntRAM3size = 0x01800000;
ExtRAMaddress = 0xa8000000;
ExtRAMsize = 0x01100000;
IOaddress = 0xf0000000;
IOsize = 0x10000000;
UseRAM = 0x89000;
;Pool1Address = 0xA8DAC000;
;Pool1Pages = 200;
Pool1Address = 0xA8D89000;
Pool1Pages = 40;
;MallocAddress = 0xA0092F51;
;MallocPages = 40;


Name = Siemens SK6C fw50
BootROMaddress = 0x400000;
BootROMsize = 0x100000;
FlashAddress = 0xa0000000;
FlashSize = 0x04000000;
IntRAM1address = 0x0;
IntRAM1size = 0x4000;
IntRAM2address = 0x80000;
IntRAM2size = 0x18000;
ExtRAMaddress = 0xa8000000;
ExtRAMsize = 0x01000000;
IOaddress = 0xf0000000;
IOsize = 0x10000000;
UseRAM = 0x8e000;
MallocAddress = 0xA02036DC;
MallocPages = 40;
ExtraFeatures = true;


Name = Siemens S68Cv51
BootROMaddress = 0x400000;
BootROMsize = 0x100000;
FlashAddress = 0xa0000000;
FlashSize = 0x04000000;
IntRAM1address = 0x0;
IntRAM1size = 0x4000;
IntRAM2address = 0x80000;
IntRAM2size = 0x18000;
IntRAM3address = 0xaC000000;
IntRAM3size = 0x18000000;
ExtRAMaddress = 0xa8000000;
ExtRAMsize = 0x01000000;
IOaddress = 0xf0000000;
IOsize = 0x10000000;
UseRAM = 0x89000;
Pool1Address = 0xA8D89000;
Pool1Pages = 300;


Name = Siemens S7Cv47
BootROMaddress = 0x400000;
BootROMsize = 0x100000;
FlashAddress = 0xa0000000;
FlashSize = 0x04000000;
IntRAM1address = 0x0;
IntRAM1size = 0x4000;
IntRAM2address = 0x80000;
IntRAM2size = 0x18000;
;IntRAM3address = 0xac800000;
;IntRAM3size = 0x01800000;
ExtRAMaddress = 0xa8000000;
ExtRAMsize = 0x01000000;
IOaddress = 0xf0000000;
IOsize = 0x10000000;
UseRAM = 0x89000;
Pool1Address = 0xa8201000;
Pool1Pages = 100;


Name = BenQ-Siemens E71C fw41
BootROMaddress = 0x400000;
BootROMsize = 0x100000;
FlashAddress = 0xa0000000;
FlashSize = 0x04000000;
IntRAM1address = 0x0;
IntRAM1size = 0x4000;
IntRAM2address = 0x80000;
IntRAM2size = 0x18000;
IntRAM3address = 0xac800000;
IntRAM3size = 0x01800000;
ExtRAMaddress = 0xa8000000;
ExtRAMsize = 0x01100000;
IOaddress = 0xf0000000;
IOsize = 0x10000000;
UseRAM = 0x89000;
;Pool1Address = 0xA8DAC000;
;Pool1Pages = 200;
Pool1Address = 0xA8D89000;
Pool1Pages = 40;
;MallocAddress = 0xA0092F51;
;MallocPages = 40;
页: [1]
查看完整版本: ArmDebugger使用讨论帖