ʹÓÃDDD¿ª·¢ARM Linux³ÌÐò
ʹÓÃDDD+GDB¿ª·¢ARM Linux³ÌÐò
½ñÌìÓÖÈ¡µÃÁËһЩ½øÕ¹£¬¸Ï¿ìдÏÂÀ´ÒÔÃâ×Ô¼ºÍü¼Ç¡£
×Ô´ÓLinuxÔÚÎҵİå×ÓÉÏÅÜÆðÀ´Ö®ºó£¬ÎÒÒ»Ö±ÔÚÏëÒ»¸öÎÊÌ⣬Ôõôµ÷ÊÔ½«À´Ð´µÄ³ÌÐò¡£ÆäʵÎÒÔÚLinux¿ª·¢·½ÃæÕæµÃºÜÍâÐУ¬µ½Á˽ñÌì²ÅÖªµÀGDBµ½µ×ÊÇ ¸ÉʲôÓõģ¬ºÇºÇ¡£ÎÒÏàÐźܶàÈË´ÓBootloaderµ÷ÊÔ¿ªÊ¼Ò»Ö±¶¼Ê¹ÓÃLED°¡£¬printfÕâÑùµÄ·½·¨À´µ÷ÊÔ¡£ÎÒ×ö±ÏÉèʱ£¬¾ÍÊÇÔÚMTDBLOCK ÀïÃæ»®³öÒ»¸öUSER·ÖÇø£¬È»ºó°Ñ±àÒëºÃµÄ³ÌÐò·ÅÈëÎļþϵͳӳÏñ£¬Í¨¹ýBootloaderÓô®¿Úϵ½NANDÀȻºómountÉϵ÷ÊÔ£¬ÊµÔںܻ¨Ê±¼ä¡£ ½ñÌ죬°×³ÕµÄÎÒÖÕÓÚÕÒµ½ÁËÒ»Ìõ½Ý¾¶£¬ÒѾ²»¿ÈËÔÁË£¡
ÏȽéÉÜÏÂDDDºÍGDB£¬GDBÊÇÒ»ÖÖÓÃÓÚµ÷ÊÔLinuxϳÌÐòµÄ¹¤¾ß£¬Ëü²»½öÄܵ÷ÊÔC/C++£¬»¹¿ÉÒÔµ÷ÊÔPascalµÈºÜ¶àÆäËûÓïÑÔ¡£ÎÒÃÇ¿´¸öÀý×Ó£º ¼ÙÉèÓÐÒ»¸ö³ÌÐò½Ð×ötest.c£¬ÒªÓÃGDBµ÷ÊÔËü£¬Ê×ÏÈ£¬±àÒëµÄʱºòÐèÒª¼ÓÉϲúÉúdebugÐÅϢѡÏî“-g”£¬Èç#arm-linux-gcc test.c -o test -g£»È»ºó£¬ÓÉÓÚÎÒÃDz¢²»ÊÇ¿ª·¢±¾»ú³ÌÐò£¬ÔÚÄ¿±ê»ú£¨arm£©ÉÏÐèÒªÓÃÒ»¸öserverÆô¶¯Õâ¸öº¬Óе÷ÊÔÐÅÏ¢µÄ³ÌÐò£¬µ±È»£¬±¾»úºÍÄ¿±ê»úÖ®¼äµÃÓÐÒ»¶¨µÄÊý ¾Ý¹²Ïí·½Ê½£¨Èçnfs£©ºÍÒ»¶¨µÄͨÐÅ·½Ê½£¨ÈçÒÔÌ«Íø»ò´®¿Ú£©£»×îºó£¬ÔÚ±¾»úÉÏÆô¶¯Ò»¸öGDB¿Í»§¶Ë£¬¾Í¿ÉÒԵǽµ½Ä¿±ê»úµÄserverÉϵ÷ÊÔ³ÌÐòÁË¡£ GDBµÄÔÀíÍøÉÏÒ²ÓкܶàÎÄÕÂ˵£¬¿ÉÒÔËÑË÷Ï£¬µ«ÊÇÎÒÊdzõѧÕߣ¬¾Í²»È¥¿´ÄÇЩÄÚÈÝÁË¡£ÎªÁËÈôó¼Ò¸ü¼ÓÃ÷È·GDBºÍDDDµÄÇø±ð£¬ÎÒÃÇÏÈ¿´Ò»¸öGDBµÄµ÷ÊÔ ¹ý³Ì£º
ÎÒͨ¹ýÒÔÌ«Íøµ÷ÊÔ£¬±¾»úIPµØÖ·192.168.2.31£¬Ä¿±ê»ú£¨arm¿ª·¢°åIPµØÖ·192.168.2.223£©£¬±¾»úͨ¹ýnfs¹²Ïí¿ª·¢Ä¿Â¼lgraphics¡£
Ê×Ïȱ¾»úÉϱàÒ룺
lxz@lxzlinux:~/lgraphics> arm-linux-gcc lgraphics.c -o lg -g
Çл»µ½Ä¿±ê»ú£º
[root@(none) lgraphics]# gdbserver 192.168.2.31:2345 lg
Process lg created; pid = 402
Listening on port 2345
Çл»µ½±¾»ú£º
lxz@lxzlinux:~/lgraphics> arm-linux-gdb lg
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-linux"...
(gdb) target remote 192.168.2.223:23
Ïà¹ØÎĵµ£º
ÎÞÂÛ΢ÈíÈçºÎרעÓÚ×ÀÃæ£¬XµÄÉè¼Æ»¹ÊÇÄÜÈÃËûÃǺ¹ÑÕ¡£±È½ÏÒ»ÏÂWindowsÔ¶³Ì×ÀÃæ(2008ServerÖÕÓÚÓÐËù¸Ä½ø)ºÍXת·¢µÄЧ¹û¾Í¿ÉÒÔÀí½â£¬ÎªÊ²Ã´*nixµÄÊÀ½çÀïÏÔʾGUI»·¾³ÒÀ¿¿µÄ¾¹È»ÊÇServer-Client¼Ü¹¹¡£
ÔÚWindowsÏ£¬Ö»ÒªÊµÏÖÁ½¸öÒªËØ¾Í¿ÉÒÔʵÏÖXµÄת·¢£º1.X Server·þÎñ£»2.ssh¿Í»§¶Ë¡£Ç°Õß¿ÉÒÔÓÃXming£¬ºóÕß¿ÉÒÔÓÃputty»òopenS ......
£¨1£©ÔÚ\drivers\input\Input.cÖС£
A£¬subsys_initcall(input_init);
B£¬static int __init input_init(void)ÖÐÍê³É¼¸¸öÖØÒªµÄ²Ù×÷£º
err = class_register(&input_class);ÒÔÊäÈëÀ෽ʽע²áÀà
input_proc_init(); //´´½¨procϵÄĿ¼ºÍ ......
alarm£¨ÉèÖÃÐźŴ«ËÍÄÖÖÓ£©
Ïà¹Øº¯Êý signal£¬sleep
±íÍ·Îļþ #include<unistd.h>
¶¨Ò庯Êý unsigned int alarm(unsigned int seconds);
º¯Êý˵Ã÷ alarm()ÓÃÀ´ÉèÖÃÐźÅSIGALRMÔÚ¾¹ý²ÎÊýsecondsÖ¸¶¨µÄÃëÊýºó´«Ë͸øÄ¿Ç°µÄ½ø³Ì¡£Èç¹û²ÎÊýseconds Ϊ0£ ......
&&
ÃüÁî1 && ÃüÁî2 Èç¹ûÕâ¸öÃüÁî1Ö´Ðгɹ¦& &ÄÇôִÐÐÕâ¸öÃüÁîÃü2
mv myfile myfile2 && echo "if you are seeing this then mv was success!"
||
Èç¹û| |×ó±ßµÄÃüÁÃüÁî1£©Î´Ö´Ðгɹ¦£¬ÄÇô¾ÍÖ´ÐÐ| |ÓұߵÄÃüÁî(ÃüÁî2£©
mv myfile myfile2 & ......
Ò»¡¢Ê×ÏÈҪ׼±¸±ØÐëµÄÈí¼þ£¬ÎÒÑ¡Óõİ汾ÈçÏ£º
apr-1.4.2£¬ÏÂÔØµØÖ·£ºhttp://archive.apache.org/dist/apr/
apr-util-1.3.9£¬ÏÂÔØµØÖ·£ºhttp://archive.apache.org/dist/apr/
apache£¨httpd-2.2.9£©£¬ÏÂÔØµØÖ·£ºhttp://archive.apache.org/dist/httpd/
SQLite-2.6.23.1£¬ÏÂÔØµØÖ·£ºhttp://www.sqlite.org/
neon- ......