Install script for realtime software
This commit is contained in:
parent
5b1d341ea9
commit
9cfb580cba
50
rt/Makefile
50
rt/Makefile
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
#!/bin/sh
|
||||
module="msr_modul"
|
||||
module="msr_rt"
|
||||
device="msr"
|
||||
mode="664"
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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`
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
Loading…
Reference in New Issue