-
How to open a file with the memory address instead the filename (path)
I can’t reach a solution to the next problem:
I have a C program that open a file with the function fopen
fp= fopen( ‘ filename ‘, ‘r’); In a computer “filename” could be
c://doc/text.txt.
However I am trying to run the same C program in a PC Board (FPGA) with a
PowerPC microproccesador, which is capable of run C programs, and the file
that I want to open is in a DDR memory and begins for example in the memory
address 0x10000000.
How could I fill the pointer fp FILE *fp
In order to the program works as in a computer.
thank you very much
-
Teh short answer is that you can't use FILE* to access a memory based buffer. Instead, use direct memory access: char * p = (char *) 0x10000000;
And then read the data from the pointer. In some platforms you can map a file to the system's RAM. In this case, you use FILE * etc., but you need to use a few explicit system calls that open the physical file and map its content to a memory address.
Danny Kalev
Similar Threads
-
By Kapil in forum VB Classic
Replies: 1
Last Post: 01-15-2003, 11:23 PM
-
By Sudeep in forum VB Classic
Replies: 0
Last Post: 12-07-2001, 03:48 AM
-
By JohnN in forum VB Classic
Replies: 12
Last Post: 05-08-2001, 04:25 PM
-
By Bill A in forum VB Classic
Replies: 3
Last Post: 08-04-2000, 06:07 AM
-
By rbx99 in forum VB Classic
Replies: 2
Last Post: 04-28-2000, 10:25 AM
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
Forum Rules
|
Top DevX Stories
Easy Web Services with SQL Server 2005 HTTP Endpoints
JavaOne 2005: Java Platform Roadmap Focuses on Ease of Development, Sun Focuses on the "Free" in F.O.S.S.
Wed Yourself to UML with the Power of Associations
Microsoft to Add AJAX Capabilities to ASP.NET
IBM's Cloudscape Versus MySQL
|
Bookmarks