Concept and role
It is unclear here that the basic architecture of GPIO in the actual computer, after all, is in the software level, to develop, so the hardware is ignorant. Especially in the kernel compilation process, there is a compilation problem, do not know how the kernel developers to solve the problem. The current problem is whether the server requires a GPIO module.
In the actual MCU, Gpio is available in many forms. For example, some data registers can be addressed by bits, while others cannot be addressed by Bits , which are differentiated during programming. For example, the traditional 8051 series, the region is divided into two types of bits addressable and non-addressable registers. In addition, for ease of use, many MCUs integrate glue logic into the chip to enhance the stability of the system, such as the Gpio interface to remove two standard registers must be available, but also provides a pull-up register, you can set the IO output mode is high impedance , or with The level output of the pull-up , or the level output without the pull-up . In the circuit design, the peripheral circuit can be simplified a lot.
Kernel compilation error:
Later put the kernel in the/USR/SRC directory recompile, no ARCH/ARM/KERNEL/ASM-OFFSETS.S
This is a problem, but there are new questions:
drivers/gpio/gpiolib.c:in function ' gpiolib_dbg_show ':
Drivers/gpio/gpiolib.c:1060:error:implicit Declaration of
function ' GPIO_TO_IRQ '
MAKE[2]: * * [DRIVERS/GPIO/GPIOLIB.O] Error 1
MAKE[1]: * * [Drivers/gpio] Error 2
Make: * * [Drivers] Error 2
I went to the drivers/gpio/directory to modify the makefile GPIOLIB.C to shield. But the new problem is here again.
:
Scripts/kconfig/mconf Arch/arm/kconfig
#
# using defaults found IN/BOOT/CONFIG-2.6.25.6-27.FC8
#
/boot/config-2.6.25.6-27.fc8:1622:warning:symbol value ' m '
Invalid for IWL4965
/boot/config-2.6.25.6-27.fc8:1769:warning:symbol value ' m '
Invalid for ISDN
Your display is too small to run menuconfig!
T must is at least lines by columns.
MAKE[1]: * * [Menuconfig] Error 1
Change version 2. 6. 27, after make:
arch/arm/plat-s3c24xx/gpiolib.c:254:undefined reference to
' Gpiochip_add '
Make: * * * [. tmp_vmlinux1] Error 1
I blocked the gpiolib, but there was an error:
rivers/gpio/gpiolib.c:in function ' gpiolib_dbg_show ':
Drivers/gpio/gpiolib.c:1060:error:implicit Declaration of function
' Gpio_to_irq '
MAKE[2]: * * [DRIVERS/GPIO/GPIOLIB.O] Error 1
MAKE[1]: * * [Drivers/gpio] Error 2
Make: * * [Drivers] Error 2
Basic conditions for Gpio