Êî¼ÙÀ½«ÊµÑéÊÒµÄһ̨ev40µÄʵÑéÏä´ø»Ø¼Ò£¬×¼±¸×öЩʵÑé¡£
Ê×ÏȽéÉÜÒ»ÏÂÓëÒÆÖ²Ïà¹ØµÄÎÒµÄʵÑéÏäµÄÓ²¼þÐÅÏ¢£º
cpu: Samsung 44b0x
Nor flash: SST39vf160 (1M x 16bit)
Nand flash: K9F2808
Sdram: HY57V65160B (4M x 16bit)
ÍøÂçоƬ£º RTL8019AS
1,ÏÂÔØÏà¹ØÄÚºËÔ´Âë
uClinux-dist-20040408.tar.gz
linux-2.6.9.tar.bz2
linux-2.6.9-hsc0.patch.gz
½âѹԴÂ룺
tar xzvf uClinux-dist-20040408.tar.gz
tar jxvf linux-2.6.9.tar.bz2
gunzip linux-2.6.9-hsc0.patch.gz
patch -p0 < linux-2.6.9-hsc0.patch
mv linux-2.6.9 uClinux-dist
cd uClinux-dist
rm -rf linux-2.6.x
mv linux-2.6.9 linux-2.6.x
2£¬ÏÂÔز¢°²×°½»²æ±àÒë»·¾³
arm-uclinux-tools-base-gcc3.4.0-20040713.sh
°²×°£º
./arm-uclinux-tools-base-gcc3.4.0-20040713.sh
mv arm-uclinux-tools /usr/local
ÔÚ~/.bash_profileÎļþÖÐÌí¼Ó¸Ã±àÒ빤¾ßµÄPATH
3£¬ÐÞ¸ÄÔ´ÂëÖÐÓë±àÒ빤¾ßÓйصÄÎļþ£º
ÐÞ¸Ävendor/config/armnommu/config.archÎļþ
MACHINE = arm
ARCH = armnommu
CROSS_COMPILE = arm-uclinux-
CROSS = $(CROSS_COMPILE)
ÐÞ¸Älinux-2.6.xĿ¼ÏµÄMakefileÎļþ,Ìí¼ÓÈçÏÂÄÚÈÝ£º
ARCH = armnommu
CROSS_COMPILE = arm-uclinux-
4£¬Ôö¼Ó44b0xÏà¹ØµÄĿ¼ÓëÎļþ:
cd vendors/Samsung
mkdir 44b0x
½«Samsung/4510BϵÄËùÓÐÎļþ(config.linux-2.4.xºÍconfig.vendor-2.4.x³ýÍâ)copyµ½44b0xĿ¼Ï¡£
cp linux-2.6.x/arch/armnommu/configs/s3c44b0x_defconfig vendors/Samsung/44b0x/config.linux-2.6.x
ÐÞ¸Ä 44b0x/rcÎļþ£¬½«µÚ2Ðк͵Ú4ÐÐÖеÄram0¸Ä³Éram1£¬¸ù¾Ý°å×ÓÇé¿öÊʵ±ÐÞ¸ÄÆäËûÐС£
5£¬ÐÞ¸Älinux-2.6.x/arch/armnommu/boot/compressed/head-s3c44b0.SÎļþ¡£(280Ðи½½ü)
ldr r2, S3C44B0_PROCESSOR_TYPE
str r2, [r6]
ldr r2, S3C44B0_MACH_TYPE
str r2, [r9]
¸ÄΪ£º
ldr r6, S3C44B0_PROCESSOR_TYPE
ldr r7, S3C44B0_MACH_TYPE
6£¬ÐÞ¸ÄuClinux-dist/linux-2.6.x/include/asm-armnommu/system.hÎļþ(ÓÐЩ°å×ÓÐèÒª¸ü¸Ä£¬¶øÎÒµÄev40°å²»ÐèÒª¸Ä)
½«vectors_base¸ÄΪ(CONFIG_DRAM_BASE+0x8)
ÎÒµÄev40°å²»ÓøÄvectors_baseÖµ£¬ÆäÖµÊÇCONFIG_DRAM_BASE (¸ÄÁ˺ó»á³öÏÖPID´íÎó£¬ËÀÔÚPIDÄÇÐÐ)
7£¬Ôö¼Ó´®¿ÚÇý¶¯¡£ÄÚºËÔ´´úÂëÖÐÖ»´øÁË44b0µÄ¼òÒ×´®¿ÚÇý¶¯¡£Òª×Ô¼º±àд´®¿ÚÇý¶¯³ÌÐò£º
(1), Ôö¼ÓÎļþ¡£(Îļþ¿É²Î¿¼4510µÄ´®¿ÚÇý¶¯£¬ÓÐÐèÒªµÄÇëÓëÎÒÁªÏµ)
linux-2.6.x/drivers/serial/serial_s3c44b0.c
linux-2.6.x/include/asm-armnommu/arch-s3c44b0x/uart.h
(2)£¬ÐÞ¸Älinux-2.6.x/drivers/serial/Kconfig£¬Ìí¼Ó44B0X´®¿ÚÏà¹ØÄÚÈÝ
config SERIAL_S3C44B0X
bool 'S3C44B0X Serial Support'
default y
select SERIAL_CORE
help
Samsung S3C44B0X Chips has built-in serial controler
config SERIAL_S3C44B0X_CONSOLE
bool "Support for console on S3C44B0X Serial port"
depends on SERIAL_S3C44B0X=y
select SERIAL_CORE_CONSOLE
help
Allow selection of the S3C44B0X on-board serial ports for use as
an virtual console.
(3)£¬ÐÞ¸Älinux-2.6.x/drivers/serial/Makefile£¬Ìí¼Ó44B0xµÄÏà¹ØÄÚÈÝ£º
obj-$(CONFIG_SERIAL_S3C44B0X) += serial_s3c44b0.o
(4)£¬ÐÞ¸Älinux-2.6.x/include/linux/serial_core.h,ÔÚÆäÖмÓÈëPORT_S3C44B0µÄ¶¨Ò壺
#define PORT_S3C44B0 62
(5)£¬ÐÞ¸Älinux-2.6.x/arch/armnommu/mach-s3c44b0x/driverÖÐMakefileºÍKconfigÎļþ£¬×¢Ê͵ôÔÀ´Óë¼òÒ×´®¿ÚÏà¹ØµÄÄÚÈÝ¡£
(6)£¬linux-2.6.x/drivers/serial/serial_s3c44b0.cÖн«ÓÐ
CONFIG_SERIAL_S3C44B0_CONSOLE¸ÄΪ£ºCONFIG_SERIAL_S3C44B0X_CONSOLE
²¢ÉèÖò¨ÌØÂÊΪÕýÈ·µÄÖµ¡£
(7)¼ÇµÃÒª¸ù¾Ý×Ô¼º°å×ÓÅäÖÃserial_s3c44b0.cÖеÄstatic void __s3c44b0_init(struct uart_port *port, int baud)º¯ÊýÖеļĴæÆ÷µÄÖµ¡£
8£¬Ôö¼ÓÍø¿¨Çý¶¯¡£ÎÒµÄÍøÂçоƬÓõÄÊÇRTL8019AS£¬²»³öÒâÍâµÄ»°£¬ÊÐÃæÉÏËùÓÐ44B0°å×ÓÉ϶¼ÊÇÓõĸÃоƬ£¬Ö»ÊÇÓеÄÓõÄÊÇ8bit£¬ÓеÄÓõÄÊÇ16bitģʽ£¬Çý¶¯Ò²Òª×öÏàÓ¦µÄ¸Ä¶¯²ÅÐС£ÎÒµÄÊÇÓõÄ8bitģʽ¡£
ÕâÀïÖ»½²Ò»ÏÂҪעÒâµÄµØ·½£ºÍø¿¨µÄÖжϺţ¬Öжϵijõʼ»¯£¬Íø¿¨µÄ»ùÖ·µÈµÈ¡£
Íø¿¨Çý¶¯ºó£¬¿ÉÒÔÅäÖÃÒ»ÏÂNFSºÍFTPÀ´²âÊÔÒ»ÏÂÍøÂç¡£
(1)£®ÅäÖÃÄںˣº
½øÈëFile Systems --->Network file systems --->Ñ¡ÏîÑ¡ÖУº
[*]NFS file system support
[*]Provide NFSv3 client support
(2)£®ÅäÖÃÓû§Ñ¡Ïî
½øÈëNetwork Applications ---> Ñ¡ÏîÑ¡ÖУº
[*]portmap
½øÈëBusyBox --->Ñ¡ÏîÑ¡ÖУº
[*]mount
[*]mount£ºsupport NFS mounts
[*]umount
(3). ÔÚlinuxÖ÷»úÉÏ£¬ÅäÖÃNFS server
(1)£¬±à¼/etc/exportfsÎļþ£¬Ìí¼ÓÈçÏÂÄÚÈÝ£º
/test *(rw, sync, no_root_squash)
(2)£¬ÊäÈëÒÔÏÂÃüÁ
#service portmap start
#service nfs start
#exportfs -rv (ÖØй²Ïí/etc/exportsÖй²Ïí³öÀ´µÄĿ¼)
#showmount -e (²é¿´ËùÓй²ÏíĿ¼)
(4)£®±àÒëÄںˣ¬ÏÂÔص½¿ª·¢°åÔËÐÐʱ£¬ÓÃÈçÏ·½·¨½øÐÐNFS¹Ò½Ó
ÊäÈëÈçÏÂÃüÁ
#portmap& (¼Çסһ¶¨ÒªÔËÐиÃÃüÁ·ñÔòNFS¿Í»§»úÎÞ·¨ÕÒµ½´ÓNFS·þÎñÆ÷¹²ÏíµÄĿ¼)
#mount -t nfs 192.168.0.110:/test /mnt
#ls /mnt
Íê³ÉÍø¿¨Çý¶¯ºó£¬²âÊÔftp£¬³öÏÖÎÊÌ⣺
ÔÚ²âÊÔftpʱ£¬µÇ¼½øÈ¥ºóÔËÐÐlsÃüÁîºÍÆäËûÃüÁÍøÂç»á±äµÃºÜÂý£¬byeÃüÁîºó»á³öÏÖ´íÎó£º
skput:over: 0c01e530:80 put: dev:eth0221 Goodbye. È»ºóÓÃpingÃüÁîÀ´²âÊÔÍøÂ磬ÍøÂçÑÓʱ»á±äµÃºÜ³¤¡£
9£¬boa web serverµÄÒÆÖ²¡£
(1)£¬ÅäÖÃÓû§Ñ¡Ïîʱ£¬½øÈëNetwork Applications ---> Ñ¡ÏîÑ¡ÖУºboa
½øÈëlibÑ¡ÏѡÖÐbuild libZ
(2)£¬ÐÞ¸ÄuClinux-dist/user/boa/src/defines.hÎļþ£¬Ìí¼Ó¶¨Òå #define SERVER_ROOT "/home/web"
(3)£¬ÐÞ¸ÄuClinux-dist/user/boa/examples/boa.confÎļþ
Port 80
User 0
Group 0
ServerAdmin root@localhost
DocumentRoot /home/web/html
UserDir public_html
DirectoryIndex index.html
KeepAliveMax 100
KeepAliveTimeout 10
MimeTypes /home/web/mime.types
DefaultType text/plain
ScriptAlias /cgi-bin /home/web/cgi-bin
ScriptAlias /index.html /home/web/html/index.html
ÒÔÉϾÍÊÇboa.confµÄ×î¼òµ¥ÅäÖã¬ÆäËû¶¼¿ÉÆÁ±Îµô£¬ÓÐЩÄÚÈݲ»ÆÁ±Îµô»á³ö´í¡£
(4)£¬ÐÞ¸Äromfs/etc/inittabÎļþ£¬Ìí¼ÓÈçÏÂÄÚÈÝ£º
boa:unknown:/bin/boa -c/home/web
(5)£¬½«uClinux-dist/user/boa/examples/boa.confºÍmime.typesÁ½¸öÎļþcopyµ½romfs/home/web¡£
ÕâÑùÅäÖúó£¬htmlÎļþÈ«²¿·Åµ½/home/web/htmlÎļþ¼ÐÀcgiÎļþ·Åµ½/homt/web/cgi-binÎļþ¼ÐÀ¿ÉÒÔ½«htmlºÍcgi-binÎļþ¼ÐÉè³ÉnfsÎļþϵͳ£¬ÕâÑù¿ÉÒÔÂíÉϲâÊÔ±àдµÄÍøÒ³³ÌÐò¡£(mount -t nfs 192.168.0.100:/web /home/web/html)
wanjingming ÓÚ 2011-08-08 23:09:00·¢±í:
Â¥Ö÷ÊǸßÈË°¡
queenson ÓÚ 2011-05-11 11:54:19·¢±í:
ÄãºÃ£¬ÎÒÒ²ÊÇÓöµ½44B0´®¿ÚÇý¶¯ÔËÐв»ÆðÀ´µÄÇé¿öÁË£¬Ïë½è¼øÏÂÄúµÄÁ½¸ö³ÌÐò£¬²»ÖªµÀ·½²»·½±ã£¬Ð»Ð»¡£queenson1986@126.com
qachenzude ÓÚ 2011-04-18 13:59:18·¢±í:
ÄúºÃ£¬Îҵİå×Ó¾ÍÊÇs3c44b0µÄ£¬ÇëÎÊÄúÄÜ°ÑÄúÒѾ±àÒëͨ¹ý£¬¶øÇÒ¿ÉÒÔÔËÐгɹ¦µÄÍêÕûÔ´´úÂë·¢µ½ÎÒµÄÓÊÏäô£¿·Ç³£¸ÐлŶ£¡ÎÒµÄÓÊÏäÊÇqachenzude@qq.com.лл£¡
babypig177 ÓÚ 2008-01-15 11:08:57·¢±í:
ÄãºÃ£¬ÔõÑùÓëÄúÁªÏµ£¬ÎÒÏëÒªÄúµÄÁ½¸ö´®¿ÚÇý¶¯Îļþ£¬Ð»Ð»¡£ÎÒµÄÓÊÏ䣺
yao_c@163.com
24.6.137.* ÓÚ 2007-06-08 03:30:42·¢±í:
Sorry. I forgot mention my email address. My email address is sujy@mac.com
24.6.137.* ÓÚ 2007-06-08 03:30:00·¢±í:
Can you help me with writing a serial driver.
Thank you-
Regards-
Jyothi
ÅÀÐеı³°ü ÓÚ 2007-03-27 14:07:21·¢±í:
ÄãºÃ£¬ÔõÑùÓëÄúÁªÏµ£¬ÎÒÏëÒªÄúµÄÁ½¸ö´®¿ÚÇý¶¯Îļþ£¬Ð»Ð»¡£ÎÒµÄÓÊÏ䣺
guodarui@163.com