ASF FAT Driver broken?

Go To Last Post
5 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm trying to add the FAT file system to my AVR32 project but I'm getting this error:

'ID_STREAM_ERR' undeclared here (not in a function)
implicit declaration of function 'stream_state'
implicit declaration of function 'stream_stop'
implicit declaration of function 'stream_mem_to_mem'

All of these missing functions and defines appear to be in the ctrl_access.h file, but I tried adding #include "ctrl_access.h" and it didn't solve anything. :(

There's an include in navigation.c that says #include LIB_CTRLACCESS but it doesn't link to anything.

Any thoughts?

Using ASF 2.5.1

Edit: Well...I got around it by just manually including the required defines and functions in the navigation.c file. I guess I'm doing something stupid in the linker or something. Oh well, I suppose this works.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I was having the same problem which made no sense until I started tracking down where things were defined. I went into the conf_access.h file and set:

#define ACCESS_STREAM true
#define ACCESS_MEM_TO_MEM true

That seems to be what was required as it now compiles. There are some other things in the file to play with as well; e.g., SD_MMC_SPI_ENABLE, etc. that may need to be set as well. I haven't tested yet but at least it compiles and links.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have already told Atmel about the problem, I think it gets fixed in the next ASF release.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, turns out it didn't, after over a year.


I'm a newbie and it's hard enough for me to wrap my head around this. And yet I've already spent two days figuring out not the ways to sort out my mistakes or learning to use these things but fixing bugs in ASF which is broken out of the box. Not a happy camper.

But of course, thank you for the useful hint. I almost forgot to in all this ranting ;) Saved me a lot of time.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

... and 7 months later, still not fixed. I agree with that rant, Zbig_T. There are a lot of poorly/un documented things in here and some things just plain don't work.

I saw that changing ACCESS_STREAM to true would remove the compilation error, but it makes me nervous to change the default. I understand if sometimes certain configs don't build just due to all the combinations not getting tested. But how does the default config out of the box not a valid combo? Baffling.

Anyway, is setting ACCESS_STREAM and ACCESS_MEM_TO_MEM an okay thing? Did you guys find it to still function correctly?

Thanks,
DaveO