Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linux 2.6.24ÔÚS3C2410ÉϵÄÒÆÖ²(1)(»ùÓÚGEC2410)

1.ÏÂÔØlinux kernelÔ´´úÂë
µ½http://www.kernel.org/ÏÂÔØlinuxÄÚºËÔ´´úÂë,ÕâÀïÎÒÃÇʹÓÃ2.6.24.4µÄÄÚºË.
½âѹlinux-2.6.24.4.tar.bz2
[matt@localhost GEC2410]$ tar -xvjf linux-2.6.24.4.tar.bz2
[matt@localhost GEC2410]$ cd linux-2.6.24.4
2.ÐÞ¸ÄMakefile,ÉèÖý»²æ±àÒëÆ÷
ARCH  ?= arm
CROSS_COMPILE ?= /home/GEC2410/toolchain/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu-
3.ÉèÖÃNand·ÖÇø
ÐÞ¸Äarch/arm/plat-s3c24xx/common-smdk.cÖÐ108ÐеÄsmdk_default_nand_part[]ÈçÏÂ:
[matt@localhost linux-2.6.24.4]$ vim arch/arm/plat-s3c24xx/common-smdk.c
static struct mtd_partition smdk_default_nand_part[] = {
#if 0
[0] = {
.name = "Boot Agent",
.size = SZ_16K,
.offset = 0,
},
[1] = {
.name = "S3C2410 flash partition 1",
.offset = 0,
.size = SZ_2M,
},
[2] = {
.name = "S3C2410 flash partition 2",
.offset = SZ_4M,
.size = SZ_4M,
},
[3] = {
.name = "S3C2410 flash partition 3",
.offset = SZ_8M,
.size = SZ_2M,
},
[4] = {
.name = "S3C2410 flash partition 4",
.offset = SZ_1M * 10,
.size = SZ_4M,
},
[5] = {
.name = "S3C2410 flash partition 5",
.offset = SZ_1M * 14,
.size = SZ_1M * 10,
},
[6] = {
.name = "S3C2410 flash partition 6",
.offset = SZ_1M * 24,
.size = SZ_1M * 24,
},
[7] = {
.name = "S3C2410 flash partition 7",
.offset = SZ_1M * 48,
.size = SZ_16M,
}
#endif
[0] = {
.name = "U-Boot",
.size = SZ_1M,
.offset = 0,
},
[1] = {
.name = "Linux Kernel",
.offset = SZ_1M,
.size = SZ_1M*3,
},
[2] = {
.name = "Root",
.offset = SZ_4M,
.size = SZ_4M*10,
},
[3] = {
.name = "User",
.offset = SZ_4M*11,
.size = SZ_4M*5,
}
};
4 ÅäÖÃÄÚºË
4.1 Ö§³ÖÆô¶¯Ê±¹ÒÔØdevfs
ΪÁËÎÒÃǵÄÄÚºËÖ§³ÖdevfsÒÔ¼°ÔÚÆô¶¯Ê±²¢ÔÚ/sbin/initÔËÐÐ֮ǰÄÜ×Ô¶¯¹ÒÔØ/devΪdevfsÎļþϵͳ£¬ÐÞ¸Äfs/KconfigÎļþ
vi fs/Kconfig
ÕÒµ½menu "Pseudo filesystems"
Ìí¼ÓÈçÏÂÓï¾ä£º
config DEVFS_FS
bool "/dev file system support (OBSOLETE)"
default y
config DEVFS_MOUNT
bool "Au


Ïà¹ØÎĵµ£º

linuxµÄÎļþºÍĿ¼

chmod £»ÐÞ¸ÄĿ¼ȨÏÞ
eg£ºchmod o-t /tmp
touch:´´½¨ÐÂÎļþ
rm -rf:ɾ³ýÎļþ
set gid ¶ÔĿ¼µÄ×÷ÓÃ
1£ºÄ¬ÈÏÇé¿öÏ£¬Óû§½¨Á¢µÄÎļþÊôÓÚÓû§µ±Ç°ËùÔÚµÄ×é
2£ºÄ¿Â¼ÉÏÉèÖÃÁËsetgid£¬±íʾÔÚ´ËĿ¼ÖУ¬ÈκÎÈ˽¨Á¢µÄÎļþ£¬¶¼»áÊôÓÚĿ¼ËùÊôµÄ×é¡£
rm -rf test  //ɾ³ý֮ǰµÄtestĿ¼
mkdir test // ÔÚµ±Ç°Ä¿Â¼´´½¨Ò ......

linux signalº¯Êý

CÓïÑÔÖеijéÏóº¯Êý¶¨ÒåÒ²¾ÍÊÇʹÓÃÁ˺¯ÊýÖ¸Õ룬ÕâÀïÓÃsignalº¯Êý½âÊÍһϳéÏóº¯Êý¶¨ÒåµÄº¬ÒåºÍ¹æÔò¡£
signalº¯Êý¶¨ÒåΪ£º
void (   * signal (int signum , void (*handler)(int)  )   )(int);
 
¿ÉÒÔÕâÑù¶¨Òå
typedef  void(* handler) (int)
handler signal(int signum,handler) ......

¹ØÓÚLinuxµÄÊÓÆµ±à³Ì(v4l2±à³Ì)

ǰÑÔ£º
ĿǰÕýÔÚæÓÚARMƽ̨µÄLinuxÓ¦ÓóÌÐòµÄ¿ª·¢£¨ÆäʵÊÇ¸Õ¸ÕÆð²½Ñ§Ï°À²£©¡£µ×²ãµÄ¶«Î÷²»Óÿ¼ÂÇÁË£¬¿ª·¢°å×ÓÌṩÁËNAND Bootloader£¬ºÍLinux 2.6µÄÔ´Â룬¶øÇÒ¶¼±àÒëºÃÁË¡£×Ô¼º±àÒëµÄbootloader¿ÉÒÔÓ㬵«ÊÇLinux±àÒëºó£¬ÎļþºÜ´ó£¬ÔÝÇÒ¾ÍÓÃÈ˼ұàÒëµÄϵͳ£¬ÏÈרÐÄдӦÓóÌÐò °É¡£¡£
ÕýÎÄ£ºÒª×öµÄÈÎÎñÊÇ£¬°ÑÒ»¿é°å×ÓÉ쵀 ......

linux²¶»ñKILLÃüÁîµÄÐźÅ

linuxÖÐÒ»¹²ÓÐ32ÖÖÐźţ¬ÔÚ/usr/include/bits/signum.h Í·ÎļþÖпÉÒÔ¿´µ½
#define    SIGHUP        1    /* Hangup (POSIX).  */
#define    SIGINT        2    /* Interrupt (ANSI).& ......

LinuxÓÃNasmÇÉ»ã±à

Ëæ×ÅLinuxµÄÆÕ¼°£¬ÈçºÎÔÚLinuxƽ̨ϽøÐбà³Ì£¬ÓÈÆäÊÇ»ã±à³ÉΪ´ó¼Ò¹Ø×¢µÄÒ»¸öÎÊÌ⣬µ«ÊÇÕâ·½Ãæ×ÊÁÏÈ´ºÜÉÙ¡£ÔÚ±é·ÃÍøÕ¾ºÍÂÛ̳ºó£¬ÎÒ°ÑÊÕ¼¯µ½µÄ×ÊÁϽáºÏ±¾ÈË×ܽáµÄһЩ¾­Ñé¸ú´ó¼Ò·ÖÏíһϡ£
Nasm½éÉÜ
LinuxϵĻã±à±àÒëÆ÷ÓжàÖÖ£¬Óï·¨Ò²²»¾¡Ïàͬ£¬ÆäÖÐGASÊDZȽϻù±¾µÄ»ã±à¹¤¾ß¡£µ«ÊÇGAS²ÉÓõIJ»ÊÇÎÒÃÇͨ³£ÔÚDOSÌåϵÏÂʹÓà ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ