HC16 module for IDA Pro 4.7.0.830

Links to development tools which have been useful to this project

Moderator: Freon

HC16 module for IDA Pro 4.7.0.830

Postby cboles » Wed May 18, 2005 10:46 am

Here is a HC16 dissasembler module for IDA Pro 4.7.0.830 that I wrote.

If you just need to use the module:

* download ida47hc16.zip
* copy the hc16.cfg file to your \Program Files\IDA47\cfg dir
* copy the hc16.w32 file to your \Program Files\IDA47\procs dir
* the module will appear as "Freescale HC16 series: 68HC16" in the processor type list

If you want to compile / change the source

* download srcida47hc16.zip
* unpack it wherever you like
* IDA 4.7 should be installed in C:\Program Files\IDA47 for the post build step to place the hc16.w32 file in C:\Program Files\IDA47\procs
* copy the hc16.cfg file to your \Program Files\IDA47\cfg dir
* use Visual Studio 7 to open the ida\module\hc16\hc16.sln file
* build away!

notes:

* this version does not support any smart tracking of the index register values - i'm working on that feature, but don't completey understand how to best implement this in IDA. if you have experience with this and can help, please contact me.

* there is an intentional non-standard ordering of operands for the BRCLR and BRSET opcodes. this is becaise IDA doesn't seem to follow branches if the code addresses are in an operand position greater than 3 (which happens when you use indirect addressing with X, Y, and Z). as a fix, i turned what should be:

BRCLR yOffset, Y, #bitmask, branchaddress

and changed it to

BRCLR yOffset, Y, branchaddress, #bitmask
Attachments
srcida47hc16.zip
Source code for IDA 4.7 HC16 disassembler module
(484.23 KiB) Downloaded 1055 times
ida47hc16.zip
IDA 4.7 HC16 disassembler module
(33.73 KiB) Downloaded 778 times
Last edited by cboles on Sun May 22, 2005 12:15 pm, edited 2 times in total.
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Postby NeverLies » Wed May 18, 2005 12:49 pm

Nice Colby ;) Thanks for this !
NeverLies
 
Posts: 179
Joined: Tue Apr 12, 2005 1:49 am

Postby calvinc » Thu May 19, 2005 10:16 pm

thanks colby
calvinc
 
Posts: 163
Joined: Sun Apr 24, 2005 10:18 am
Location: south africa

Postby crazymikie » Mon May 23, 2005 6:07 pm

Anyone care to write up a crash course in IDA?

It's not exactly intuitive :(


Mike
crazymikie
 
Posts: 105
Joined: Mon Jan 03, 2005 6:45 pm
Location: Watertown, MA

HC916Y5 peripheral register map

Postby JonnyM » Fri Jun 24, 2005 10:04 pm

Colby,

this CPU seems to have some non-standard peripherals for which I can't find any documentation at Freescale.

I'm quite familiar with Motorola CPU's all the way from 6800 :lol:
but can't find any suitable modules matchin my disassembly.

Could you give some explanations to the peripherals in use and possibly post a register map ?

An .idc of the peripheral area would of course be extremely appreciated 8)

/Jonny
JonnyM
 
Posts: 20
Joined: Mon May 30, 2005 9:23 pm

Postby DaveImpreza » Fri Jul 08, 2005 3:03 pm

Those plugins don't work with Ida Pro 4.8.0.487, i get the error :

"IDA Kernel and IDP module ....\hc16.w32 are not compatible"
DaveImpreza
 
Posts: 19
Joined: Thu Jan 13, 2005 1:59 am

Postby Spiider » Fri Jul 08, 2005 6:12 pm

Works fine with my IDAPro v4.7.
Spiider
 
Posts: 191
Joined: Thu Mar 10, 2005 4:16 pm

Postby cboles » Fri Jul 08, 2005 6:37 pm

There is probably a new SDK for 4.8. You could probably install that and recompile, and it would work with your version.

DaveImpreza wrote:Those plugins don't work with Ida Pro 4.8.0.487, i get the error :

"IDA Kernel and IDP module ....\hc16.w32 are not compatible"
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Postby DaveImpreza » Sat Jul 09, 2005 7:05 am

I've found a 4.7.0 version and it work.

Now.. he ask me for the entry point after the initial analisys.
How to find it ?

Tnx
Dave
DaveImpreza
 
Posts: 19
Joined: Thu Jan 13, 2005 1:59 am

Postby evo » Fri Oct 07, 2005 7:02 pm

DaveImpreza wrote:I've found a 4.7.0 version and it work.

Now.. he ask me for the entry point after the initial analisys.
How to find it ?

Tnx
Dave


Yes
any pointers/info would be great here!
evo
 
Posts: 4
Joined: Thu Oct 06, 2005 11:24 pm

Postby NeverLies » Fri Dec 09, 2005 5:55 am

Someone compiled it for 4.8 ?
NeverLies
 
Posts: 179
Joined: Tue Apr 12, 2005 1:49 am

Postby cboles » Fri Dec 09, 2005 10:56 am

I think someone mentioned compiling it for 4.8 and that it worked. I can't remember who though.
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Postby NeverLies » Fri Dec 09, 2005 11:41 am

Does someone has started something with 4.7 ? So we may create a thread as we need to understand ECU behavior right now ;)
NeverLies
 
Posts: 179
Joined: Tue Apr 12, 2005 1:49 am

Postby Kha0S » Tue Jan 31, 2006 5:36 am

What entry points are you guys using?
Kha0S
 
Posts: 106
Joined: Tue Jan 11, 2005 12:30 pm
Location: MY02 USDM WRX / Nashua, NH

Postby cboles » Tue Jan 31, 2006 11:27 am

for which ROM? if you read up on the CPU datasheets, you fill see the format of the interrupt vector table described. the vector table holds the addresses, or values for SP, and other things. for example, if i look at a 2002 WRX ROM, like A4SGD10C, i see the following entry points:

0x220
0x8F6
0x240
0x252
0x264
....

Colby
cboles
Site Admin
 
Posts: 1233
Joined: Wed Dec 29, 2004 5:45 pm
Location: Seattle, WA

Next

Return to Development Tools

Who is online

Users browsing this forum: No registered users and 1 guest