Forum Discussion
Host File System not working
Hey,
I built a simple Qsys system with Nios inside it and I would like to write and read from file in host machine, so I wrote the following:
#include "stdio.h"
#include "alt_sys_init.c"
int main()
{
FILE* ptr = fopen("Test.txt","w");
fprintf(ptr,"Helloooooo");
fclose(ptr);
return 0;
}
when I run this in debug mode, ptr is NULL, I checked the Host altera_hostfs but still not working
Help Please
3 Replies
- Ahmed_H_Intel1
Frequent Contributor
Hi,
Please first, make sure you enable the altera_hostfs package by opening the BSP editor>>Software Packages tab>> Check the box in front of the altera_hostfs package.
Next is a sample code to read and write to a file at the host:
#include <stdio.h> #include <stdlib.h> #include <string.h> #define BUF_SIZE (50) int main(void) { FILE= fp_ascii = NULL; FILE = fp_bin = NULL; char buffer[BUF_SIZE]; int read_size=1; /* Reading ASCII File from the host*/ fp_ascii = fopen("file path", "r"); if (fp_ascii == NULL) { printf("Cannot open the file\n"); exit(1); } fgets(buffer, sizeof(buffer), fp_ascii); printf("%s", buffer); fclose(fp_ascii); /* WriteASCII File from the host*/ fp_ascii = fopen("file path", "w"); if (fp_ascii == NULL) { printf("Cannot open the file\n"); exit(1); } strcpy(buffer, "Hellow from NIOS II"); fputs(buffer, fp_ascii); fclose(fp_ascii); return 0; }Regards,
- AAlas3
Occasional Contributor
It is enabled, anyway I solved the problem: In code when you fopen a file you should write "/mnt/host" with the file path and the pointer will locate the project directory
By the way my name is Ahmad and it is pleasure sir to meet you
- Yogesh
Occasional Contributor
So suppose there is a read.txt file in project directory along side main.c code with path as below :
E:/folder1/project/read.txt
What should path of read.txt shd be in main.c file?
mnt/host/read.txt ???