Hi
I have olimex board sam7x, i have tested it with uTasker compiled with IAR, Marker sent to me bin file so it work very well.
I want use WinARM, i have made good code with it, USB CDC and USART, so i want use uTasker in my devices.
I want porting uTasker to compile with winarm, i have utasker makefile, but i had problem with libarm_enable_irq() and libarm_disable_irq() in sam7x.c file, functions from Rowley, i have used:
extern void __irq_en(void); // enable interrupt in assembler code
extern void __irq_dis(void); // disable interrupt in assembler code
This form:
void libarm_disable_irq()
{
__irq_dis();
}
void libarm_enable_irq()
{
__irq_en();
}
This modification don`t create compilation erros, but uTasker don`t work in board, i am trying debugger with openocd and insight GDB.
I had contacted winarm developer Martin Thomas, i ask him if winarm has lib that can fix this problem so he replied me:
"Please browse the examples that come with WinARM for files called
armVIC.h/.c (even if you find them in LPC2000 examples they can be used
for the AT91SAM7 too). The functions enableIRQ and disableIRQ offer the
needed functionality."
I use this files and functions inside, but i got another error in end of make compilation:
arm-elf-gcc -march=armv4t -mlittle-endian -mthumb -mthumb-interwork -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _HW_SAM7X -g -c -Os ..\winarm_irq\armVIC.c -o Build\armVIC.o
C:\DOCUME~1\Emerson\LOCALS~1\Temp/ccYbbaaa.s: Assembler messages:
C:\DOCUME~1\Emerson\LOCALS~1\Temp/ccYbbaaa.s:25: Error: selected processor does not support `mrs r1,cpsr'
C:\DOCUME~1\Emerson\LOCALS~1\Temp/ccYbbaaa.s:39: Error: selected processor does not support `msr cpsr,r3'
C:\DOCUME~1\Emerson\LOCALS~1\Temp/ccYbbaaa.s:62: Error: selected processor does not support `mrs r1,cpsr'
C:\DOCUME~1\Emerson\LOCALS~1\Temp/ccYbbaaa.s:76: Error: selected processor does not support `msr cpsr,r3'
C:\DOCUME~1\Emerson\LOCALS~1\Temp/ccYbbaaa.s:98: Error: selected processor does not support `mrs r0,cpsr'
C:\DOCUME~1\Emerson\LOCALS~1\Temp/ccYbbaaa.s:108: Error: selected processor does not support `msr cpsr,r3'
C:\DOCUME~1\Emerson\LOCALS~1\Temp/ccYbbaaa.s:130: Error: selected processor does not support `mrs r0,cpsr'
C:\DOCUME~1\Emerson\LOCALS~1\Temp/ccYbbaaa.s:141: Error: selected processor does not support `msr cpsr,r2'
C:\DOCUME~1\Emerson\LOCALS~1\Temp/ccYbbaaa.s:163: Error: selected processor does not support `mrs r0,cpsr'
C:\DOCUME~1\Emerson\LOCALS~1\Temp/ccYbbaaa.s:173: Error: selected processor does not support `msr cpsr,r3'
C:\DOCUME~1\Emerson\LOCALS~1\Temp/ccYbbaaa.s:195: Error: selected processor does not support `mrs r0,cpsr'
C:\DOCUME~1\Emerson\LOCALS~1\Temp/ccYbbaaa.s:206: Error: selected processor does not support `msr cpsr,r2'
make.exe: *** [Build\uTasker.o] Error 1[/color]
well, if somebody has experience in porting or how i can fix the problem, please tell me.
I have makefile to winarm and uTasker bin to IAR, i have to openocd.cfg file and how load insight and openocd by programmenotepad, i can send by email just request me.
Thanks
Emerson M A Alves
Brazil
emerson@saaepirapora.com.br