Hardware Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
 
 
User Name:
Password:
Remember me
Go Back   Dev Hardware ForumsHARDWAREHardware Development

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Display Modes
 
Unread Dev Hardware Forums Sponsor:
  Trader Rating: 0 · #1  
Old May 14th, 2004, 03:21 AM
Ex-RoNiN Ex-RoNiN is offline
n00b DevH'er
Dev Hardware Newbie (0 - 499 posts)
 
Join Date: May 2004
Posts: 1 Ex-RoNiN User rank is Private First Class (20 - 50 Reputation Level)Ex-RoNiN User rank is Private First Class (20 - 50 Reputation Level) 
Time spent in forums: < 1 sec
Reputation Power: 0
Unhappy CompactFlash driver

Hey guys,

I am currently trying to develop a C-driver for a CompactFlash device. I am driving the CF device in Memory mapped mode, 16bit transfer enabled. However, I am observing some very strange behaviour, which is not caused by a malfunctioning card (I checked with a card reader, the card is fine).

The problems I have observed are as follows:

- Writing to Sector Count register, followed by a write to the Sector Number register, will end up overwriting the value in the Sector Count register with a completely random value. If I change the order of the writes, then Sector Number will get overwritten, again with a very random value. The same occurs for the Cylinder Low and Cylinder High registers.

- Writing ANY value (with DRV=0) into the Drive/Head register, irregardless of whether LBA is set or not, will cause the Error bit in the Status register to become set!

- Writing a command into the command register will overwrite whatever value I have in the Drive/Head register: typically HS0 - HS3 get set, LBA, D5 and D7 get all cleared.

Because of the above "phenomena", I find it impossible to write or read sectors from the card. I was hoping that you could point me towards some area where the problem could lie, such as wrong start-up routine (I Reset the card, disable interrupts in the Device Control Register, set the card as drive 0) or possible signalling problems (although the signals that I observed via a signal analyser seemed to be just fine?)

I really have no idea why the card would behave as randomly as this, and I would appreciate any help you could provide me with.

Thanks a lot in advance.
Comments on this post
drumz0rz agrees!

Reply With Quote
  Trader Rating: 0 · #2  
Old November 28th, 2005, 12:54 AM
eaby_ind eaby_ind is offline
n00b DevH'er
Dev Hardware Newbie (0 - 499 posts)
 
Join Date: Nov 2005
Posts: 1 eaby_ind User rank is Private First Class (20 - 50 Reputation Level)eaby_ind User rank is Private First Class (20 - 50 Reputation Level) 
Time spent in forums: 6 m 48 sec
Reputation Power: 0
Info needed

I also need some information about this driver... if anybody have any info about this please help me

Thanks in advance
Eaby

Quote:
Originally Posted by Ex-RoNiN
Hey guys,

I am currently trying to develop a C-driver for a CompactFlash device. I am driving the CF device in Memory mapped mode, 16bit transfer enabled. However, I am observing some very strange behaviour, which is not caused by a malfunctioning card (I checked with a card reader, the card is fine).

The problems I have observed are as follows:

- Writing to Sector Count register, followed by a write to the Sector Number register, will end up overwriting the value in the Sector Count register with a completely random value. If I change the order of the writes, then Sector Number will get overwritten, again with a very random value. The same occurs for the Cylinder Low and Cylinder High registers.

- Writing ANY value (with DRV=0) into the Drive/Head register, irregardless of whether LBA is set or not, will cause the Error bit in the Status register to become set!

- Writing a command into the command register will overwrite whatever value I have in the Drive/Head register: typically HS0 - HS3 get set, LBA, D5 and D7 get all cleared.

Because of the above "phenomena", I find it impossible to write or read sectors from the card. I was hoping that you could point me towards some area where the problem could lie, such as wrong start-up routine (I Reset the card, disable interrupts in the Device Control Register, set the card as drive 0) or possible signalling problems (although the signals that I observed via a signal analyser seemed to be just fine?)

I really have no idea why the card would behave as randomly as this, and I would appreciate any help you could provide me with.

Thanks a lot in advance.
Comments on this post
drumz0rz agrees!

Reply With Quote
Reply

Viewing: Dev Hardware ForumsHARDWAREHardware Development > CompactFlash driver


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump


Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 





© 2003-2008 by Developer Shed. All rights reserved. DS Cluster 5 hosted by Hostway