linuxÄÚºËÒÆÖ²s3c2410£¬ÒÆÖ²Õýʽ¿ªÊ¼1
ÔÚÇ°ÃæµÄ×¼±¸¹¤×÷Íê³ÉÖ®ºó£¬ÏÈʵÑéһϣ¬Ì¸²»ÉÏÕæÕýµÄÒÆÖ² £¬ÒòΪ´úÂ붼ûÓиĵġ£
Ê×ÏÈÐ޸Ķ¥²ãµÄMakefile£¬ÐÞ¸ÄARCH,CROSS_COMPLIE±äÁ¿¡£
#ARCH ?= $(SUBARCH)
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
Ö´ÐÐmake smdk2410_defconfig
make
È»ºóÖ´ÐÐmake uImage£¬×¢ÒâÐèÒªº¬ÓÐmkimage¹¤¾ß£¬Õâ¸ö¹¤¾ßÊÇÔÚ±àÒëubootʱ²úÉúµÄ£¬Í¬Ê±ÐèÒª½«mkimage¿½±´µ½path
»·¾³±äÁ¿ÖС£
×îÖÕÔÚarch/arm/boot/Ŀ¼ÏÂÉú³ÉuImageÎļþ£¬ÏÂÔØ¸ÃÎļþµ½¿ª·¢°åÖУ¬¼È¿ÉÒÔ¹Û²ì½á¹û£¬µ±È»´ËʱÊÇûÓÐÎļþϵͳµÄÖ§³Ö£¬
Äں˿϶¨ÊÇÆô¶¯²»ÆðÀ´µÄ¡£
ΪÁË¿ªÊ¼Äں˴úÂëµÄÒÆÖ²£¬Ê×ÏȱØÐëµÃÁ˽âÄÚºËµÄÆô¶¯¹ý³Ì¡£
ÄÚºË×îÏÈÖ´ÐеĴúÂëÊÇÔÚarch/arm/kernel/head.SÎļþ£¬¸ÃÎļþÖ»ÐèÒª¹Ø×¢ÏÂÃæµÄÒ»¶Î´úÂ룺
.section ".text.head", "ax"
.type stext, %function
ENTRY(stext)
msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode
@ and irqs disabled
mrc p15, 0, r9, c0, c0 @ get processor id
bl __lookup_processor_type @ r5=procinfo r9=cpuid
movs r10, r5 @ invalid processor (r5=0)?
beq __error_p @ yes, error 'p'
bl __lookup_machine_type @ r5=machinfo
movs r8, r5 @ invalid machine (r5=0)?
beq __error_a @ yes, error 'a'
bl
Ïà¹ØÎĵµ£º
ÓÃpscp ÔÚWindowsÓëLinuxÖ®¼ä´«ÊäÎļþ
putty¹¤¾ßÔÚÎÒµÄÏÂÔØÖÐÓÐ
²½ÖèÈçÏ£º
1. Õû¸öÁ÷³ÌÊÇÕâÑù£¬ÔÚwindowsµÄÃüÁîÐÐÏ£¬ÓÃpscpÃüÁî°ÑÎļþ´ÓwindowsÖ¸¶¨Ä¿Â¼·¢Ë͵½linuxÖ¸¶¨Ä¿Â¼£»»òÕßÊÇÎļþ´ÓlinuxÖ¸¶¨Ä¿Â¼ÏÂÔØµ½windowsÖ¸¶¨Ä¿Â¼ÖС£
Á½ÖÖ´«ÊäÎļþµÄ·½Ê½¶¼ÊÇÔÚWindowsϵͳϲÙ×÷µÄ£¬linuxÏµÍ ......
¡¡ls ÃüÁî¿ÉÒÔ˵ÊÇlinuxÏÂ×î³£ÓõÄÃüÁîÖ®Ò»¡£ËüÓÐÖÚ¶àµÄÑ¡ÏÆäÖÐÓкܶàÊǺÜÓÐÓõģ¬ÄãÊÇ·ñÊìÏ¤ÄØ£¿ÏÂÃæÁгöÁË ls ÃüÁîµÄ¾ø´ó¶àÊýÑ¡Ïî¡£
¡¡¡¡-a ÁгöĿ¼ÏµÄËùÓÐÎļþ£¬°üÀ¨ÒÔ . ¿ªÍ·µÄÒþº¬Îļþ¡£
¡¡¡¡-b °ÑÎļþÃûÖв»¿ÉÊä³öµÄ×Ö·ûÓ÷´Ð±¸Ü¼Ó×Ö·û±àºÅ(¾ÍÏóÔÚCÓïÑÔÀïÒ»Ñù)µÄÐÎʽÁгö¡£
¡¡¡¡-c Êä³öÎļþµÄ i ½ÚµãµÄÐÞ¸Äʱ ......
1 ÒýÑÔ
¡¡¡¡Ị̈߳¨thread£©¼¼ÊõÔçÔÚ60Äê´ú¾Í±»Ìá³ö£¬µ«ÕæÕýÓ¦ÓöàÏ̵߳½²Ù×÷ϵͳÖÐÈ¥£¬ÊÇÔÚ80Äê´úÖÐÆÚ£¬solarisÊÇÕâ·½ÃæµÄٮٮÕß¡£´«Í³µÄUnixÒ²Ö§³ÖÏ̵߳ĸÅÄµ«ÊÇÔÚÒ»¸ö½ø³Ì£¨process£©ÖÐÖ»ÔÊÐíÓÐÒ»¸öỊ̈߳¬ÕâÑù¶àÏ߳̾ÍÒâζ×Å¶à½ø³Ì¡£ÏÖÔÚ£¬¶àÏ̼߳¼ÊõÒѾ±»Ðí¶à²Ù×÷ϵͳËùÖ§³Ö£¬°üÀ¨Windows/NT£¬µ±È»£¬Ò²°üÀ¨Linux¡£
......
ÎÒ×î½üµÄ¹¤×÷ÊÇÔÚlinux»·¾³Ï²âÊÔÒ»¸ö.soµÄ¶¯Ì¬¿â£¬ÎÒÔÝʱÃüÃûΪlibdawn.so,ÊÇͬÊÂʵÏֵģ¬ÎÒÐèÒªÔÙÎҵIJâÊÔ³ÌÐòÖмÓÔØÕâ¸ö¿â£¬²¢µ÷ÊԸÿ⣬ÎÒÓõıàÒë»·¾³ÊÇEclipse.
1. ÔÚEclipse->Project->Properities->c/c++ Build->setting->gcc c++ Linker(Èç¹ûÊÇÓÃgcc c±àÒëµÄÔòÑ¡gcc c Linker)->Libraries ......
ÏÂÃæµÄÎļþµÄʹÓ÷½·¨ÊÇ£º½«ÏÂÃæµÄÎļþ±£´æÔÚlinuxÄÚºËÔ´ÂëĿ¼ÖУ¬ÎļþµÄÃû³ÆÊÇ.config£¬È»ºómake menuconfig,ÔÚ³öÏÖ
µÄÅäÖýçÃæÖÐÑ¡ÔñLoad ConfiguratioÑ¡ÏȻºó¿ÉÒÔÔÚÕâ¸ö»ù´¡ÉÏÐÞ¸Ä×Ô¼ºµÄkernel¡£ÏÂÃæµÄÅäÖÃÊÇ»ùÓÚs3c2410£¬Ö§³Öyaffs2
Îļþϵͳ¡£ÎÒ¿´ÁËһϱàÒë³öÀ´µÄuImage´ó¸ÅÔÚ800k×óÓÒ£¬ºÇºÇôÕâÊDZ¾È˵ÚÒ»´Î³É ......