#include <inttypes.h>
#include <unistd.h>
#include <alloca.h>
+#include <stdlib.h>
#include "mf624_SIMULINK.h"
/****************************************************************/
-#include "simstruc.h"
-
/* Which uio device node to use */
#define UIO "uio0"
mf624_state_t* mfst=NULL;
-int bar_mapping_fill(bar_mapping_t *barmap, const char *uio_dev, int map_nr)
+static int bar_mapping_fill(bar_mapping_t *barmap, const char *uio_dev, int map_nr)
{
FILE *file;
void *s;
return 0;
}
-int bar_mapping_setup(bar_mapping_t *barmap, int device_fd)
+static int bar_mapping_setup(bar_mapping_t *barmap, int device_fd)
{
static size_t page_mask = 0;
off_t mmap_start;
mf624_state_t mf624_state;
/* Print one byte as binary number */
-void print_8bin(int nr)
+static void print_8bin(int nr)
{
int i;
for (i = 7; i >= 0; i--) {
}
-int open_device(char* path) {
+static int open_device(char* path) {
int device_fd;
device_fd = open(path, O_RDWR | O_SYNC);
return device_fd;
}
-void wait_for_interrupts(int device_fd)
+static void wait_for_interrupts(int device_fd)
{
read(device_fd, NULL, 1);
}
-int disable_interrupts(int device_fd)
+static int disable_interrupts(int device_fd)
{
uint32_t control_value = 0;
int status;
return status;
}
-int enable_interrupts(int device_fd)
+static int enable_interrupts(int device_fd)
{
uint32_t control_value = 1;
int status;
return status;
}
-void list_available_mem_regions(char* device)
+static void list_available_mem_regions(char* device)
{
int status;
char path[] = "/sys/class/uio/";
}
-void list_available_io_ports(char *device)
+static void list_available_io_ports(char *device)
{
int status;
char path[] = "/sys/class/uio/";
}
-void run_simple_tests(char* dev_name)
+static void run_simple_tests(char* dev_name)
{
int status;
int device_fd;
list_available_io_ports(dev_name);
}
-int mmap_regions(mf624_state_t* mfst)
+static int mmap_regions(mf624_state_t* mfst)
{
if (bar_mapping_fill(&mfst->bar0, mfst->uio_dev, 0) < 0) {
fprintf(stderr, "%s bar0 mapping fill failed\n", mfst->uio_dev);
#include <stdint.h> // uintX_t
#include <inttypes.h>
+#include "simstruc.h"
/* Hardware specific */
/* BAR0 */
[AD7] = ADDATA7_reg,
};
-extern void print_8bin(int nr);
-
static inline int16_t mf624_read16(void *ptr)
{
return *(volatile uint16_t*)ptr;
extern double ADC_read(mf624_state_t* mfst, adc_channel_t channel);
-extern int open_device(char* path);
-
-extern void wait_for_interrupts(int device_fd);
-
-extern int disable_interrupts(int device_fd);
-
-extern int enable_interrupts(int device_fd);
-
-extern void list_available_mem_regions(char* device);
-
-extern void list_available_io_ports(char *device);
-
-extern int mmap_regions(mf624_state_t* mfst);
+int mf624_init(SimStruct *S);
#endif