13Z017-06 - MDIS5 driver (MEN) for 16Z034_GPIO, 16Z037_GPIO and 16Z127_GPIO
MDIS5 driver (MEN) for 16Z034_GPIO, 16Z037_GPIO and 16Z127_GPIO
Download 13z01706.zip -----[ Release-1.27 ]-----
[ 2017-05-03 17:00:40 by DPfeuffer ]
R:1. new tools Z127_IN, Z127_OUT
2. new driver variant z127v01
M:1. tools added
2. variant added
-----[ Release-1.26 ]-----
[ 2016-07-13 10:21:02 by ts ]
z17_drv.c
R: previous change with default ADDRSPACE_SIZE caused m_open to fail on an EM10A
M: reverted ADDRSPACE_SIZE back to 0x20 as for all GPIOs except Z127 variant 1.
-----[ Release-1.25 ]-----
[ 2014-11-28 15:23:57 by MRoth ]
R: some modifications of the tools z17_io and z127_io were lost during merge with an older revision
M: re-added modifications to avoid high CPU load with option -h
-----[ Release-1.24 ]-----
[ 2014-11-28 14:38:10 by MRoth ]
R: 1.) no driver internal toggle function for GPIOs
2.) Z127 variant always requested an IRQ even if it had none in Hardware
3.) no support for MSI(x) - no IRQ should happen during ISR
4.) GPIO reset at driver exit (m_close) not always wanted
5.) cosmetics
M: 1.a) added setstat codes and AlarmHandler for toggle function
b) changed toggle function in example tools
2.) introduced Z127_NOIRQ driver variant to inhibit IRQs.
3.) disable IRQs at the beginning and re-enable at the end of the ISR
4.) added RESET_OFF descriptor key
5.) driver package source code completely revised
-----[ Release-1.23 ]-----
[ 2011-11-16 15:26:14 by GLeonhardt ]
R: 1.) Interrupts for GPIO 4-7 did not work with Z34/Z37 core
A preprocessor string comparison did not work.
Driver always compiled as Z127 model with 32 bit registers.
M: 1.) Replace string comparison with driver switch from Makefile.
-----[ Release-1.22 ]-----
[ 2011-09-12 13:52:57 by GLeonhardt ]
R: Compiler error, if MWRITE_D32 macro is a compound statement
M: Embed macro in braces
-----[ Release-1.21 ]-----
[ 2011-07-27 15:25:13 by dpfeuffer ]
R: problems with internal IRQ latency test tool
M: driver and z127_irqlat revised
-----[ Release-1.20 ]-----
[ 2011-07-08 13:27:36 by dpfeuffer ]
R: internal test tools required for 16G215-01 design test
M: internal test tools modified/added
-----[ Release-1.19 ]-----
[ 2011-03-28 11:47:34 by dpfeuffer ]
R: g215_190029_et.c: shift is not 64-bit safe
M: U_INT32_OR_64 cast added
-----[ Release-1.18 ]-----
[ 2011-03-28 11:17:56 by dpfeuffer ]
R:1. new io variants
2. new tool
3. z17_io.c: error in usage information
M:1. io variants added
2. z127_io added
3. description fixed
-----[ Release-1.17 ]-----
[ 2009-09-02 10:31:59 by MRoth ]
13z01706.xml:
R: Porting to MDIS5
M: fixed description for MDIS5
-----[ Release-1.16 ]-----
[ 2009-08-06 11:16:01 by MRoth ]
R: reference files were delivered with driver package
M: a) added category noref to upfile to differentiate between reference and non-reference files
b) reference files were removed from driver package
-----[ Release-1.15 ]-----
[ 2009-08-03 17:30:57 by MRoth ]
R: cosmetics in HTML documentation
M: fixed files.html and rebuilded documentation
-----[ Release-1.14 ]-----
[ 2009-08-03 16:54:04 by MRoth ]
R: no support for 32 bit Z127_GPIO IP core
M: a) added driver variant z17_z127
b) added model 16Z127_GPIO
-----[ Release-1.13 ]-----
[ 2009-07-10 13:50:43 by CRuff ]
R: 1.Porting to MDIS5
2. Ensure backward compatibility to MDIS4 for Linux
M: 1. changes according to MDIS5 Porting Guide
2. added defines for data types INT32_OR_64 and MDIS_PATH
-----[ Release-1.12 ]-----
[ 2009-04-17 10:49:13 by MRoth ]
File /_CVS_/COM/DRIVERS/MDIS_LL/Z017/DRIVER/COM/z17_drv.c RCS 1.3 -> RCS 1.4
R: no 64 Bit support
M: changed set/getstat to support 64 Bit
File /_CVS_/COM/DRIVERS/MDIS_LL/Z017/EXAMPLE/Z17_SIMP/COM/z17_simp.c RCS 1.3 -> RCS 1.4
R: stack overflow at signalHandler call for Windows
M: Fixed calling convention for UOS_SigInit
File /_CVS_/COM/DRIVERS/MDIS_LL/Z017/TOOLS/Z17_IO/COM/z17_io.c RCS 1.2 -> RCS 1.3
included <stdlib.h> to remove warning about implicitely defined func. atoi()
File /_CVS_/COM/PACKAGE_DESC/13z01706.xml RCS 1.12 -> RCS 1.13
R: 1. device was not found in WIN environments (name did not match)
2. XML knows CHAM V2 dev ID as well now
3. missing new 16Z037 model
M: 1. add mandatory 16 as begin of HWNAME (match with chameleon.h string)
2. add chamv2id as autoid
3. added new model 16Z037
-----[ Release-1.11 ]-----
[ 2008-02-28 17:20:31 by aw ]
Checkin to update references
-----[ Release-1.10 ]-----
[ 2007-10-23 17:41:12 by GLeonhardt ]
z17_ec0400_1.dsc
Added
z17_em09_ec06.dsc
Added
-----[ Release-1.9 ]-----
[ 2007-08-21 14:43:30 by aw ]
Checkin to update references
-----[ Release-1.8 ]-----
[ 2007-06-06 15:30:16 by aw ]
z17_drv.c:
added
+ getstat code Z17_IRQ_LAST_REQUEST
z17_simp.c:
added
+ getstat code Z17_IRQ_LAST_REQUEST
+ program try to fire interrupts without external loopback
z17_io.c:
removed
- unused variable warning
z17_drv.h:
added
+ getstat code Z17_IRQ_LAST_REQUEST
+ set/getstat value documentation
-----[ Release-1.7 ]-----
[ 2006-08-18 09:53:23 by ub ]
Minor changes
-----[ Release-1.6 ]-----
[ 2006-08-02 08:35:07 by DPfeuffer ]
- z17_io tool added
-----[ Release-1.5 ]-----
[ 2006-06-08 16:37:28 by cs ]
changed ADDRSPACE_SIZE to 32 (real size is reported by Chameleon BBIS now)
-----[ Release-1.4 ]-----
[ 2006-02-22 12:08:38 by ub ]
Minor changes in
dbg.h
fixed: C++ comments did not work with OS9 Ultra-C compiler
mdis_api.h
added M_BB_GET_SMBHDL for SMB2 MDIS support
oss.h
changed OSS_VME_DM/OSS_VME_AM docu from single-line style to common style
added OSS_GetSmbHdl(), OSS_SetSmbHdl() prototype
-----[ Release-1.3 ]-----
[ 2005-08-02 15:47:35 by dpfeuffer ]
added z17_f8.dsc
-----[ Release-1.2 ]-----
[ 2005-07-27 16:14:25 by dpfeuffer ]
13z01706.xml: using now chameleon unit name 16Z034_GPIO as <hwname>
-----[ Release-1.1 ]-----
[ 2005-04-27 14:13:21 by kp ]
1) added example for EC04-00 buttons
2) input interrupts now working in m17_simp.c
-----[ Release-1.0 ]-----
[ 2004-06-18 14:30:34 by ub ]
Initial Revision
Licensing Information
[ 2017-05-03 17:00:40 by DPfeuffer ]
R:1. new tools Z127_IN, Z127_OUT
2. new driver variant z127v01
M:1. tools added
2. variant added
-----[ Release-1.26 ]-----
[ 2016-07-13 10:21:02 by ts ]
z17_drv.c
R: previous change with default ADDRSPACE_SIZE caused m_open to fail on an EM10A
M: reverted ADDRSPACE_SIZE back to 0x20 as for all GPIOs except Z127 variant 1.
-----[ Release-1.25 ]-----
[ 2014-11-28 15:23:57 by MRoth ]
R: some modifications of the tools z17_io and z127_io were lost during merge with an older revision
M: re-added modifications to avoid high CPU load with option -h
-----[ Release-1.24 ]-----
[ 2014-11-28 14:38:10 by MRoth ]
R: 1.) no driver internal toggle function for GPIOs
2.) Z127 variant always requested an IRQ even if it had none in Hardware
3.) no support for MSI(x) - no IRQ should happen during ISR
4.) GPIO reset at driver exit (m_close) not always wanted
5.) cosmetics
M: 1.a) added setstat codes and AlarmHandler for toggle function
b) changed toggle function in example tools
2.) introduced Z127_NOIRQ driver variant to inhibit IRQs.
3.) disable IRQs at the beginning and re-enable at the end of the ISR
4.) added RESET_OFF descriptor key
5.) driver package source code completely revised
-----[ Release-1.23 ]-----
[ 2011-11-16 15:26:14 by GLeonhardt ]
R: 1.) Interrupts for GPIO 4-7 did not work with Z34/Z37 core
A preprocessor string comparison did not work.
Driver always compiled as Z127 model with 32 bit registers.
M: 1.) Replace string comparison with driver switch from Makefile.
-----[ Release-1.22 ]-----
[ 2011-09-12 13:52:57 by GLeonhardt ]
R: Compiler error, if MWRITE_D32 macro is a compound statement
M: Embed macro in braces
-----[ Release-1.21 ]-----
[ 2011-07-27 15:25:13 by dpfeuffer ]
R: problems with internal IRQ latency test tool
M: driver and z127_irqlat revised
-----[ Release-1.20 ]-----
[ 2011-07-08 13:27:36 by dpfeuffer ]
R: internal test tools required for 16G215-01 design test
M: internal test tools modified/added
-----[ Release-1.19 ]-----
[ 2011-03-28 11:47:34 by dpfeuffer ]
R: g215_190029_et.c: shift is not 64-bit safe
M: U_INT32_OR_64 cast added
-----[ Release-1.18 ]-----
[ 2011-03-28 11:17:56 by dpfeuffer ]
R:1. new io variants
2. new tool
3. z17_io.c: error in usage information
M:1. io variants added
2. z127_io added
3. description fixed
-----[ Release-1.17 ]-----
[ 2009-09-02 10:31:59 by MRoth ]
13z01706.xml:
R: Porting to MDIS5
M: fixed description for MDIS5
-----[ Release-1.16 ]-----
[ 2009-08-06 11:16:01 by MRoth ]
R: reference files were delivered with driver package
M: a) added category noref to upfile to differentiate between reference and non-reference files
b) reference files were removed from driver package
-----[ Release-1.15 ]-----
[ 2009-08-03 17:30:57 by MRoth ]
R: cosmetics in HTML documentation
M: fixed files.html and rebuilded documentation
-----[ Release-1.14 ]-----
[ 2009-08-03 16:54:04 by MRoth ]
R: no support for 32 bit Z127_GPIO IP core
M: a) added driver variant z17_z127
b) added model 16Z127_GPIO
-----[ Release-1.13 ]-----
[ 2009-07-10 13:50:43 by CRuff ]
R: 1.Porting to MDIS5
2. Ensure backward compatibility to MDIS4 for Linux
M: 1. changes according to MDIS5 Porting Guide
2. added defines for data types INT32_OR_64 and MDIS_PATH
-----[ Release-1.12 ]-----
[ 2009-04-17 10:49:13 by MRoth ]
File /_CVS_/COM/DRIVERS/MDIS_LL/Z017/DRIVER/COM/z17_drv.c RCS 1.3 -> RCS 1.4
R: no 64 Bit support
M: changed set/getstat to support 64 Bit
File /_CVS_/COM/DRIVERS/MDIS_LL/Z017/EXAMPLE/Z17_SIMP/COM/z17_simp.c RCS 1.3 -> RCS 1.4
R: stack overflow at signalHandler call for Windows
M: Fixed calling convention for UOS_SigInit
File /_CVS_/COM/DRIVERS/MDIS_LL/Z017/TOOLS/Z17_IO/COM/z17_io.c RCS 1.2 -> RCS 1.3
included <stdlib.h> to remove warning about implicitely defined func. atoi()
File /_CVS_/COM/PACKAGE_DESC/13z01706.xml RCS 1.12 -> RCS 1.13
R: 1. device was not found in WIN environments (name did not match)
2. XML knows CHAM V2 dev ID as well now
3. missing new 16Z037 model
M: 1. add mandatory 16 as begin of HWNAME (match with chameleon.h string)
2. add chamv2id as autoid
3. added new model 16Z037
-----[ Release-1.11 ]-----
[ 2008-02-28 17:20:31 by aw ]
Checkin to update references
-----[ Release-1.10 ]-----
[ 2007-10-23 17:41:12 by GLeonhardt ]
z17_ec0400_1.dsc
Added
z17_em09_ec06.dsc
Added
-----[ Release-1.9 ]-----
[ 2007-08-21 14:43:30 by aw ]
Checkin to update references
-----[ Release-1.8 ]-----
[ 2007-06-06 15:30:16 by aw ]
z17_drv.c:
added
+ getstat code Z17_IRQ_LAST_REQUEST
z17_simp.c:
added
+ getstat code Z17_IRQ_LAST_REQUEST
+ program try to fire interrupts without external loopback
z17_io.c:
removed
- unused variable warning
z17_drv.h:
added
+ getstat code Z17_IRQ_LAST_REQUEST
+ set/getstat value documentation
-----[ Release-1.7 ]-----
[ 2006-08-18 09:53:23 by ub ]
Minor changes
-----[ Release-1.6 ]-----
[ 2006-08-02 08:35:07 by DPfeuffer ]
- z17_io tool added
-----[ Release-1.5 ]-----
[ 2006-06-08 16:37:28 by cs ]
changed ADDRSPACE_SIZE to 32 (real size is reported by Chameleon BBIS now)
-----[ Release-1.4 ]-----
[ 2006-02-22 12:08:38 by ub ]
Minor changes in
dbg.h
fixed: C++ comments did not work with OS9 Ultra-C compiler
mdis_api.h
added M_BB_GET_SMBHDL for SMB2 MDIS support
oss.h
changed OSS_VME_DM/OSS_VME_AM docu from single-line style to common style
added OSS_GetSmbHdl(), OSS_SetSmbHdl() prototype
-----[ Release-1.3 ]-----
[ 2005-08-02 15:47:35 by dpfeuffer ]
added z17_f8.dsc
-----[ Release-1.2 ]-----
[ 2005-07-27 16:14:25 by dpfeuffer ]
13z01706.xml: using now chameleon unit name 16Z034_GPIO as <hwname>
-----[ Release-1.1 ]-----
[ 2005-04-27 14:13:21 by kp ]
1) added example for EC04-00 buttons
2) input interrupts now working in m17_simp.c
-----[ Release-1.0 ]-----
[ 2004-06-18 14:30:34 by ub ]
Initial Revision
Licensing Information
Supported MEN Standard Products
- 16Z034_GPIO GPIO Controller
- 16Z037_GPIO GPIO Controller with Serial Interface
- A14C MPC8540 CPU Board
- A17 Embedded Single Board Computer with PowerPC MPC8548
- BC50I Rugged Box PC for Industrial Automation with AMD G-Series
- BC50M Rugged Box PC for Transportation with AMD G-Series
- BL50S Rugged Box PC for Transportation with AMD G-Series
- BL50W Rugged Box PC for Transportation with AMD G-Series
- BL70S Rugged Box PC for Transportation with Intel Core i3 / i5 / i7
- BL70W Rugged Box PC for Transportation with Intel Core i3 / i5 / i7
- CC10C Rugged COM Express Module with ARM i.MX6
- DC15 Rugged 10.4" Panel PC with Front Keys or Touch Screen
- EM1N Embedded System Module COM with MPC5200B
- EM9 Embedded System Module COM with MPC8548
- EM9A ESM COM with PowerPC MPC8548
- F12N PowerPC MPC5200B CPU Board
- F206 Octal UART Interface Board
- F215 UART, CAN Bus & Digital I/O Interface Board
- F216 High-Speed Octal UART Interface Board
- F50C PowerPC MPC8548 Conduction Cooled SBC
- G215 UART, CAN Bus & Digital I/O Interface Board
- MM1 ESMini COM with Intel Atom
- P598 Conduction-Cooled FPGA-based USM Main PMC
- P599 FPGA-based USM Main PMC
- SC24 AMD G-Series SBC for Control of Multiple 12" to 60" Displays
Supported Operating System
- Linux
- VxWorks
- QNX
- OS-9
Features
- 8-bit general purpose I/O (16Z034_GPIO/16Z037_GPIO)
- 32-bit general purpose I/O (16Z127_GPIO)
- Data direction programmable for every I/O port
- State of output port pins readable
- Ability to generate interrupts on rising, falling or both edges on port
- Every port can work in open drain mode
- Hardware debouncing possible for every port
Included Documentation
HTML Documentation
Notes
- This MDIS5 low-level driver is compatible with MDIS4 system packages.
- Requires MDIS4 or MDIS5 system package
Licensing Information
This article is free of charge.
Ordering Information & Downloads
Main Software
13Z017-06
MDIS5 low-level driver sources (MEN) for 16Z034_GPIO, 16Z037_GPIO and 16Z127_GPIO
Requires a compatible MDIS system package.
Related Software
13Z017-70
MDIS4/2004 / MDIS5 Windows driver (MEN) for 16Z034_GPIO devices
16P599-00
Nios PMC USM FPGA Development Package (MEN) (without Altera Quartus II) (license included in PMC USM FPGA Development Kit)
10CC10-60
VxWorks BSP (MEN) for CC10C, CC10 and CC10S