乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Davinci燒寫程序

       rookie 2012-03-10

      下面以運(yùn)行在Nor flash上的ramdisk文件系統(tǒng)為例說(shuō)明。下面提到的Flash,如果沒(méi)有指定為Nand Flash,則Flash就指的是Nor Flash

       

       

       

      1,燒寫uboot

       

      1)編譯uboot

       

      目前我們使用uboot1.1.4 ,在Linux下,進(jìn)入uboot1.1.4目錄,

       

      依次輸入如下命令:

       

      make clobber

       

      make davinci_config

       

      make ARCH=arm

       

      就生成了可執(zhí)行文件 u-boot.bin 。

       

      2)燒寫uboot

       

      uboot燒寫進(jìn)Flash,有兩種方法:一是使用JTAG頭連接仿真器,使用仿真器燒寫;二是使用串口進(jìn)行燒寫。

       

      注意:

       

      在連接仿真器及串口線,撥動(dòng)S3開關(guān),切換J4跳線時(shí),必須要在斷電情況下操作。

       

       

       

      仿真器燒寫:

       

      Davinci板卡斷電,

       

      DM6446開發(fā)板上的S3開關(guān)撥到全部為ON,在J4跳線處選上Nor Flash,連接仿真器;

       

      Davinci板卡上電,

       

      打開CCS(需要設(shè)置CCS為仿真模式),在菜單中選擇 File-- Load Program ,找到Flash的燒寫程序flashwrite.out ,然后運(yùn)行,根據(jù)提示分別輸入uboot文件名u-boot.bin,及偏移地址0,等燒寫完畢即可;

       

      Davinci板卡斷電,

       

      S3切換到Nor Flash啟動(dòng),即撥為1011111111,運(yùn)行串口控制軟件Tera Term ,選擇COM1口,設(shè)置波特率為115200;

       

      Davinci板卡上電,

       

      Tera Term窗口會(huì)有uboot的啟動(dòng)信息顯示。

       

       

       

      串口燒寫:

       

             由于dvflasher運(yùn)行需要 .net FrameWork 2.0,所以先安裝這個(gè)程序。

       

      Davinci板卡斷電,

       

      DM6446開發(fā)板上的S3開關(guān)撥到全部為ON,在J4跳線處選上Nor Flash,用串口線連接PC主機(jī)與Davinci板卡;

       

      Davinci板卡上電,

       

      在主機(jī)上運(yùn)行命令行,在命令行輸入命令:dvflasher -r u-boot.bin,等燒寫完畢;

       

      Davinci板卡斷電,

       

      S3切換到Nor Flash啟動(dòng),即撥為1011111111,運(yùn)行串口控制軟件Tera Term ,選擇COM1口,設(shè)置波特率為115200;

       

      Davinci板卡上電,

       

      Tera Term窗口會(huì)有uboot的啟動(dòng)信息顯示。

       

       

       

      串口燒寫nand flash

       

      Davinci板卡斷電,

       

      DM6446開發(fā)板上的S3開關(guān)撥到:1101111111,在J4跳線處選上Nand Flash CS2,用串口線連接PC主機(jī)與Davinci板卡;

       

      Davinci板卡上電,

       

      在主機(jī)上運(yùn)行命令行,在命令行輸入命令:dvflasher -fnandbin u-boot_nand.bin,等燒寫完畢;

       

      Davinci板卡斷電,

       

      S3切換為Nand Flash啟動(dòng),即撥為全部為OFF,運(yùn)行串口控制軟件Tera Term ,選擇COM1口,設(shè)置波特率為115200;

       

      Davinci板卡上電,

       

      Tera Term窗口會(huì)有uboot的啟動(dòng)信息顯示。

       

      2,燒寫Linux內(nèi)核

       

      內(nèi)核指的是一個(gè)提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。一個(gè)內(nèi)核不是一套完整的操作系統(tǒng)。一套基于Linux內(nèi)核的完整操作系統(tǒng)叫作Linux操作系統(tǒng)。

       

        在Linux 內(nèi)核中,包括了:進(jìn)程管理、定時(shí)器、中斷管理、內(nèi)存管理、模塊管理、虛擬文件系統(tǒng)接口、文件系統(tǒng)管理、設(shè)備驅(qū)動(dòng)程序、進(jìn)程間通信、網(wǎng)絡(luò)管理、系統(tǒng)啟動(dòng)等操作系統(tǒng)功能的實(shí)現(xiàn)。

       

      1)編譯Linux內(nèi)核

       

      當(dāng)板卡硬件有改動(dòng),或需要增加某些底層功能時(shí),需要改動(dòng)內(nèi)核模塊,可以使用如下命令來(lái)更改內(nèi)核模塊的配置:

       

      make menuconfig

       

      生成的配置文件保存在

       

      mv_pro_4.0\montavista\pro\devkit\lsp\ti-davinci\arch\arm\defconfig

       

      然后在:

       

      mv_pro_4.0\montavista\pro\devkit\lsp\ti-davinci

       

       

       

      目錄下輸入如下命令:

       

      make ARCH=arm CROSS_COMPILE=arm_v5t_le- davinci_dm644x_defconfig

       

            make ARCH=arm CROSS_COMPILE=arm_v5t_le- checksetconfig

       

            make ARCH=arm CROSS_COMPILE=arm_v5t_le- uImage

       

            cp arch/arm/boot/uImage /tftpboot/uImage

       

      chmod a+r /tftpboot/uImage 

       

       

      就可以編譯出新的內(nèi)核。

       

      更多的細(xì)節(jié)請(qǐng)參考《Building a Small Embedded Linux Kernel Example  spraah2.pdf》。

       

      2)燒寫Linux內(nèi)核

       

      Linux服務(wù)器下載內(nèi)核映象文件并燒寫進(jìn)Davinci板卡的Nor Flash中,我們使用板卡上的uboot,通過(guò)tftp協(xié)議,從Linux服務(wù)器上下載編譯好的內(nèi)核,過(guò)程如下:

       

      a,將內(nèi)核文件uImage復(fù)制到Linux服務(wù)器的 /tftpboot/ 目錄下,

       

      b,連接PCDavinci板卡,需要連接串口線及網(wǎng)線,在連接串口線時(shí)需要將Davinci板卡斷電。

       

      c,啟動(dòng)運(yùn)行串口控制軟件Tera Term

       

      d,將Davinci板卡上電,在Tera Term窗口中按下任意鍵,進(jìn)入輸入命令狀態(tài)

       

      e,依次輸入如下命令:

       

                   tftpboot 0x80080000 uImage                    //tftp服務(wù)器拷貝至內(nèi)存中

       

                   erase 0x2100000 22fffff                            //擦除2M的空間

       

                   cp.b 0x80080000 0x2100000 0x200000     //從內(nèi)存拷貝至Flash

       

                    等待命令執(zhí)行完畢,就成功燒寫內(nèi)核文件進(jìn)Nor Flash中了。

       

      最后,在正式啟動(dòng)板卡時(shí)要讀取flash上的內(nèi)核文件,還需要設(shè)置環(huán)境變量為從flash啟動(dòng),使用如下命令設(shè)置即可:

       

      setenv bootcmd ‘bootm 0x2100000’

       

      3,燒寫根文件系統(tǒng)

       

      Linux引導(dǎo)啟動(dòng)時(shí),默認(rèn)使用的文件系統(tǒng)是根文件系統(tǒng)。其中一般都包括這樣一些子目錄:

      etc, dev, usr, usr/bin, bin, var等。

      etc目錄主要含有一些系統(tǒng)配置文件;dev含有設(shè)備特殊文件,用于使用文件操作語(yǔ)句操作設(shè)備;usr存放庫(kù)函數(shù)、手冊(cè)和其它一些文件。bin存放執(zhí)行程序;var用于存放系統(tǒng)運(yùn)行時(shí)可變的數(shù)據(jù)或者是日志等信息。

       

      根文件系統(tǒng)有多種格式,例如romfs、ramfs、jffs2、yaffs2等,我們以ramfs為例說(shuō)明編譯及燒寫過(guò)程。

       

      1)制作ramdisk

       

      Linux服務(wù)器中制作ramdisk過(guò)程如下:

       

      a,開辟一塊硬盤空間,這里定為14M,名字為ramrootfs,并格式化為ext2文件系統(tǒng):

       

       dd if=/dev/zero of=ramrootfs bs=1k count=14336

       

        mke2fs -F -m 0 -i 2000 ramrootfs

       

      b,把虛擬盤掛載到目錄ramfs

       

        mount -o loop -t ext2 ramrootfs ramfs

       

      c,復(fù)制所需根文件系統(tǒng)內(nèi)容至ramfs

       

      d,使用nfs方式調(diào)試,確認(rèn)文件系統(tǒng)可用。

       

      e,跳到ramfs目錄外,卸載ramfs,并壓縮文件系統(tǒng)映象:

       

       umount ramfs

       

       cat ramrootfs | gzip -9 > ramdisk.gz

       

      2)燒寫ramdisk

       

      Linux服務(wù)器下載ramdisk.gz文件并燒寫進(jìn)Davinci板卡的Nor Flash中,     我們使用板卡上的uboot,通過(guò)tftp協(xié)議,從Linux服務(wù)器上下載壓縮好的ramdisk.gz,過(guò)程如下:

       

      a,將ramdisk.gz復(fù)制到Linux服務(wù)器的 /tftpboot/ 目錄下;

       

      b,連接PCDavinci板卡,需要連接串口線及網(wǎng)線,在連接串口線時(shí)需要將Davinci板卡斷電;

       

      c,啟動(dòng)運(yùn)行串口控制軟件Tera Term;

       

      d,將Davinci板卡上電,在Tera Term窗口中按下任意鍵,進(jìn)入輸入命令狀態(tài);

       

      e,依次輸入如下命令:

       

                   tftpboot 0x80080000 ramdisk.gz                 //tftp服務(wù)器拷貝至內(nèi)存中

       

                   erase 0x2300000  0x28fffff                         //擦除6M的空間

       

                   cp.b 0x80080000 0x2300000 0x600000       //從內(nèi)存拷貝至Flash

       

                    等待命令執(zhí)行完畢,就成功燒寫ramdisk根文件系統(tǒng)進(jìn)Nor Flash中了。

       

      最后,在正式啟動(dòng)板卡時(shí)要讀取flash上的根文件系統(tǒng),還需要設(shè)置環(huán)境變量為從flash讀取,使用如下兩個(gè)命令設(shè)置即可:

       

      setenv bootcmd 'cp.b 0x2300000 0x85000000 0x600000; bootm 0x2100000'

       

      setenv bootargs console=ttyS0,57600n8 video=dm64xxfb:interface=composite:mode=pal ip=192.168.1.82::192.168.1.1 root=/dev/ram0 rw initrd=0x85000000,14M mem=112M

       

      第一個(gè)命令中主要相關(guān)部分是cp.b 0x2300000 0x85000000 0x600000 ,作用是在Davinci板卡啟動(dòng)時(shí)拷貝根文件系統(tǒng)至內(nèi)存中;

       

      第一個(gè)命令中主要相關(guān)部分是root=/dev/ram0 rw initrd=0x85000000,14M ,作用是設(shè)置Davinci板卡啟動(dòng)時(shí)采用ramdisk根文件系統(tǒng)。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多