音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

[原創(chuàng)]構(gòu)建嵌入式LINUX的NFS

作者:liuv8088 欄目:ARM技術(shù)
[原創(chuàng)]構(gòu)建嵌入式LINUX的NFS
http://www.bluemcu.com
構(gòu)建嵌入式LINUX的NFS
準(zhǔn)備工作:
一臺(tái)裝有REDHAT9.0的PC機(jī),一套LJD2410-I開(kāi)發(fā)板,PC機(jī)上裝有LJD2410的軟件包,假如我們通過(guò)NFS要加載的文件系統(tǒng)為/LJD2410/root_dir/root_china,
Ifconfig eth0 192.168.1.100  //設(shè)置PC機(jī)linux的IP:192.168.1.100,
Ifconfig eth0 192.168.1.10  //開(kāi)發(fā)板IP:192.168.1.10
    
    我們需要重新配置編譯內(nèi)核,開(kāi)啟開(kāi)發(fā)板NFS文件系統(tǒng)功能,具體步驟如下:
    1、 修改kernel/arch/arm/def-configs/smdk2410配置文件
         把CONFIG_CMDLINE="root=/dev/mtdblock2 noinitrd init=/linuxrc
         console=ttyS0"這一行改為CONFIG_CMDLINE="root=/dev/nfs rw
         nfsroot=192.168.1.100:/LJD2410/root_dir/root_china noinitrd
         init=linuxrc console=ttys0 ip=192.168.1.10"
運(yùn)行make menuconfig進(jìn)入配置菜單,裝載配置文件SMDK2410
    選擇Load an Alternate Configuration File輸入配置文件的路徑和文件名
添加內(nèi)核對(duì)NFS的支持:
選中networking options-》IP:kernel level auloconfiguralion項(xiàng)
        選中file SYSTEMs-》network file SYSTEMs-》下的root file SYSTEM on nfs和nfs file SYSTEM SUPPORT
重新編譯內(nèi)核下載bootloader和kernel到開(kāi)發(fā)板上,至此,開(kāi)發(fā)板設(shè)置已經(jīng)完成。
            PC機(jī)設(shè)置:我們必須開(kāi)啟PC機(jī)的NFS服務(wù),具體設(shè)置如下:1、 在LINUX命令符下運(yùn)行setup,在SYSTEM services里面選中nfs服務(wù),然后保存退出。

2、  設(shè)置PC機(jī)上的共享目錄執(zhí)行vi /etc/exports,在里面添加一行:/LJD2410/root_dir/root_china  (rw),然后保存退出,/和rw要有空格(/LJD2410/root_dir/root_china為共享目錄,rw為讀寫(xiě)權(quán)限)。
3、  執(zhí)行/etc/rc.d/init.d/nfs restart重啟nfs服務(wù)。
    4、為了不必每次開(kāi)機(jī)都要啟動(dòng)nfs服務(wù),我們把/etc/rc.d/init.d/nfs restart
       添加到/etc/rc.d/rc.local中,以后PC啟動(dòng)的時(shí)候就會(huì)執(zhí)行此文件開(kāi)啟nfs服務(wù)。
    5、 測(cè)試NFS服務(wù):設(shè)置完成后可以在本機(jī)上進(jìn)行測(cè)試,如果本機(jī)IP為192.168.1.100,則可以用
mount  192.168.1.100:/LJD2410/root_dir/root_china /mnt,如果mount成功,則在/mnt的目錄就可以看到root_china下面的東西了。
    6、 修改root_china/usr/etc/rc.local文件,設(shè)置開(kāi)發(fā)板IP地址為192.168.1.10
    至此,開(kāi)發(fā)板和PC機(jī)的設(shè)置都已經(jīng)基本完成,假如我們?cè)赑C機(jī)上調(diào)試好的應(yīng)用程序已經(jīng)放到/root_china這個(gè)嵌入式的文件系統(tǒng)下面,我們則可以用網(wǎng)絡(luò)連接好開(kāi)發(fā)板和PC機(jī),開(kāi)發(fā)板上電,系統(tǒng)開(kāi)始運(yùn)行并且通過(guò)運(yùn)行nfs網(wǎng)絡(luò)文件系統(tǒng)就可以進(jìn)入熟悉的linux界面了。
    以后調(diào)試程序只需要把編譯好的程序放到root_china的目錄下面就可以了,開(kāi)發(fā)板不再需要燒寫(xiě)。


2樓: >>參與討論
twentyone
謝謝分享!
 
3樓: >>參與討論
liuv8088
不客氣!
好東西大家分享么!

4樓: >>參與討論
mistyeyed
很使用啊
很實(shí)用啊  有個(gè)問(wèn)題請(qǐng)教?LJD2410-I開(kāi)發(fā)板是arm9的板子嗎?
是那里生產(chǎn)的啊 不知到樓主知道嗎?



5樓: >>參與討論
liuv8088
沒(méi)有人回復(fù)!
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一一一一一一一一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一一一一一一一一一一一頂頂頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂一一一一頂一一一一一一一一一一一頂頂頂頂頂半頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一一一一頂一一一頂頂一一一一一頂頂頂頂頂頂頂頂頂頂頂    
頂頂頂一一一一一一一一一一一一頂頂頂頂頂頂一一一一頂頂頂頂頂頂頂頂頂頂頂頂    
頂一一一一一一一一一一一一一一頂頂頂頂頂頂一一一一頂頂頂頂頂頂頂頂頂頂頂頂    
頂一一一一一一一一一一一一頂頂頂頂頂頂頂一一一一一一一一一一一頂頂頂頂頂頂    
頂一一一一一一一一一一一一頂頂頂頂頂頂一一一一一一一一一一一一一一頂頂頂頂    
頂頂一一一一一一一一一一頂頂頂頂頂一一一一一一頂頂頂一一一一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂頂一一一一頂頂頂頂頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂頂一一頂頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂頂一一一一頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂頂一一一一頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂頂一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂頂一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂一一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂一一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂一一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂一一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一頂頂一一一一頂頂一一一一一頂頂頂頂頂    
頂頂一一頂頂頂一一一一一頂頂頂頂一一一頂頂一一一頂頂頂一一一一一頂頂頂頂頂    
頂頂一一一一一一一一一一頂頂頂頂頂一一頂頂一一頂頂頂頂一一一一一頂頂頂頂頂    
頂頂頂一一一一一一一一一頂頂頂頂頂頂頂頂一一一頂頂頂頂一一一一頂頂頂頂頂頂    
頂頂頂頂頂一一一一一一一頂頂頂頂頂頂頂頂一一一頂一一一一頂頂頂頂頂頂頂頂頂    
頂頂頂頂頂頂一一一一一一頂頂頂頂頂頂頂一一一一頂頂一一一一頂頂頂頂頂頂頂頂    
頂頂頂頂頂頂頂頂頂一一一頂頂頂頂頂頂一一一一一頂頂頂一一一一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一一頂頂頂頂頂一一一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一一頂頂頂頂頂頂一一一一一一一頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一頂頂頂頂頂頂頂頂頂一一一一一一頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一頂頂頂頂頂頂頂頂頂頂頂一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂一一一頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一頂頂頂頂


6樓: >>參與討論
lfjwfm
多謝多謝
抄下了,以后用

7樓: >>參與討論
liuv8088
不客氣
不客氣,

8樓: >>參與討論
5i51
支持一下原創(chuàng)!
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一一一一一一一一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一一一一一一一一一一一頂頂頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂一一一一頂一一一一一一一一一一一頂頂頂頂頂半頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一一一一頂一一一頂頂一一一一一頂頂頂頂頂頂頂頂頂頂頂    
頂頂頂一一一一一一一一一一一一頂頂頂頂頂頂一一一一頂頂頂頂頂頂頂頂頂頂頂頂    
頂一一一一一一一一一一一一一一頂頂頂頂頂頂一一一一頂頂頂頂頂頂頂頂頂頂頂頂    
頂一一一一一一一一一一一一頂頂頂頂頂頂頂一一一一一一一一一一一頂頂頂頂頂頂    
頂一一一一一一一一一一一一頂頂頂頂頂頂一一一一一一一一一一一一一一頂頂頂頂    
頂頂一一一一一一一一一一頂頂頂頂頂一一一一一一頂頂頂一一一一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂頂一一一一頂頂頂頂頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂頂一一頂頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂頂一一一一頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂頂一一一一頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂頂一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂頂一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂一一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂一一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂一一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂一一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一頂頂一一一一頂頂一一一一一頂頂頂頂頂    
頂頂一一頂頂頂一一一一一頂頂頂頂一一一頂頂一一一頂頂頂一一一一一頂頂頂頂頂    
頂頂一一一一一一一一一一頂頂頂頂頂一一頂頂一一頂頂頂頂一一一一一頂頂頂頂頂    
頂頂頂一一一一一一一一一頂頂頂頂頂頂頂頂一一一頂頂頂頂一一一一頂頂頂頂頂頂    
頂頂頂頂頂一一一一一一一頂頂頂頂頂頂頂頂一一一頂一一一一頂頂頂頂頂頂頂頂頂    
頂頂頂頂頂頂一一一一一一頂頂頂頂頂頂頂一一一一頂頂一一一一頂頂頂頂頂頂頂頂    
頂頂頂頂頂頂頂頂頂一一一頂頂頂頂頂頂一一一一一頂頂頂一一一一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一一頂頂頂頂頂一一一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一一頂頂頂頂頂頂一一一一一一一頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一頂頂頂頂頂頂頂頂頂一一一一一一頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一頂頂頂頂頂頂頂頂頂頂頂一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂一一一頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一頂頂頂頂


9樓: >>參與討論
5i51

頂!頂!頂!頂!頂!頂!

10樓: >>參與討論
5iembeded
真是好東西樓主是雷鋒啊!
多謝了!

11樓: >>參與討論
52arm9
嵌入式NFS配置
在嵌入式linux產(chǎn)品開(kāi)發(fā)調(diào)試階段經(jīng)常會(huì)把目標(biāo)板根文件系統(tǒng)掛載到開(kāi)發(fā)機(jī)的NFS導(dǎo)出目錄,且經(jīng)常要通過(guò)tftp下載內(nèi)核鏡像文件到目標(biāo)板,這里會(huì)牽涉到幾個(gè)linux服務(wù)的配置,很多新手會(huì)面對(duì)NFS,tftp的配置束手無(wú)策,我這里就簡(jiǎn)單的講一下他們的配置(呵呵,我也是新手菜鳥(niǎo)呀)。

我們主要進(jìn)行3種配置:

1.       tftp配置

2.       dhcp配置

3.       nfs配置

一: tftp配置

      首先要安裝tftp service:在redhat9的CD3里找到tftp-server-0.32-4.i386.rpm文件

      [root@vcom/]#  rpm –ivh tftp-server-0.32-4.i386.rpm     安裝tftp service 包

      [root@vcom/]#  rpm –qv tftp-server-0.32-4.i386.rpm      查詢(xún)安裝是否成功

      [root@vcom/]#  vi /etc/xinetd.d/tftp                   修改該文件里的server_args配置項(xiàng)為你自己的tftpboot根目錄,修改disable 配置為no .然后保存退出。

我使用的tftp文件內(nèi)容如下

      service tftp

{

        disable = no

        socket_type             = dgram

        protocol                = udp

        wait                    = yes

        disable                  = no

        user                    = root

        server                  = /usr/sbin/in.tftpd

        server_args             = -s /tftpboot

        per_source              = 110

        cps                     = 100 2

        flags                   = IPv4

}

二.dhcp配置

      首先要安裝dhcp service :在redhat9的CD2里找到 dhcp-3.0pl1-23.i386.rpm文件

      [root@vcom/]#  rpm –ivh dhcp-3.0pl1-23.i386.rpm   安裝dhcp

      [root@vcom/]#  rpm –qv dhcp-3.0pl1-23.i386.rpm    查詢(xún)安裝是否成功

      [root@vcom/]#  vi /etc/dhcpd.conf                 修改dhcpd配置

      注意dhcpd..conf默認(rèn)狀態(tài)安裝在 /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample可以

考貝到/etc/dhcpd.conf,在此基礎(chǔ)上修改既可以。

我使用的dhcpd.conf文件內(nèi)容如下

DDns-update-style interim;

ignore client-updates;

subnet 192.168.3.0 netmask 255.255.255.0 {

        dynamic-bootp-lease-length 20;

        range dynamic-bootp 192.168.3.19 192.168.3.35;

        option routers 192.168.3.26;

        option subnet-mask 255.255.255.0;

        option domain-name-servers  192.168.3.26;

        default-lease-time 10;

        max-lease-time 10;

        host TEST{

                HARDWARE ethernet 00:60:6e:42:ba:86;

                fixed-address 192.168.3.27

                option root-path "ndvd9026l/target";

                filename "zImage.treeboot_debug";

        }

}

其中192.168.3.26就是開(kāi)發(fā)機(jī)(也是服務(wù)器)的IP地址,目標(biāo)板的IP地址是192.168.3.27

三. 設(shè)置NFS:

      [root@vcom/]#  vi /etc/export

添加  /ndvd9026l/target 192.168.3.0/255.255.255.0(rw,no_root_squash)

四. 啟動(dòng)服務(wù):

[root@vcom/]#  ntsysv                            啟動(dòng)相關(guān)服務(wù)

[root@vcom/]#  service dhcpd start

[root@vcom/]#  service nfs start

[root@vcom/]#  service portmap start

[root@vcom/]#  service xinted start



12樓: >>參與討論
5i51
嵌入式Linux的GDB遠(yuǎn)程調(diào)試的實(shí)現(xiàn)
遠(yuǎn)程調(diào)試環(huán)境由宿主機(jī)GDB和目標(biāo)機(jī)調(diào)試stub共同構(gòu)成,兩者通過(guò)串口或TCP連接。使用GDB標(biāo)準(zhǔn)遠(yuǎn)程串行協(xié)議協(xié)同工作,實(shí)現(xiàn)對(duì)目標(biāo)機(jī)上的系統(tǒng)內(nèi)核和上層應(yīng)用的監(jiān)控和調(diào)試功能。調(diào)試stub是嵌入式系統(tǒng)中的一段代碼,作為宿主機(jī)GDB和目標(biāo)機(jī)調(diào)試程序間的一個(gè)媒介而存在。
          就目前而言,嵌入式Linux系統(tǒng)中,主要有三種遠(yuǎn)程調(diào)試方法,分別適用于不同場(chǎng)合的調(diào)試工作:用ROM MONITOR調(diào)試目標(biāo)機(jī)程序、用KGDB調(diào)試系統(tǒng)內(nèi)核和用gdbserver調(diào)試用戶(hù)空間程序。這三種調(diào)試方法的區(qū)別主要在于,目標(biāo)機(jī)遠(yuǎn)程調(diào)試stub 的存在形式的不同,而其設(shè)計(jì)思路和實(shí)現(xiàn)方法則是大致相同的。
而我們最常用的是調(diào)試應(yīng)用程序。就是采用gdb+gdbserver的方式進(jìn)行調(diào)試。在很多情況下,用戶(hù)需要對(duì)一個(gè)應(yīng)用程序進(jìn)行反復(fù)調(diào)試,特別是復(fù)雜的程序。采用GDB方法調(diào)試,由于嵌入式系統(tǒng)資源有限性,一般不能直接在目標(biāo)系統(tǒng)上進(jìn)行調(diào)試,通常采用gdb+gdbserver的方式進(jìn)行調(diào)試。Gdbserver在目標(biāo)系統(tǒng)中運(yùn)行,gdb則在宿主機(jī)上運(yùn)行。
要進(jìn)行GDB調(diào)試,目標(biāo)系統(tǒng)必須包括gdbserver程序,宿主機(jī)也必須安裝gdb程序。一般linux發(fā)行版中都有一個(gè)可以運(yùn)行的gdb,但開(kāi)發(fā)人員不能直接使用該發(fā)行版中的gdb來(lái)做遠(yuǎn)程調(diào)試,而要獲取gdb的源代碼包,針對(duì)arm平臺(tái)作一個(gè)簡(jiǎn)單配置,重新編譯得到相應(yīng)gdb。gdb的源代碼包可以從http: //ftp.cs.pu.edu.tw/Linux/sourceware/gdb/releases/下載,最新版本為gdb-6.4。下載到某個(gè)目錄,筆者下載到自己的用戶(hù)目錄:/home/vicky。
下載完后,進(jìn)入/home/vicky目錄,配置編譯步驟如下:
#tar jxvf gdb-6.4-tar-bz2
#cd gdb-6.4
#./configure --target=arm-linux --prefix=/usr/local/arm-gdb -v
#make
(這一步的時(shí)候可能會(huì)有問(wèn)題,提示一個(gè)函數(shù)中(具體函數(shù)名不記得了)parse error,就是unsigned前邊多了一個(gè)”}”,你用vi進(jìn)入那一行把它刪掉就行了。)
#make INSTALL
#exPORT PATH=$PATH:/usr/local/arm-gdb
進(jìn)入gdbserver目錄:
#./configure --target=arm-linux –host=arm-linux
#make CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
(這一步要指定arm-linux-gcc的位置,可能跟你的不一樣)
沒(méi)有錯(cuò)誤的話就在gdbserver目錄下生成gdbserver可執(zhí)行文件,把它燒寫(xiě)到FLASH的根文件系統(tǒng)分區(qū),或通過(guò)nfs mount的方式都可以。只要保證gdbserver能在開(kāi)發(fā)板上運(yùn)行就行。
下面就可以用gdb+gdbserver調(diào)試我們開(kāi)發(fā)板上的程序了。在目標(biāo)板上運(yùn)行g(shù)dbserver,其實(shí)就是在宿主機(jī)的minicom下,我的red hat linux裝在vmware下的。我是在minicom下#mount 192.168.2.100:/ /tmp后做的(這里參數(shù)-o nolock可以不加,不加這一步執(zhí)行得反而更快些),hello和gdbserver都是位于linux根目錄下,把主機(jī)根目錄掛在到開(kāi)發(fā)板的/tmp 目錄下。
要進(jìn)行g(shù)db調(diào)試,首先要在目標(biāo)系統(tǒng)上啟動(dòng)gdbserver服務(wù)。在gdbserver所在目錄下輸入命令:
(minicom下)
#cd /tmp
#./gdbserver 192.168.2.100:2345 hello
192.168.2.100為宿主機(jī)IP,在目標(biāo)系統(tǒng)的2345端口開(kāi)啟了一個(gè)調(diào)試進(jìn)程,hello為要調(diào)試的程序。
出現(xiàn)提示:
PROCESS /tmp/hello created: pid=80
Listening on PORT 2345
(另一個(gè)終端下)
#cd /
#exPORT PATH=$PATH:/usr/local/arm-gdb/bin
#arm-linux-gdb hello
(gdb) target remote 192.168.2.223:2345
(192.168.2.223為開(kāi)發(fā)板IP)
出現(xiàn)提示:
Remote debugging using 192.168.2.223:2345
[New thread 80]
[Switching to thread 80]
0x40002a90 in ??()
同時(shí)在minicom下提示:
Remote debugging from host 192.168.2.100
(gdb)
連接成功,這時(shí)候就可以輸入各種gdb命令如list、run、next、step、break等進(jìn)行程序調(diào)試了。

         以上針對(duì)通過(guò)nfs mount和tftp的方式,只能在主機(jī)上調(diào)試好后下載到開(kāi)發(fā)板上運(yùn)行,如果有錯(cuò)誤要反復(fù)這個(gè)過(guò)程,繁瑣不說(shuō),有些程序只能在開(kāi)發(fā)板上調(diào)試。所以筆者采用了gdbserver的遠(yuǎn)程調(diào)試方式。希望對(duì)大家調(diào)試程序有用!


13樓: >>參與討論
mistyeyed
感謝
感謝52arm9和5i51  你們的工作和大家分享 呵呵

14樓: >>參與討論
52arm9
ding
ding

15樓: >>參與討論
northerns
ding
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一一一一一一一一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一一一一一一一一一一一頂頂頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂一一一一頂一一一一一一一一一一一頂頂頂頂頂半頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一一一一頂一一一頂頂一一一一一頂頂頂頂頂頂頂頂頂頂頂    
頂頂頂一一一一一一一一一一一一頂頂頂頂頂頂一一一一頂頂頂頂頂頂頂頂頂頂頂頂    
頂一一一一一一一一一一一一一一頂頂頂頂頂頂一一一一頂頂頂頂頂頂頂頂頂頂頂頂    
頂一一一一一一一一一一一一頂頂頂頂頂頂頂一一一一一一一一一一一頂頂頂頂頂頂    
頂一一一一一一一一一一一一頂頂頂頂頂頂一一一一一一一一一一一一一一頂頂頂頂    
頂頂一一一一一一一一一一頂頂頂頂頂一一一一一一頂頂頂一一一一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂頂一一一一頂頂頂頂頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂頂一一頂頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂頂一一一一頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂頂一一一一頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂頂一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂頂一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂一一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂一一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂一一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一一頂一一一一頂頂一一一一一頂頂頂頂頂    
頂頂頂頂頂頂頂頂一一一一頂頂頂頂一一一頂頂一一一一頂頂一一一一一頂頂頂頂頂    
頂頂一一頂頂頂一一一一一頂頂頂頂一一一頂頂一一一頂頂頂一一一一一頂頂頂頂頂    
頂頂一一一一一一一一一一頂頂頂頂頂一一頂頂一一頂頂頂頂一一一一一頂頂頂頂頂    
頂頂頂一一一一一一一一一頂頂頂頂頂頂頂頂一一一頂頂頂頂一一一一頂頂頂頂頂頂    
頂頂頂頂頂一一一一一一一頂頂頂頂頂頂頂頂一一一頂一一一一頂頂頂頂頂頂頂頂頂    
頂頂頂頂頂頂一一一一一一頂頂頂頂頂頂頂一一一一頂頂一一一一頂頂頂頂頂頂頂頂    
頂頂頂頂頂頂頂頂頂一一一頂頂頂頂頂頂一一一一一頂頂頂一一一一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一一頂頂頂頂頂一一一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一一頂頂頂頂頂頂一一一一一一一頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一頂頂頂頂頂頂頂頂頂一一一一一一頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂頂一一一一一頂頂頂頂頂頂頂頂頂頂頂一一一一頂頂頂頂    
頂頂頂頂頂頂頂頂頂頂頂頂一一一頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂一一一頂頂頂頂



16樓: >>參與討論
5i51
2410平臺(tái)上移植2.6內(nèi)核
 一、內(nèi)核移植
   
    由于2.6內(nèi)核已經(jīng)正式支持2410這款cpu以及smdk2410這塊公板,
只要配置得當(dāng),在不修改一行內(nèi)核代碼的情況下,內(nèi)核就可以運(yùn)行起來(lái)。
所以我覺(jué)得這里再提移植就不恰當(dāng)了,而僅僅是個(gè)配置、交叉編譯內(nèi)
核的過(guò)程。

make ARCH=arm CROSS_COMPILE=arm-linux- smdk2410_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux- zImage

    為了接下來(lái)方便,可以直接在top level的Makefile中設(shè)置ARCH
和CROSS_COMPILE變量。在2.6內(nèi)核中,console的名稱(chēng)發(fā)生了變化,
需要在bootloader或者內(nèi)核的配置中修改啟動(dòng)參數(shù),例如

    2.4中啟動(dòng)參數(shù)為 …… console=ttyS0,115200,
    在2.6中則應(yīng)改為 …… console=ttySAC0,115200

    現(xiàn)在用新內(nèi)核啟動(dòng),可以在串口接收到啟動(dòng)信息,但由于還沒(méi)有
安裝根文件系統(tǒng),所以中途會(huì)panic,這是我們?cè)谙乱浑A段需要解決
的問(wèn)題,而第一階段工作結(jié)束。

    非常簡(jiǎn)單的過(guò)程,我卻沒(méi)那么幸運(yùn)。開(kāi)始用的是最新的2.6.16的
kernel,經(jīng)過(guò)上述配置,啟動(dòng)后收不到任何消息。折騰無(wú)數(shù)次后,抱
著有病亂投醫(yī)的想法,嘗試了一下2.6.14,竟然順利啟動(dòng)。翻了一遍
2.6.16的changelog,也沒(méi)發(fā)現(xiàn)個(gè)所以然,等待高手解惑……

    二、安裝根文件系統(tǒng)
   
    首先對(duì)FLASH進(jìn)行分區(qū)。網(wǎng)上的經(jīng)典文章《Linux 2.6.10 以后版
本對(duì)S3C2410的支持》僅提到了對(duì)Nand FLASH分區(qū)的方法,對(duì)Nor
FLASH不適用。對(duì)Nor FLASH的分區(qū),是通過(guò)在
linux/drivers/mtd/maps下增加特定mapping驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)。該目
錄下的驅(qū)動(dòng)程序結(jié)構(gòu)相似,可以找一個(gè)來(lái)修改成自己的。我用的是
cfi_flagadm.c這個(gè)。
   
    cp cfi_flagadm.c s3c2410.c

    將FLASH_PHYS_ADDR和FLASH_SIZE這兩個(gè)宏分別修改成自己板子
FLASH起始地址和大小。然后修改結(jié)構(gòu)體數(shù)組flagadm_parts添加自
己的分區(qū)信息。

    接下來(lái)告訴內(nèi)核使用該驅(qū)動(dòng)程序。修改maps目錄下的Kconfig文
件,該文件決定出現(xiàn)在menuconfig中的項(xiàng)目,在config
MTD_CDB89712之后添加

    config MTD_S3C2410
           tristate "HuaHeng 2410 board"

    修改該目錄下的Makefile,添加如下內(nèi)容:

    obj-$(CONFIG_MTD_S3C2410)       += s3c2410.o

    現(xiàn)在make menuconfig時(shí),在MTD項(xiàng)目中將出現(xiàn)HuaHneng 2410
board選項(xiàng),選中它并重新編譯內(nèi)核就完成了分區(qū)工作,啟動(dòng)時(shí)將看
到分區(qū)信息。

    現(xiàn)在,內(nèi)核可以檢測(cè)到分區(qū),并找到了壓縮的RAMDISK,并試圖
解壓縮。如果你使用smdk2410的默認(rèn)配置,這時(shí)會(huì)報(bào)錯(cuò),類(lèi)似
RAMDISK:incomplete 云云。解決辦法很簡(jiǎn)單,將內(nèi)核配置中的
BLK_DEV_RAM_SIZE的值從默認(rèn)的4096改為8192即可。

    原2.4內(nèi)核中對(duì)設(shè)備文件的管理是通過(guò)devfs完成的,所有設(shè)備文
件均在啟動(dòng)后檢測(cè)到設(shè)備時(shí)動(dòng)態(tài)建立,所以我的RAMDISK中/dev目錄
是空的。而2.6內(nèi)核從某個(gè)版本號(hào)后移除了devfs,取而代之的是udev。
我一沒(méi)有啟用udev,二沒(méi)有手動(dòng)建立任何設(shè)備文件,所以?xún)?nèi)核警告無(wú)
法初始化控制臺(tái)。手工添加設(shè)備文件即可:

    mknod /dev/console c 5 1

    為了避免再出現(xiàn)類(lèi)似錯(cuò)誤,我用原2.4內(nèi)核啟動(dòng),把devfs建立好
的設(shè)備文件全部拷了出來(lái),添加到RAMDISK當(dāng)中。

    到此為止內(nèi)核已經(jīng)啟動(dòng)到VFS:freeing xxxK MEMORY。但出現(xiàn)一
行reboot(MAGIC=000000)的信息,就沒(méi)有下文了。搜了一下,發(fā)現(xiàn)在
配置內(nèi)核時(shí)必須選中Floating Point EMULATOR,否則就會(huì)導(dǎo)致這個(gè)
錯(cuò)誤。再次重新編譯內(nèi)核,重啟,終于出現(xiàn)了期待已久的#提示符。


17樓: >>參與討論
mistyeyed



參與討論
昵稱(chēng):
討論內(nèi)容:
 
 
相關(guān)帖子
告別在21ic只問(wèn)問(wèn)題的日子,原創(chuàng)swi軟件中斷理解分析
為個(gè)人學(xué)習(xí)量身打造H9200E AT91RM9200開(kāi)發(fā)板
深圳遠(yuǎn)峰公司新人報(bào)到
哪位仁兄能推薦一款不是小日本產(chǎn)的液晶?
一個(gè)關(guān)于字庫(kù)的問(wèn)題請(qǐng)教
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)