Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - coflynn

Pages: [1]
1
µTasker general / Changing maximum clock delay
« on: February 04, 2009, 04:26:10 PM »
Hello,

I wanted to change the maximum clock delay allowed when calling uTaskerGlobalMonoTimer() to a 32-bit time. Right now in types.h I see:

typedef unsigned short  CLOCK_LIMIT;

Can I just change that to unsigned long? Is there other types I have to change too?

Thanks,

  -Colin

2
ATMELTM AT91SAM7X and AVR32 / Re: Makefile syntax
« on: January 15, 2009, 12:14:50 AM »
Hi Mark,

Yes - it would allow you to do that! I might try to clean one up and send it to you... probably sometime in the next few days...

There's a little "magic" to Makefiles it takes time to figure out ;-)

Regards,

  -Colin

3
ATMELTM AT91SAM7X and AVR32 / Makefile syntax
« on: January 14, 2009, 11:39:45 PM »
Hi,

I was curious why the uTasker makefiles seem a little 'crazy'? aka they use hard links everywhere, rather than having one 'SRC =' section where all the source files are used?

And for instance lines like this:

Code: [Select]
Build\startup_gnu.o: ..\..\..\Hardware\SAM7X\startup_gnu.s uTaskerV1.3_FLASH.ld
$(GCC) $(C_FLAGS)  -D _GNU -D _HW_SAM7X -g -c -Os ..\..\..\Hardware\SAM7X\startup_gnu.s -o Build\startup_gnu.o

Can be replaced by using the $< and $@ to get the first and second argument, so you don't have to change things in two places:

Code: [Select]
Build\startup_gnu.o: ..\..\..\Hardware\SAM7X\startup_gnu.s uTaskerV1.3_FLASH.ld
$(GCC) $(C_FLAGS)  -D _GNU -D _HW_SAM7X -g -c -Os $< -o $@

Just seems a little unusual compared to how most make files I see!

Regards,

  -Colin

4
ATMELTM AT91SAM7X and AVR32 / Re: Problems compiling on GCC
« on: January 06, 2009, 04:22:43 AM »
Hi,

Quote
- The ROWLEY typo is probably quite old but did not seem to cause any problems(?)

Gave me a hard error on my YAGARTO GCC (4.3.2)... not sure why it wasn't caught before!

Quote
I have corrected this in my reference version:

Alright great! Yes I wasn't sure the best way to fix it - I just made the compiler happy ;-)

Regards,

  -Colin

5
Also - a note about using the SAM-ICE device from Atmel if you have one.

It's true that to support 'flash programming' you need to buy a license from Segger for a lot of $$. However what I just do is this, which if you already have a SAM-ICE might be useful:

I have the "GDB-Server" program and "SAM-PROG v2.4" running at the same time. A debug cycle is:

* Recompile binary

* On SAM-PROG have binary file selected using 'browse'. You only have to do this the first time you open the program
* On SAM-PROG have 'Auto' checkbox
* Hit 'Yes' button, and wait until it finishes

* Start debugging in Eclipse, which will connect you to the GDB-Server
* Find bug - recompile.
* Hit 'stop' to disconnect from GDB-Server

* Hit 'yes' buttong on SAM-PROG
* etc...

I haven't had any problems with both programs running at the same time. You get into trouble if you try to access the JTAG with two programs at once - aka while in the middle of programming accidentally hit anything in the debugger that causes it to send a command to GDB-Server.

If you have a SAM-ICE hope this helps!

  -Colin

6
ATMELTM AT91SAM7X and AVR32 / Problems compiling on GCC
« on: January 06, 2009, 03:45:05 AM »
Hello,

I was compiling uTasker on GCC using YAGARTO, and came across a few problems/bugs:

#1:

SAM7X.C, line 255:

Currently reads:
Code: [Select]
    #if defined _GNU || define ROWLEY
Should be:
Code: [Select]
    #if defined _GNU || defined ROWLEY

#2:

..\..\..\Hardware\SAM7X\SAM7X.c:850: error: invalid storage class for functio
fnPhyInterrupt'

This is due to a change in recent versions of GCC I think... the function decleration needs to be moved outside the function, as so:

Code: [Select]
#ifdef SUPPORT_PORT_INTERRUPTS
    #if defined INTERRUPT_TASK_PHY
    static void fnPhyInterrupt(void);
#endif
#endif

// Ethernet configuration routine
//
extern void fnConfigEthernet(ETHTABLE *pars)
{
#ifdef SUPPORT_PORT_INTERRUPTS
    #if defined INTERRUPT_TASK_PHY
    INTERRUPT_SETUP interrupt_setup;                                     // interrupt configuration parameters
    #endif
#else
    __interrupt void PortB_Interrupt(void);                              // phy interrupt
#endif

Described at http://lists.apple.com/archives/unix-porting/2005/Jul/msg00038.html

Regards,

  -Colin

Pages: [1]