Skip to content
Snippets Groups Projects
Commit efd188ca authored by Florian Pose's avatar Florian Pose
Browse files

Install script for realtime software

parent 84c91b5b
No related branches found
No related tags found
No related merge requests found
......@@ -12,22 +12,28 @@ ifneq ($(KERNELRELEASE),)
# Kbuild-Abschnitt
#------------------------------------------------------------------------------
obj-m := msr_modul.o
msr_modul-objs := msr_module.o \
rt_lib/msr-core/msr_lists.o \
rt_lib/msr-core/msr_main.o \
rt_lib/msr-core/msr_charbuf.o \
rt_lib/msr-core/msr_reg.o \
rt_lib/msr-core/msr_interpreter.o \
rt_lib/msr-core/msr_messages.o \
rt_lib/msr-core/msr_proc.o \
rt_lib/msr-core/msr_error_reg.o \
rt_lib/msr-utils/msr_utils.o \
rt_lib/msr-utils/msr_time.o \
rt_lib/msr-math/msr_base64.o \
rt_lib/msr-math/msr_hex_bin.o \
libm.o
ifneq ($(wildcard $(src)/rt.conf),)
include $(src)/rt.conf
else
MODULENAME := rt
endif
obj-m := $(MODULENAME).o
$(MODULENAME)-objs := msr_rt.o \
rt_lib/msr-core/msr_lists.o \
rt_lib/msr-core/msr_main.o \
rt_lib/msr-core/msr_charbuf.o \
rt_lib/msr-core/msr_reg.o \
rt_lib/msr-core/msr_interpreter.o \
rt_lib/msr-core/msr_messages.o \
rt_lib/msr-core/msr_proc.o \
rt_lib/msr-core/msr_error_reg.o \
rt_lib/msr-utils/msr_utils.o \
rt_lib/msr-utils/msr_time.o \
rt_lib/msr-math/msr_base64.o \
rt_lib/msr-math/msr_hex_bin.o \
libm.o
EXTRA_CFLAGS := -I$(src)/rt_lib/msr-include -D_SIMULATION \
-I/usr/include -mhard-float \
......@@ -41,18 +47,24 @@ else
# Default-Abschnitt
#------------------------------------------------------------------------------
ifneq ($(wildcard ethercat.conf),)
include ethercat.conf
ifneq ($(wildcard rt.conf),)
include rt.conf
else
KERNELDIR = /usr/src/linux
MODULENAME := msr_rt
KERNEL := $(shell uname -r)
endif
KERNELDIR := /lib/modules/$(KERNEL)/build
modules:
$(MAKE) -C $(KERNELDIR) M=`pwd` modules
$(MAKE) -C $(KERNELDIR) M=`pwd`
clean:
$(MAKE) -C $(KERNELDIR) M=`pwd` clean
install:
@./install.sh $(MODULENAME) $(KERNEL)
#------------------------------------------------------------------------------
endif
#!/bin/sh
#------------------------------------------------------------------------------
#
# Realtime module install script
#
# $Id: install.sh 5 2006-04-07 13:49:10Z fp $
#
#------------------------------------------------------------------------------
# Fetch parameters
if [ $# -ne 2 ]; then
echo "Usage: $0 <MODULENAME> <KERNEL>"
exit 1
fi
MODULENAME=$1
KERNEL=$2
MODULESDIR=/lib/modules/$KERNEL/kernel/drivers/rt
echo "Realtime installer"
echo " target: $MODULENAME"
echo " kernel: $KERNEL"
# Create target directory
if [ ! -d $MODULESDIR ]; then
echo " creating $MODULESDIR..."
mkdir $MODULESDIR || exit 1
fi
# Install files
echo " installing $MODULENAME..."
if ! cp $MODULENAME.ko $MODULESDIR/$MODULENAME.ko; then exit 1; fi
# Calculate dependencies
echo " building module dependencies..."
depmod
# Finish
echo "done."
exit 0
#------------------------------------------------------------------------------
#!/bin/sh
module="msr_modul"
module="msr_rt"
device="msr"
mode="664"
......
/******************************************************************************
*
* msr_module.c
* m s r _ r t . c
*
* Kernelmodul fr 2.6 Kernel zur Medatenerfassung, Steuerung und Regelung.
*
......@@ -143,7 +143,7 @@ int __init init_rt_module(void)
// Als allererstes die RT-Lib initialisieren
if (msr_rtlib_init(1, MSR_ABTASTFREQUENZ, 10, &msr_globals_register) < 0) {
msr_print_warn("msr_modul: can't initialize rtlib!");
printk(KERN_ERR "Failed to initialize rtlib!\n");
goto out_return;
}
......@@ -233,20 +233,15 @@ int __init init_rt_module(void)
void __exit cleanup_rt_module(void)
{
msr_print_info("msk_modul: unloading...");
printk(KERN_INFO "Cleanign up rt module...\n");
ipipe_tune_timer(1000000000UL / HZ, 0); //alten Timertakt wieder herstellen
ipipe_tune_timer(1000000000UL / HZ, 0); // Alten Timertakt wiederherstellen
ipipe_unregister_domain(&this_domain);
if (master) {
printk(KERN_INFO "=== Stopping EtherCAT environment... ===\n");
printk(KERN_INFO "Deactivating master...\n");
ecrt_master_deactivate(master);
ecrt_release_master(master);
printk(KERN_INFO "=== EtherCAT environment stopped. ===\n");
}
printk(KERN_INFO "=== Stopping EtherCAT environment... ===\n");
ecrt_master_deactivate(master);
ecrt_release_master(master);
printk(KERN_INFO "=== EtherCAT environment stopped. ===\n");
msr_rtlib_cleanup();
}
......
#!/bin/sh
module="msr_modul"
module="msr_rt"
device="msr"
# invoke rmmod with all arguments we got
/sbin/rmmod $module $* || exit 1
# Remove stale nodes
rm -f /dev/${device} /dev/${device}0
rm -f /dev/${device} /dev/${device}0
#------------------------------------------------------------------------------
#
# EtherCAT Konfigurationsdatei Kernel 2.6
# Configuration file for msr realtime modules
#
# $Id$
#
# This file is a versioned template configuration. Copy it to "ethercat.conf"
# This file is a versioned template configuration. Copy it to "rt.conf"
# (which is ignored by Subversion) and adjust it to your needs.
#
#------------------------------------------------------------------------------
KERNELDIR = /usr/src/linux
# Module name (without extension)
MODULENAME := ec_rt_sample
# The kernel to compile the EtherCAT sources against
KERNEL := `uname -r`
#------------------------------------------------------------------------------
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment