

	------------------------------------------------------------------------------------------------
	    Состав комплекта программного обеспечения для Linux (ядро 5.8.)
		модуля последовательных каналов PCI429-4-X
	------------------------------------------------------------------------------------------------

	driver 
		pci429-4.c - исходный файл драйвера, требует компиляции для 
			конкретной версии ОС
		pci429-4.h - содержит коды функций драйвера
		pci429-4macro.h - содержит библиотеку макросов
		Makefile - файл для компиляции драйвера
		tms.h - заголовочный файл
		pci429_4_LNXguide.doc - описание драйвера.

				
	test

		tpsPCI429-4.c  - тест модуля (исходный файл) 
		tpsPCI429_4guide.doc - описание теста модуля.

	lib 
		файлы библиотеки функций:
		lib_pci429_4_LNX.c ,  lib_pci429_4_LNX.h



	-----------------------------------------------------------
			Компиляция драйвера
	-----------------------------------------------------------

	Драйвер должен быть скомпилирован для конкретной версии ОС,
	для чего следует:

	1. определить текущую версию ядра
		
		uname -r
	  
	  например, это 	4.2.0-23-generic

	2. проверить, установлены ли  пакеты linux-headers-4.2.0-23-generic  и  build-essential; в случае необходимости 
установить их средствами операционной системы

    3. в папке, содержащей исходный файл драйвера (и Makefile) выполнить команду

	make -C /lib/modules/$(uname -r)/build M=$PWD modules




	-----------------------------------------------------------
		Установка/удаление драйвера в системе
	-----------------------------------------------------------
		
	Для установки драйвера следует задать команду (с правами root)
	
		 insmod  ./pci429-4.ko 

	В процессе выполнения команды создаются файлы устройств для всех модулей PCI429-4,
	установленных в системе, и выдается системное сообщение вида
	
	_____$ dmesg
	.....
	[ 8281.027416] pci429-4LNX:  initialization
	[ 8281.027420]            /dev/pci429_40  serial# 12345
	[ 8281.027455]            /dev/pci429_41  serial# 12346


	В случае, если модули отсутствуют, сообщение имеет вид

	_____$ dmesg
	.....
	[ 8550.502400] pci429-4LNX:  Sorry, devices were not found
	[ 8550.502400]   initialization failed
		
	Для удаления драйвера следует задать команду (с правами root)
	
		 rmmod  pci429-4.ko  
	
	В процессе выполнения команды удаляются все файлы устройств и выдается системное
	сообщение

	_____$ dmesg
	.....
	[ 9058.127294] pci429LNX:  cleanup



	-----------------------------------------------------------
		диагностические сообщения при работе с драйвером
	-----------------------------------------------------------

	при успешном открытии устройства
	
	open: pci429_40  serial# 12345


	при закрытии устройства
	
	release: pci429_40  serial# 12345


	-----------------------------------------------------------
		Компиляция библиотек на примере программы
		testDLLpci429-4.c (в комплект ПО не входит)
	-----------------------------------------------------------

	1. динамическая
	gcc -c -fPIC  lib_pci429_4_LNX.c
	gcc -shared -fPIC -o lib_pci429_4_LNX.so lib_pci429_4_LNX.o

	gcc testDLLpci429-4.c -o testDLLpci429-4 -L. -l_pci429_4_LNX -Wl,-rpath,/home/PCI429-4
	./testDLLpci429-4

	2, статическая

	gcc -c lib_pci429_4_LNX.c -o lib_pci429_4_LNX.o
	ar rcs lib_pci429_4_LNX.a lib_pci429_4_LNX.o

	gcc -static testDLLpci429-4.c -L. -l_pci429_4_LNX -o testDLLpci429-4
	./testDLLpci429-4


