LinuxÄں˼°ARMµÄÄÚ´æ¹ÜÀí
Ò»¸öÈ˲ªÒ»´Î²»ÄÑ£¬ÄѵÄÊDzªÒ»±²×Ó……
×î½ü·ÖÐĵÄʺܶ࣬²ªµÃÔ½À´Ô½ÉÙÁË£¡
´ò¿ªmmuÊÇÒ»¼þÉñÊ¥µÄ¹¤×÷£¬ÐèÒª×Ðϸ¡¢ÔÙ×Ðϸ……
´Ó__v7_setupº¯Êý·µ»ØÀ´£¬½øÈëµ½__enable_mmu¹ý³Ì£¬×öÆð·ÉǰµÄ×îºóÈ·ÈÏ£º
__enable_mmu:
#ifdef CONFIG_ALIGNMENT_TRAP
orr r0, r0, #CR_A
#else
bic r0, r0, #CR_A
#endif
¸ù¾ÝÅäÖÃÑ¡Ï¾ö¶¨ÊÇ·ñ´ò¿ªÊý¾Ý¶ÔÆë¼ì²é£¬Ò»°ãÊÇÒª´ò¿ªµÄ£»
#ifdef CONFIG_CPU_DCACHE_DISABLE
bic r0, r0, #CR_C
#endif
¸ù¾ÝÅäÖÃÑ¡Ï¾ö¶¨ÊÇ·ñ¹Ø±Õ¿ªÊý¾Ý»º³åÇø£¬Ò»°ãÊDz»ÐèÒª¹Ø±ÕµÄ£»
#ifdef CONFIG_CPU_BPREDICT_DISABLE
bic r0, r0, #CR_Z
#endif
¸ù¾ÝÅäÖÃÑ¡Ï¾ö¶¨ÊÇ·ñÒª¹Ø±Õ·ÖÖ§Ô¤²â¹¦ÄÜ£¬Ò»°ãÊDz»ÐèÒª¹Ø±ÕµÄ£»
#ifdef CONFIG_CPU_ICACHE_DISABLE
bic r0, r0, #CR_I
#endif
¸ù¾ÝÅäÖÃÑ¡Ï¾ö¶¨ÊÇ·ñ¹Ø±Õ¿ªÖ¸Á³åÇø£¬Ò»°ãÊDz»ÐèÒª¹Ø±ÕµÄ£»
mov r5, #(domain_val(DOMAIN_USER, DOMAIN_MANAGER) | \
domain_val(DOMAIN_KERNEL, DOMAIN_MANAGER) | \
domain_val(DOMAIN_TABLE, DOMAIN_MANAGER) | \
domain_val(DOMAIN_IO, DOMAIN_CLIENT))
½áºÏÊý¾ÝÊֲᣬ´Ë¶ÎÊǽ«D0¡¢D1Á½¸öÓò£¬D1¶ÔÓ¦ÓÚUSERÓò£¬D0¶ÔÓ¦ÓÚKERNELºÍTABLEÓò£¬ÅäÖÃΪ¹ÜÀíģʽ£¬¶ÔÕâÁ½¸öÓòµÄ·ÃÎʺÍÖ´Ðв»ÊÜTLBÖÐÏàÓ¦±ê־λӰÏ죬D2Óò£¬¶ÔÓ¦ÓÚIOÓò£¬ÅäÖÃΪ¿Í»§Ä£Ê½£¬¶Ô´ËÓòµÄ·ÃÎÊÊÜTLBÖÐÏàÓ¦±ê־λµÄ¼ì²é£»
mcr p15, 0, r5, c3, c0, 0 @ load domain access register
дÈëÓò·ÃÎÊ¿ØÖƼĴæÆ÷£¬ÆäʵºÍ__v7_setupº¯ÊýÖÐдÈëµÄÖµÏàͬ£»
mcr p15, 0, r4, c2, c0, 0 @ load page table pointer
__v7_setupº¯ÊýÖÐÒ²ÒѾд¹ýÕâ¸ö¼Ä´æÆ÷ÁË£»
b __turn_mmu_on
__turn_mmu_on¾ÍÔÚºóÃæ½ô¸ú×Å£¬²»Ã÷°×ΪºÎ»¹Òªbһϣ»
ENDPROC(__enable_mmu)
ÔÙ¿´¿´½ô½Ó×ŵÄ__turn_mmu_onº¯Êý£º
/*
* Enable the MMU. This completely changes the structure of the visible
* memory space. You will not be able to trace execution through this.
* If you have an enquiry about this, *please* check the linux-arm-kernel
* mailing list archives BEFORE sending another post to the list.
*
* r0 = cp#15 control register
* r13 = *virtual* address to jump to upon co
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
É󼯏ú×ÙLinuxµÄÒì³£»î¶¯
Zhaoke, 2007-01-29
һЩÒì³£Óû§ÊÔÍ¼ÒÆÈ¥ÏµÍ³ÉϵÄËùÓл¼Ç¼(±ÈÈç ~/.bash_history), ²»¹ýÎÒÃÇ¿ÉÒÔʹÓÃרÃŵŤ¾ßÀ´¼àÊÓËùÓÐÓû§Ö´ÐеÄÃüÁî. ÍÆ¼öÄãʹÓýø³Ì¼ÇÕÊÀ´¼Ç¼Óû§µÄ»î¶¯, Äã¿ÉÒÔͨ¹ý½ø³Ì¼ÇÕʲ鿴ÿһ¸öÓû§Ö´ÐеÄÃüÁî, °üÀ¨CPUʱ¼äºÍÄÚ´æÕ¼ÓÃ.
psacct³ÌÐòÌṩÁ˼¸¸ö½ø³Ì»î¶¯¼àÊ ......
µÚÒ»´Î½Ó´¥u-bootÒÆÖ²£¬²ËÄñÒ»¸ö£¬É¶¶¼²»¶®µÃ£¬ÔÚÍøÉÏתÁ˺ܾ㬾ö¶¨»¹ÊÇÏÈ½è¼øÒ»Ï±»È˵ľÑé°É£¡£¡£¡ÎҲο¼µÄÎÄÕÂÊÇ
http://www.diybl.com/course/6_system/linux/Linuxjs/2008727/134020_2.html£¬Õâ¸öÎÄÕ¶ÔÎÒÀ´Ëµ£¬ÕæÊDz»´í£¬¸Ä¶¯µÄ¶«Î÷±È½ÏÉÙ£¬ÎÒϲ»¶£¬^_^£¬¶ÔÓÚÕâÆªÎÄÕ£¬ÎÒÏë˵Ã÷¼¸µãµÄÊÇ£ºÔÚ²¿·Ö(Ò»)µÄµÚÎå²½µ±ÖУ ......
1. ´ò¿ª´®¿Ú
¡¡¡¡ÓëÆäËûµÄ¹ØÓÚÉ豸±à³ÌµÄ·½·¨Ò»Ñù£¬ÔÚLinuxÏ£¬²Ù×÷¡¢¿ØÖÆ´®¿ÚÒ²ÊÇͨ¹ý²Ù×÷ÆðÉ豸Îļþ½øÐеġ£ÔÚLinuxÏ£¬´®¿ÚµÄÉ豸ÎļþÊÇ/dev/ttyS0»ò/dev/ttyS1µÈ¡£Òò´ËÒª¶Áд´®¿Ú£¬ÎÒÃÇÊ×ÏÈÒª´ò¿ª´®¿Ú£º
¡¡
¡¡¡¡char *dev = "/dev/ttyS0"£» //´®¿Ú1
¡¡
¡¡¡¡int fd = open£¨ dev£¬ O_RDWR £©£»
¡¡
¡¡¡¡//| O_NOCT ......
LinuxϵͳÐÔÄÜÖ¸±ê½éÉÜ
ת×ÔAndrew(http://andrew913.javaeye.com/blog/431259)
ÔÚ
ÎÒÃǽéÉÜLinuxϵͳµÄ¸÷ÖÖµ÷ÓŲÎÊýºÍÐÔÄܼà²â¹¤¾ß֮ǰ£¬ÐèÒªÏÈÌÖÂÛһЩ¹ØÓÚÐÔÄܵ÷ÓŵIJÎÊý¡£ÒòΪLinuxÊÇÒ»¸ö¿ªÔ´²Ù×÷ϵͳ£¬ËùÒÔÓÖ´óÁ¿¿ÉÓõÄÐÔÄÜ
¼à²â¹¤¾ß¡£¶ÔÕâЩ¹¤¾ßµÄÑ¡ÔñÈ¡¾öÓÚÄãµÄ¸öÈËϲºÃºÍ¶ÔÊý¾Ýϸ½ÚµÄÒªÇó¡£Ë ......