EmbDev.net

Forum: ARM programming with GCC/GNU tools Winarm & Crossworks


von Amit C. (aseem)


Rate this post
useful
not useful
Hi ,
    Using winarm I tested my touchscreen driver.In touchscreen interface
I used a onchip adc (AD0 and AD1). Its working well.
    But when I port this code on crossworks Its not working properly.
Adc readings are varing automatically. when I touch to touchscreen it
gives some wrong reading and when i realease my touch it also gives some
readings.

please tell me if is ther any changes required in prototype definition
or any in crossworks.

or what may be the issue when same files are working well in winarm and
not working in crossworks.

Its really serious problem for me.

thanks in advance

von Martin T. (mthomas) (Moderator)


Rate this post
useful
not useful
Amit Chatre wrote:
> Hi ,
>     Using winarm I tested my touchscreen driver.In touchscreen interface
> I used a onchip adc (AD0 and AD1). Its working well.
>     But when I port this code on crossworks Its not working properly.
> Adc readings are varing automatically. when I touch to touchscreen it
> gives some wrong reading and when i realease my touch it also gives some
> readings.
First check the versions of the GNU-tools used by Crossworks. Maybe it's
just an optimization-issue which did not show up with older tools (as
maybe in WinARM). Check for missing volatiles and correct handling of
IRQs (setup, handlers). Check that the compiler-options passed by the
Crossworks-IDE to the GNU-tools (arm-*-gcc...) are the same as with your
standalone-build. Check if the generated linker-script from Crossworks
leads to the same memory-layout as the one from the standalone-build
(map-file).

> please tell me if is ther any changes required in prototype definition
> or any in crossworks.
Sorry, I do not understand this questions but may not be able to help
anyway since I do not have Crossworks. Since Crossworks is a commercial
product: did you ask Rowley's support?

> or what may be the issue when same files are working well in winarm and
> not working in crossworks.
If nothing helps look into the disassemblies (generate with objdump)
from both builds and check for differences.

von Amit C. (aseem)


Rate this post
useful
not useful
Martin Thomas wrote:
> Amit Chatre wrote:
>> Hi ,
>>     Using winarm I tested my touchscreen driver.In touchscreen interface
>> I used a onchip adc (AD0 and AD1). Its working well.
>>     But when I port this code on crossworks Its not working properly.
>> Adc readings are varing automatically. when I touch to touchscreen it
>> gives some wrong reading and when i realease my touch it also gives some
>> readings.
> First check the versions of the GNU-tools used by Crossworks. Maybe it's

GNU-tool version is 3.4.4 & I used adc in polling mode only.
Even I have not added any compiler option it just work on default
settings.

> just an optimization-issue which did not show up with older tools (as
> maybe in WinARM). Check for missing volatiles and correct handling of
> IRQs (setup, handlers). Check that the compiler-options passed by the
> Crossworks-IDE to the GNU-tools (arm-*-gcc...) are the same as with your
> standalone-build. Check if the generated linker-script from Crossworks
> leads to the same memory-layout as the one from the standalone-build
> (map-file).

>
>> please tell me if is ther any changes required in prototype definition
>> or any in crossworks.
> Sorry, I do not understand this questions but may not be able to help
> anyway since I do not have Crossworks. Since Crossworks is a commercial
> product: did you ask Rowley's support?
>
?

>> or what may be the issue when same files are working well in winarm and
>> not working in crossworks.
> If nothing helps look into the disassemblies (generate with objdump)
Is winarm generates the disassembly code?if yes please tell me the way,
how to generate disassemblies?
> from both builds and check for differences.

von Martin T. (mthomas) (Moderator)


Rate this post
useful
not useful
>...
> Is winarm generates the disassembly code?if yes please tell me the way,
> how to generate disassemblies?
>...
As already mentioned: use objdump
(arm-elf-objdump/arm-none-eabi-objdump).  I don't know the needed
settings for the Crossworks-IDE. If you are using a makefile based on
one of my WinARM templates the disassembly is generated as file with
extension .lss (as with the WinAVR sample-makefiles).

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.