linux UART´®¿ÚÇý¶¯
linux UART´®¿ÚÇý¶¯¿ª·¢Îĵµ
ʱ¼ä:2010-01-09 14:24:55À´Ô´:ÍøÂç ×÷Õß:δ֪ µã»÷:482´Î
ÄÚÈݼò½é: ½éÉÜÁËLinuxϵĴ®¿ÚÇý¶¯µÄÉè¼Æ²ã´Î¼°½Ó¿Ú, ²¢Ö¸³ö´®¿ÚÓëTTYÖÕ¶ËÖ®¼äµÄ¹ØÁª²ã´Î(´®¿Ú¿É×÷TTYÖÕ¶ËʹÓÃ), ÒÔ¼°LinuxϵÄÖжϴ¦Àí»úÖÆ/ÖжϹ²Ïí»úÖÆ, »¹Óд®¿Ú»º³å»úÖÆµ±ÖÐÉæ¼°µÄÈíÖжϻúÖÆ; ÆäÖÐÓйØw83697/
ÄÚÈݼò½é: ½éÉÜÁËLinuxϵĴ®¿ÚÇý¶¯µÄÉè¼Æ²ã´Î¼°½Ó¿Ú, ²¢Ö¸³ö´®¿ÚÓëTTYÖÕ¶ËÖ®¼äµÄ¹ØÁª²ã´Î(´®¿Ú¿É×÷TTYÖÕ¶ËʹÓÃ), ÒÔ¼°LinuxϵÄÖжϴ¦Àí»úÖÆ/ÖжϹ²Ïí»úÖÆ, »¹Óд®¿Ú»º³å»úÖÆµ±ÖÐÉæ¼°µÄÈíÖжϻúÖÆ; ÆäÖÐÓйØw83697/w83977 IC·½ÃæµÄ֪ʶ, ¾ßÌå²Î¿¼Ïà¹ØÊÖ²á, ¶Ô´®¿ÚµÄÅäÖüĴæÆ÷ÓÐÏêϸ½éÉÜ, ±¾ÎIJ»ÔÙ½øÐÐ˵Ã÷.
Ŀ¼Ë÷Òý:
Ò». LinuxµÄ´®¿Ú½Ó¿Ú¼°²ã´Î.
¶þ. LinuxµÄÖжϻúÖÆ¼°ÖжϹ²Ïí»úÖÆ.
Èý. LinuxµÄÈíÖжϻúÖÆ.
ËÄ. TTYÓë´®¿ÚµÄ¾ßÌ幨Áª.
Ò». LinuxµÄ´®¿Ú½Ó¿Ú¼°²ã´Î.
´®¿ÚÊÇʹÓÃÒѾ·Ç³£¹ãµÄÉ豸ÁË, Òò´ËÔÚlinuxÏÂÃæµÄÖ§³ÖÒѾºÜÍêÉÆÁË, ¾ßÓÐͳһµÄ±à³Ì½Ó¿Ú, Çý¶¯¿ª·¢ÕßËùÒªÍêÕûµÄ¹¤×÷¾ÍÊÇÕë¶Ô²»Í¬µÄ´®¿ÚICÀ´×öÍê³ÉÏàÓ¦µÄÅäÖúê, Õâ´ËÅäÖúê°üÀ¨¶ÁÓëд, Öжϴò¿ªÓë¹Ø±Õ(Èç´«ËÍÓë½ÓÊÕÖжÏ), ½ÓÊÕ״̬´¦Àí, ÓÐFIFOʱ»¹Òª´¦ÀíFIFOµÄ״̬. ÈçÏÂÎÒÃǾÍÊ×ÏÈÇÐÈëÕâÒ»²¿·Ö, ¾ßÌåÁ˽âÒ»ÏÂÓëÓ²¼þ´®¿ÚICÏà¹ØµÄ²¿·ÖÔÚÇý¶¯ÖеĴ¦Àí, ÕâÒ»²¿·Ö¿ÉÒÔ˵ÊÇ´®¿ÚÇý¶¯ÖеÄ×î»ù´¡²¿·Ö, Ö±½ÓÓëÓ²¼þ´ò½»µÀ, Íê³É×îµ×²ã¾ßÌåµÄ´®¿ÚÊý¾Ý´«Êä.
1. ´®¿ÚÓ²¼þ×ÊÔ´µÄ´¦Àí.
W83697¼°W83977ÔÚep93xx°å×ÓÉϵÄÓ³ÉäµÄÓ²¼þÎïÀí¿Õ¼äÈçÏÂ:
W83697: 0x20000000Æð1K¿Õ¼ä.
W83977: 0x30000000Æð1K¿Õ¼ä.
ÒòΪ´®¿ÚÉ豸µÄÌØÊâÐÔ, ¿ÉÒÔµ±×÷ÖÕ¶ËʹÓÃ, µ«ÊÇÖն˵ÄʹÓÃÔÚÄں˻¹Î´ÍêÈ«³õʼ»¯Ö®Ç°(¹ØÓÚ´®¿ÚÓëÖն˵ĹØÁª¼°²ã´ÎÔÚµÚËĽÚÖÐÏêϸ), ´Ëʱ»¹Ã»ÓÐͨ¹ýmem_init()½¨Á¢Äں˵ÄÐé´æ¹ÜÀí»úÖÆ, ËùÒÔ²»ÄÜͨ¹ýioreampÀ´½øÐÐÎïÀíÄÚ´æµ½Ðé´æµÄÓ³Éä(ÎïÀíÄÚ´æ±ØÐëÓÉÄÚºËÓ³Éä³Éϵͳ¹ÜÀíµÄÐéÄâÄÚ´æºó²ÅÄܽøÐжÁд·ÃÎÊ), ÕâÓëÏÈǰËù½²µÄframebufferµÄÎïÀíÄÚ´æÓ³ÉäÊDz»Í¬µÄ, ¾ßÌåÔÒòÈçÏÂ:
√ÖÕ¶ËÔÚ×¢²á²¢Ê¹Óõĵ÷Ó÷¾¶ÈçÏÂ:
start_kernel→console_init→uart_console_init→ep93xxuart_console_init→register_console→csambuart_console_write.
√FrameBufferÏÔ¿¨Çý¶¯ÖеÄÎïÀíÄÚ´æÓ³Éäµ÷Ó÷¾¶ÈçÏÂ:
start_kernel→ rest_init→init(Äں˳õʼÏß³Ì)→
Ïà¹ØÎĵµ£º
1. ´ÓÓ²Å̰²×°linuxµÄѧϰ£¬ºÍʵÑé Done
Use wingrub, install the Ubuntu on /dev/sda2. and could boot!
2. pppoe connection &nbs ......
linux²¢²»ÊÇʵʱ²Ù×÷ϵͳ£¬°ÑÏÂÃæµÄ´úÂëÔËÐÐÒ»±é¾ÍÄܹ»Àí½âÁË£¬´úÂëÓкÜÏêϸµÄ×¢ÊÍ¡£
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <signal.h>
#include <string.h>
void * thr_fun(void *arg)
{
int policy, ret;
str ......
ÔÚÒ»ÖÐÒѾ˵Ã÷ÁËÔÚlinuxÏÂÅäÖÃSVN serverµÄÖ÷Òª²½Ö裬Èç¹ûÈí¼þÒÀÀµÃ»ÓÐÎÊÌâµÄ»°Ó¦¸ÃÒѾ°²×°³É¹¦ÁË£¬ÏÂÃæ¾ÍÊÇÅäÖõÄÎÊÌâÁË¡£Ê×ÏÈҪȷ¶¨subversionµÄÁ½¸öÄ£¿éÊDz»ÊÇÕýÈ·µÄ°²×°µ½ÁËapacheÏ£¬¿ÉÒÔÔÚapacheµÄÒ»¸öÅäÖÃÎļþÖп´µ½£¬¸ÃÅäÖÃÎļþÔÚapacheµÄ°²×°Ä¿Â¼Ï /conf/httpd.conf
ÔÚhttpd.confÏÂÃæ»áÓÐÁ½ÐУº
LoadModul ......
PCIÊÇÍâΧÉ豸»¥ÁªµÄ¼ò³Æ(Peripheral Component
Interconnect)µÄ¼ò³Æ£¬×÷ΪһÖÖͨÓõÄ×ÜÏß½Ó¿Ú±ê×¼£¬ËûÔÚ¼ÆËã»úϵͳÖеõ½Á˹㷺µÄʹÓá£PCIµÄËÙ¶ÈÄܹ»´ïµ½132M/s¡£ÔÚÕâÀï¼òµ¥µÄ½é
ÉÜһϠlinux ÏÂPCIÇý¶¯µÄʵÏÖ¡£
ÔÚ±àдһ¸öPCIÇý¶¯µÄʱºòÎÒÃÇÏȵÃÈ·¶¨ÏµÍ³ÖÐÊÇ·ñÓÐÎÒÃǵÄÉ豸¡£ÎÒÃÇ¿ÉÒÔͨ¹ýlspci
²é¿´PCIÉ豸¡£
[roo ......
FLASHÇý¶¯ÔÚǶÈëʽϵͳÖÐÓÐמÙ×ãÇáÖØµÄλÖ㬶øÄ¿Ç°Êг¡ÉÏNAND FLASHµÄ¼Û¸ñÓÖÒª±ãÒËÓëNOR
FLASH,Ëæ×ÅÔ½À´Ô½¶àµÄƽ̨֧³Ö´ÓNAND FLASHÖÐÆô¶¯£¬ÕÆÎÕNAND
flashµÄÇý¶¯±àдÓÐ×ÅÖØÒªµÄÏÖʵÒâÒ壬ÓÉÓÚÄÚºËÒѾÍê³ÉÁ˴󲿷ֵŤ×÷£¬Êµ¼Ê¹¤×÷Öд󲿷ֹ¤³Ìʦ¶ÔNAND
FLASHÇý¶¯Ö»ÊǼòµ¥µÄÐ޸ģ¬¶ÔÆä¹¤×÷ÔÀí²¢²»Ì«Çå³þ£¬ÏÂÃæÎÒà ......