From: sylvain.azarian on 20 Mar 2010 15:53 Good evening all. My design has a chip connected to a FX2LP ( 100 pins). The firmware, written and compiled with SDCC, works except access to the E port... I've tried several stuffs, like putting my "toggling code" into existing code and came to the conclusion that something is missing in my initialization code. In clear : I am not able to read or write to port E. An oscilloscope connected to any of the 8 pins doesn't show anyhting, pin stay "silent". The code below is what remains after removing everything not related to the issue... and doesn't work :-( If any of you has the "good eye" and can tell me what I've missed... that would help ;-) =============================================================== #define ALLOCATE_EXTERN #include "include/fx2regs.h" #define SYNCDELAY _asm \ nop; \ nop; \ nop; \ nop; \ nop; \ nop; \ nop; \ _endasm; static void Initialize(void) { CPUCS=0x12; // 48 MHz, CLKOUT output enabled. IFCONFIG=0xc0; SYNCDELAY; // Internal IFCLK, 48MHz; A,B as normal ports. CKCON &= ~7; EXIF &= ~16; REVCTL=0x03; SYNCDELAY; // See TRM... OEA = OEB = OED = 0xff; SYNCDELAY; IOA = IOB = IOD = 0xff; SYNCDELAY; OEA = OEB = OED = 0xff; SYNCDELAY; IOA = IOB = IOD = 0x00; SYNCDELAY; EP6CFG=0xe2; SYNCDELAY; // 1110 0010 (bulk IN, 512 bytes, double-buffered) FIFORESET=0x80; SYNCDELAY; // NAK all requests from host. FIFORESET=0x82; SYNCDELAY; // Reset individual EP (2,4,6,8) FIFORESET=0x84; SYNCDELAY; FIFORESET=0x86; SYNCDELAY; FIFORESET=0x88; SYNCDELAY; FIFORESET=0x00; SYNCDELAY; // Resume normal operation. } void main(void) { Initialize(); PORTACFG = 0 ; PORTCCFG = 0 ; PORTECFG = 0 ; // disable all alternate functions on port E SYNCDELAY; IOE = 0x00 ; // OEE = 0xff ; // all pins are outputs SYNCDELAY; while( 1 ) { SYNCDELAY; IOE = 0xff ; // all pins should be 1 SYNCDELAY IOE = 0x00 ; // all pins should be 0 } } ==== Can't see anything on port E... thanks --------------------------------------- Posted through http://www.EmbeddedRelated.com
|
Pages: 1 Prev: ARM *simulators* Next: Finally, selling my old Xilinx/Viewlogic software package |