Install script for realtime software

This commit is contained in:
Florian Pose 2006-04-11 09:08:10 +00:00
parent 5b1d341ea9
commit 9cfb580cba
6 changed files with 99 additions and 45 deletions

View File

@ -12,22 +12,28 @@ ifneq ($(KERNELRELEASE),)
# Kbuild-Abschnitt
#------------------------------------------------------------------------------
obj-m := msr_modul.o
ifneq ($(wildcard $(src)/rt.conf),)
include $(src)/rt.conf
else
MODULENAME := rt
endif
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
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

49
rt/install.sh Executable file
View File

@ -0,0 +1,49 @@
#!/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
#------------------------------------------------------------------------------

View File

@ -1,5 +1,5 @@
#!/bin/sh
module="msr_modul"
module="msr_rt"
device="msr"
mode="664"

View File

@ -1,6 +1,6 @@
/******************************************************************************
*
* msr_module.c
* m s r _ r t . c
*
* Kernelmodul f<EFBFBD>ür 2.6 Kernel zur Me<EFBFBD>ßdatenerfassung, 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();
}

View File

@ -1,16 +1,9 @@
#!/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

View File

@ -1,13 +1,18 @@
#------------------------------------------------------------------------------
#
# 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`
#------------------------------------------------------------------------------