¹ØÓÚǶÈëʽLinuxϵͳµÄÆô¶¯(ת)
#1
¹ØÓÚǶÈëʽϵͳµÄÆô¶¯
(SHARE FOR ALL)
ǶÈëʽ
Linux
Æô¶¯·ÖΪÁ½¸ö²¿·Ö£¬ÏµÍ³Òýµ¼Óë
Linux
Æô¶¯¡£ÏµÍ³Òýµ¼½«Íê³É
Linux
×°ÈëÄÚ´æÇ°£¬³õʼ»¯
CPU
ºÍÏà¹Ø
IO
É豸£¬²¢½«
Linux
µ÷ÈëÄÚ´æµÄ¹¤×÷¡£ÏµÍ³Òýµ¼Ö÷ÒªÓÉ
BootLoader
ʵÏÖ¡£ÔÚ
BootLoader
½«
Linux
Äں˵÷ÈëÄÚ´æÖ®ºó£¬½«È¨Á¦½»¸ø
LinuxKernel
£¬½øÈë
Linux
µÄÆô¶¯²¿·Ö¡£ÒÔÏÂÏêϸ·ÖÎöÆô¶¯µÄ¹ý³ÌÓëʹÓõÄÎļþ¡£
Ò»¡¢ÏµÍ³Òýµ¼Óë
BootLoader
BootLoader
ÒòǶÈëʽϵͳµÄ²»Í¬Óë
PC
»úÓкܴó²»Í¬£¬ÕâÀォÒÔ
Hyper250(Inter Xscale GDPXA250)
µÄÆô¶¯ÎªÀýÀ´·ÖÎö¡£ÓÉÓÚûÓÐ
BIOS
Çý¶¯Ö÷°å£¬
EnbeddedOS
±ØÐëÓÉ
bootloader
Çý¶¯ËùÓеÄÓ²¼þ£¬²¢Íê³ÉÓ²¼þµÄ³õʼ»¯¹¤×÷¡£
ËùÓеijõʼ»¯ÎļþÔÚ
hyper250/Bootloader
Ŀ¼Ï¡£
Ê×ÏÈ·ÖÎö¿ª»úÔËÐеķּþ£º
hyper250/Bootloader/X-Hyper250R1.1-Boot/src/start_xscale.S
Îļþ°üº¬Á½¸ö¿âÎļþ£º
hyper250/Bootloader/X-Hyper250R1.1-Boot/src/include/config.h
hyper250/Bootloader/X-Hyper250R1.1-Boot/src/include/start_xscale.h
Îļþ
config.h
Ö÷ÒªÍê³Éϵͳ¸÷Ó²¼þµÄºê¶¨ÒåÓëÉ趨£¬
xscale.h
Ö÷ÒªÍê³É¶ÔϵͳоƬµÄ¼°ÏµÍ³²Ù×÷µÄÉ趨¡£
ÒÔÏ·ÖÎö
config.h
Îļþ£º
(1)
´æ´¢×ÜÏßÉ豸µÄºê¶¨Ò壺¶¨Òå
Flash
µÄ´óС¡¢×Ö³¤µÈÐÅÏ¢£¬¶¨Òå
SRAM
µÄ»ùÖ·¡¢´óСºÍ¿é´óС¡£
(2)
¶¯Ì¬ÄÚ´æÉ趨£º¶¨Òå
DRAM
µÄ´óС¡¢»ùÖ·¡£
(3)
Èí¼þ°üÐÅÏ¢£º°üÃû³Æ¡¢°æ±¾ºÅ¡£
(4)
É趨
BOOT LOADER
µÄλÖãºÔÚ
DRAM
ºÍ
SRAM
µÄ×î´óÖµ¡¢
DRAM
×°ÈëλÖá¢Õ»µÄ»ùÖ·¡£
(5)
É趨
kernel
µÄλÖãºÔÚ
DRAM
ºÍ
SRAM
µÄ»ùÖ·¡¢
KERNEL
µÄ×î´óÖµ¡¢
KERNEL
ÖпéµÄÊýÁ¿¡£
(6)
É趨ÎļþϵͳµÄλÖ㺸ùĿ¼ÔÚ
DRAM
ºÍ
SRAM
µÄ
Ïà¹ØÎĵµ£º
Linux»·¾³½ø³Ì¼äͨÐÅ£¨Ò»£©¹ÜµÀºÍÓÐÃû¹ÜµÀ
ÔÚ±¾ÏµÁÐÐòÖÐ×÷Õ߸ÅÊöÁË linux ½ø³Ì¼äͨÐŵļ¸ÖÖÖ÷ÒªÊֶΡ£ÆäÖйܵÀºÍÓÐÃû¹ÜµÀÊÇ×îÔçµÄ½ø³Ì¼äͨÐÅ»úÖÆÖ®Ò»£¬¹ÜµÀ¿ÉÓÃÓÚ¾ßÓÐÇ×Ôµ¹ØÏµ½ø³Ì¼äµÄͨÐÅ£¬ÓÐÃû¹ÜµÀ¿Ë·þÁ˹ܵÀûÓÐÃû×ÖµÄÏÞÖÆ£¬Òò´Ë£¬³ý¾ßÓйܵÀËù¾ßÓеŦÄÜÍ⣬Ëü»¹ÔÊÐíÎÞÇ×Ôµ¹ØÏµ½ø³Ì¼äµÄͨÐÅ¡£ ÈÏÇå¹ÜµÀºÍÓÐÃû¹ÜµÀµÄ¶ÁÐ ......
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <pthread.h>
#include <assert.h>
void * routine(void * arg);
int pool_add_job(void *(*process)(void * arg),void *arg);
int pool_init(unsigned int thread_num);
int po ......
±àÒëµ¥¸öÔ´Îļþ
ΪÁ˽øÐвâÊÔ£¬Äã¿ÉÒÔ´´½¨“Hello World”³ÌÐò£º
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
printf(”Hello world!\n”);
exit(0);
}
ʹÓÃÈçÏÂÃüÁî±àÒë²¢²âÊÔÕâ¸ö´úÂ룺
# gcc -o hello hello.c
# ./hello
Hello wordl!
ÔÚÄ ......
ÏÖÔÚ´ó¶àÊý¸ßËÙÎÞÏßÉÏÍø¿¨¶¼ÄÚÖô洢¿Õ¼ä£¬ÓÃÓÚ´æ´¢Çý¶¯³ÌÐòºÍ²¦ºÅÈí¼þµÈ¡£µ±Ê״ν«ÕâÖÖÉ豸²åÈëUSB½Ó¿Úʱ£¬¸ÃÉ豸±»Ê¶±ðΪCD£ROM£¬Çý¶¯³ÌÐòºÍ²¦
ºÅÈí¼þ¾ÍÔÚÆäÖС£µ±°²×°ÍêÍø¿¨µÄÇý¶¯³ÌÐòºó£¬Ôٴν«Æä²åÈëʱ£¬Ôò±»Ê¶±ðΪModemµÈÉ豸£¬ÎÒµÄÕâ¸öÍø¿¨»¹¿ÉÒÔ²åMicro-SD¿¨£¬Í¬Ê±×÷UÅÌÓá£ÒÔÉÏ
ÕâЩºÃÏñ³ÆÎªZeroCD¼¼Êõ¡£
ÔÚÉÏ ......
linuxÖеĴ󲿷ÖÇý¶¯³ÌÐò,ÊÇÒÔÄ£¿éµÄÐÎʽ±àдµÄ.ÕâЩÇý¶¯³ÌÐòÔ´Âë¿ÉÒÔÐ޸ĵ½ÄÚºËÖÐ,Ò²¿ÉÒÔ°ÑËûÃDZàÒë³ÉÄ£¿éÐÎÊÆ,ÔÚÐèÒªµÄʱºò¶¯Ì¬¼ÓÔØ.
Ò»¸öµäÐ͵ÄÇý¶¯³ÌÐò,´óÌåÉÏ¿ÉÒÔ·ÖΪÕâô¼¸¸ö²¿·Ö:
1¡¢×¢²áÉ豸
ÔÚϵͳ³õÆô,»òÕßÄ£¿é¼ÓÔØÊ±ºò,±ØÐ뽫É豸µÇ¼Çµ½ÏàÓ¦µÄÉ豸Êý×é,²¢·µ»ØÉ豸µÄÖ÷Çý¶¯ºÅ,ÀýÈç:¶Ô¿ìÉ豸À´Ëµµ÷ÓÃrefister_b ......