Does anyone have the powerpc assembly code sequence to do a byte write to an I2C register?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Does anyone have the powerpc assembly code sequence to do a byte write to an I2C register?

1,437 Views
thornekontos
Contributor II

I've now tried various code sequences and none of them seem to be correct.

A write sequence and a read sequence would be great

This is my first go-around with powerpc assembly, my prior experience is with SPARC/AMD/ARM...and I've found some of the powerpc

coding manuals lacking when it comes to real world examples.

Thanks,

Thorne

5 Replies

1,139 Views
alexander_yakov
NXP Employee
NXP Employee

The question is because there is no Power Architecture examples available in assembly code.

At least, I dont remember anything available in assembly except ISR prologue/epilogue in interrupt handlers, and initial board initialization codes.

All other our software software examples are written in highlevel language (C language)

I do not think it will be difficult to rewrite it in assembly, if you wish, but you will have to do that by yourself.

If this way is acceptable, than please open a service request and ask for I2C example. It will be written in C and for bare board.

If you wish to continue requesting the I2C example in assembly language, than - sorry, we do not offer I2C example in assembly language for our QorIQ processors.

0 Kudos
Reply

1,139 Views
thornekontos
Contributor II

Thank you, I'll need to get a gcc cross compiler that can dump c code into powerpc assembly. The gcc version I have at work will only do Intel/AMD assembly dumps. The handcrafted assembly code I wrote is not putting the data I am trying to write into the I2C registers. (The primary difference being that the I2C registers require byte operations and the code I have to work from only does word read/writes...) I've been looking on the Internet for driver/board initialization assembly dumps with very little success.

0 Kudos
Reply

1,139 Views
alexander_yakov
NXP Employee
NXP Employee

gcc is distributed as a part of our Linux BSP, which is available for free:

Linux Software and Development Tools|Freescale

CodeWarrior trial 30-days version is also available:

Evaluation Software|Freescale

0 Kudos
Reply

1,139 Views
scottwood
NXP Employee
NXP Employee

Why do you want to do this from assembly code?  If you want an example of code to access I2C, you can look at the Linux driver, but it's written in C.

If you just want general examples of PowerPC assembly code, you could look at the assembly code that is present in Linux and U-Boot (e.g. initialization/exception code), or you could look at the output of the compiler, etc.

1,139 Views
thornekontos
Contributor II

Why do people feel the need to answer questions with questions? All I am asking for is an assembly code sequence to do a minimal amount of testing.

Your response presumes that I actually have the proper tools (compiler) to do this, and a powerpc linux based based system to run it on.

If I had these things, I wouldn't have asked the question in the first place.

Why not point me to an assembly dump online and then I could say that my question was answered? Now I'll go grab some coffee to feel a bit more human this morning.

0 Kudos
Reply