Windows v0_1_7 Now Available
jazzed
Posts: 11,803
Please see: http://code.google.com/p/propgcc/downloads/list
Windows PropGCC Distribution File - v0_1_7 (test only)
Dave Hein's c3files work is demonstrated here in LMM mode.
The propeller.h header is now included in the package. Contents are:
c:\propgcc>
Windows PropGCC Distribution File - v0_1_7 (test only)
- This package is 43MB and contains fixes for the "grep and .dll" problem.
- The propeller-load program now prints a banner for the terminal program like:[ Entering terminal mode. Type ESC or Control-C to exit. ]
- This includes updates to loader and board types.
- This includes c3files filetest for SD card.
- This includes propeller.h which has common propeller functions.
Dave Hein's c3files work is demonstrated here in LMM mode.
C:\>cd propgcc C:\propgcc>echo %PATH% c:\propgcc\usr\local\propeller\bin;c:\propgcc\bin;C:\windows\SysWOW64;C:\Program Files (x86)\Vim\vim 73;C:\bstc;C:\Program Files (x86)\Java\jre6\bin;C:\qt\2010.05\bin;C:\qt\2010.05\mingw\bin;c:\WinAVR- 20100110\utils\bin;c:\WinAVR-20100110\bin;C:\Microchip Starter Kits\PIC32 Starter Kits\MPLAB C32 Sui te\bin;C:\Microchip Starter Kits\PIC32 Starter Kits\MPLAB IDE\VDI;C:\Program Files\Mercurial C:\propgcc>cd demos C:\propgcc\demos>cd c3files C:\propgcc\demos\c3files>cd lmm C:\propgcc\demos\c3files\lmm>make filetest.o dfs.o dosfs.o c3_cache.o printf.o c3files.elf C:\propgcc\demos\c3files\lmm>mode Status for device COM21: ------------------------ Baud: 115200 Parity: None Data Bits: 8 Stop Bits: 1 Timeout: OFF XON/XOFF: OFF CTS handshaking: OFF DSR handshaking: OFF DSR sensitivity: OFF DTR circuit: ON RTS circuit: OFF Status for device CON: ---------------------- Lines: 9999 Columns: 100 Keyboard rate: 31 Keyboard delay: 1 Code page: 437 C:\propgcc\demos\c3files\lmm>propeller-load -r -t c3files.elf -p com21 Propeller Version 1 on com21 Writing 27816 bytes to Propeller RAM. Verifying ... Upload OK! [ Entering terminal mode. Type ESC or Control-C to exit. ] Available commands are help, cat, rm, ls and echo > ls HELLO > cat HELLO echo "Hello World" > echo "Hi there!" "Hi there!" > C:\propgcc\demos\c3files\lmm>
The propeller.h header is now included in the package. Contents are:
c:\propgcc>more usr\local\propeller\propeller-elf\include\propeller.h /** * @file propeller.h * This is part of the propeller library. ... this is a work in progress. * * Copyright (c) 2011 by Parallax, Inc. * MIT Licensed */ #ifndef _PROPELLER_H_ #define _PROPELLER_H_ #ifdef __cplusplus extern "C" { #endif #include "cog.h" #include <stdint.h> /* some defines for special purpose COG registers */ #define PAR _PAR #define CNT _CNT #define INA _INA #define INB _INB #define OUTA _OUTA #define OUTB _OUTB #define DIRA _DIRA #define DIRB _DIRB #define CTRA _CTRA #define CTRB _CTRB #define FRQA _FRQA #define FRQB _FRQB #define PHSA _PHSA #define PHSB _PHSB #define VCFG _VCFG #define VSCL _VSCL /* clock frequency define */ #define CLKFREQ _CLKFREQ /* set CLKMODE */ #define CLKMODE(mode) (*((unsigned char*) 4) = (mode)) /** * start a cog with a parameter * the fields in parameter are: * 31:18 = 14-bit Long address for PAR Register * 17:4 = 14-bit Long address of code to load * 3 = New bit * 2:0 = Cog ID if New bit is 0 * @param a - parameter value */ #define coginit(id, code, param) __builtin_propeller_coginit( \ (((uint32_t)(param) << 16) & 0xfffc0000) \ |(((uint32_t)(code) << 2) & 0x0003fff0) \ |(((id) ) & 0x0000000f) ) /** * start a new propeller cog * @param code - address of PASM to load * @param par - value of par parameter usually an address * @returns COG ID provided by the builtin function. */ #define cognew(code, param) coginit(0x8, (code), (param)) /** * stop a cog * @param a - cog value */ #define cogstop(a) __builtin_propeller_cogstop((a)) /** * get a new lock * @returns new lockid */ #define locknew() __builtin_propeller_locknew() /** * return lock to pool * @param lockid */ #define lockret(lockid) __builtin_propeller_lockret((lockid)) /** * set a lock * @param lockid * @returns true on success */ #define lockset(lockid) __builtin_propeller_lockset((lockid)) /** * clear lock * @param lockid */ #define lockclr(lockid) __builtin_propeller_lockclr((lockid)) /* * wait until system counter reaches a value * @param a - target value */ #define waitcnt(a) __builtin_propeller_waitcnt((a),_CNT) /* * wait until system counter reaches a value * @param a - target value * @param b - adjust value */ #define waitcnt2(a,b) __builtin_propeller_waitcnt((a),(b)) /** * wait until INA equal state & mask * @param state - target value * @param mask - ignore masked 0 bits in state */ #define waitpeq(state, mask) __builtin_propeller_waitpeq((state), (mask)) /** * wait until INA not equal state & mask * @param state - target value * @param mask - ignore masked 0 bits in state */ #define waitpne(state, mask) __builtin_propeller_waitpne((state), (mask)) /** * wait for video generator to accept pixel info * * @param colors - a long containing four byte-sized color values, each describing the four possible colors of the pixel patterns in Pixels. * @param pixels - the next 16-pixel by 2-bit (or 32-pixel by 1-bit) pixel pattern to display. */ #define waitvid(colors, pixels) __builtin_propeller_waitvid((colors), (pixels)) #ifdef __cplusplus } #endif #endif // _PROPELLER_H_
c:\propgcc>