LinuxÏ´®¿Ú±à³ÌÖ®Ò»£º»ù´¡ÉèÖú¯Êý
1£¬´®¿Ú²Ù×÷ÐèÒªµÄÍ·Îļþ
¡¡¡¡#include¡¡¡¡ <stdio.h>¡¡¡¡¡¡/* ±ê×¼ÊäÈëÊä³ö¶¨Òå */
¡¡¡¡#include¡¡¡¡ <stdlib.h>¡¡¡¡ /* ±ê×¼º¯Êý¿â¶¨Òå */
¡¡¡¡#include¡¡¡¡ <unistd.h>¡¡¡¡ /* Unix ±ê×¼º¯Êý¶¨Òå */
¡¡¡¡#include¡¡¡¡ <sys/types.h>¡¡
¡¡¡¡#include¡¡¡¡ <sys/stat.h>¡¡
¡¡¡¡#include¡¡¡¡ <fcntl.h>¡¡¡¡¡¡/* Îļþ¿ØÖƶ¨Òå */
¡¡¡¡#include¡¡¡¡ <termios.h>¡¡¡¡/*ÖÕ¶Ë¿ØÖƶ¨Òå */
¡¡¡¡#include¡¡¡¡ <errno.h>¡¡¡¡¡¡/* ´íÎóºÅ¶¨Òå */
2£¬´ò¿ª´®¿Ú
¡¡¡¡ÔÚ Linux Ï´®¿ÚÎļþÊÇλÓÚ/devϵġ£´®¿ÚһΪ/dev/ttyS0£¬´®¿Ú¶þΪ/dev/ttyS1¡£´ò¿ª´®¿ÚÊÇͨ¹ýʹÓñê×¼µÄÎļþ´ò¿ªº¯Êý²Ù×÷£º ¡¡¡¡ int fd;¡¡¡¡/* ÒÔ¶Áд·½Ê½´ò¿ª´®¿Ú */
¡¡¡¡fd = open( "/dev/ttyS0",O_RDWR);
¡¡¡¡if (-1 == fd)
¡¡¡¡{ ¡¡
¡¡¡¡¡¡¡¡perror(" Ìáʾ´íÎó£¡"); /* ²»ÄÜ´ò¿ª´®¿ÚÒ» */
¡¡¡¡}
3£¬´®¿Ú½á¹¹Ìå¼°²ÎÊý
´®¿ÚµÄÉèÖÃÖ÷ÒªÊÇÉèÖà struct termios ½á¹¹ÌåµÄ¸÷³ÉÔ±Öµ¡£
¡¡struct termio
¡¡¡¡{
¡¡¡¡¡¡¡¡unsigned short¡¡c_iflag;¡¡¡¡¡¡¡¡/* ÊäÈëģʽ±êÖ¾ */¡¡
¡¡¡¡¡¡¡¡unsigned short¡¡c_oflag;¡¡¡¡¡¡¡¡/* Êä³öģʽ±êÖ¾ */¡¡
¡¡¡¡¡¡¡¡unsigned short¡¡c_cflag;¡¡¡¡¡¡¡¡/* ¿ØÖÆÄ£Ê½±êÖ¾ */¡¡
¡¡¡¡¡¡¡¡unsigned short¡¡c_lflag;¡¡¡¡¡¡¡¡/* local mode flags */¡¡
¡¡¡¡¡¡¡¡unsigned char¡¡ c_line;¡¡¡¡¡¡¡¡ /* line discipline */¡¡
¡¡¡¡¡¡¡¡unsigned char¡¡ c_cc[NCC];¡¡¡¡¡¡/* control characters */
¡¡¡¡};
ÔÚÕâ¸ö½á¹¹ÖÐ×îÎªÖØÒªµÄÊÇc_cflag£¬Í¨¹ý¶ÔËüµÄ¸³Öµ£¬Óû§¿ÉÒÔÉèÖò¨ÌØÂÊ¡¢×Ö·û´óС¡¢ Êý¾Ýλ¡¢Í£Ö¹Î»¡¢ÆæÅ¼Ð£ÑéλºÍÓ²¼þÁ÷¿ØµÈ¡£ÁíÍâc_iflag ºÍc_cc Ò²ÊDZȽϳ£ÓõıêÖ¾¡£ÔÚ´ËÖ÷Òª¶ÔÕâ3 ¸ö³ÉÔ±½øÐÐÏêϸ˵Ã÷¡£
£¨1£©c_cflagÖ§³ÖµÄ³£Á¿Ãû³Æ
CBAUD ²¨ÌØÂʵÄλÑÚÂë
B0 0²¨ÌØÂÊ£¨·ÅÆúDTR£©
B1800 1800²¨ÌØÂÊ
B2400 2400²¨ÌØÂÊ
&nbs
Ïà¹ØÎĵµ£º
°²×°£¬Éý¼¶ºÍÐ¶ÔØÓ¦ÓÃÈí¼þÊÇÓ°ÏìÓû§¶Ô²Ù×÷ϵͳÆÀ¼ÛµÄ¾ö¶¨ÐÔÒòËØÖ®Ò»¡£¶ÔÓÚÈÕ½¥Á÷ÐÐµÄ GNU/Linux ²Ù×÷ϵͳ£¬ÓµÓмò½àÇ¿´óµÄÈí¼þ°ü¹ÜÀí»úÖÆ¹¦²»¿Éû¡£±¾ÎÄ´Ó»ù±¾µÄ rpm/dpkg ÃüÁîÐгö·¢£¬ÒÔ RHEL ºÍ Ubuntu
ΪÀý£¬½éÉܵäÐÍ Linux ϵͳÖÐÓ¦ÓÃÈí¼þµÄ¹ÜÀíºÍʹÓá£
RPM/DPKG Á½´óÕóÓª¼ò½é
ÔÚ GNU/Linux( ÒÔϼò³Æ Linux) ²Ù× ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
A:link { so-language: zxx }
-->
Ëùν“Ôıø”¾ÍÊǼìÔIJ¿¶ÓµÄÒâ˼¡£
Linux
´ó¾ü£¨·¢Ðа棩¿Éν“É¢±øÓÎÓ”£¬Ì¸ºÎ´óÔıø£¿´ËÑÔ²îÒÓ¡£
......
Ŀ¼½á¹¹Îª£º
inc/hello.h
src/hello.c
main/main.c
Makefile
ÎļþÄÚÈÝΪ£º
hello.h:
void hello(char name[]);
hello.c:
#include <stdio.h>
void hello(char name[])
{
printf("Hello %s!\n", name);
}
main.c:
#include <stdio.h>
#include "hello.h"
// The second hello.h should ......
# tar -zxvf mysql-5.0.45.tar.gz -C /usr/src/
# cd /usr/src/mysql-5.0.45
# ./configure --prefix=/usr/local/mysql --with-charset=gbk
--localstatedir=/usr/local/mysql/data
# make
# make install
# groupadd mysql
# useradd mysql -g mysql
# cd /usr/local/mysql/bin
# ./mysql_install_db --user=mys ......
ÄÚºËÆô¶¯µÄÏÖÔÚÒѾÊÇ¿ªÊ¼Ö´Ðк¯Êýstart_kernelº¯ÊýÁË¡£start_kernelº¯ÊýÔÚinit/main.cÖж¨Òå¡£start_kernelº¯ÊýÖ»ÊÇÍê³É
ÏàÓ¦µÄ½á¹¹µÄ³õʼ»¯ÈÎÎñ¡£
printk(KERN_NOTICE);
printk(linux_banner);
setup_arch(&command_line);
ÔÚubootµÄÒ»Ö±¹ý³ÌÖУ¬uboo ......