ext_csd.rev>6)為if(card-">

一区二区三区电影_国产伦精品一区二区三区视频免费_亚洲欧美国产精品va在线观看_国产精品一二三四

聯(lián)系我們 - 廣告服務(wù) - 聯(lián)系電話:
您的當(dāng)前位置: > 關(guān)注 > > 正文

Linux新板子起不來及紅外屏配置 linux服務(wù)器修改內(nèi)核默認(rèn)配置的方法

來源:CSDN 時(shí)間:2023-04-10 08:34:30

1.新板子起不來

修改kernel/drivers/mmc/core/mmc.c 修改if (card->ext_csd.rev > 6) 為 if (card->ext_csd.rev > 8)


【資料圖】

2.起來后觸摸屏沒有反應(yīng)加載USB觸摸屏驅(qū)動(dòng)。

進(jìn)到內(nèi)核目錄下,輸入make menuconfig 在這里加入U(xiǎn)SB觸摸屏設(shè)備

同時(shí)加載HID Support\  HID Multitouch panels

3.單獨(dú)編譯內(nèi)核     如果用戶需要修改內(nèi)核默認(rèn)配置,可以使用以下方法單獨(dú)編譯內(nèi)核鏡像     1>  選擇配置文件:         假設(shè)使用的配置文件名稱為hixxxx_yyy_defconfig    // hi3719cv100_defconfig         cd source/kernel/linux-3.x.y         make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- hixxxx_yyy_defconfig     // make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- hi3719cv100_defconfig

2>  打開內(nèi)核配置菜單:         make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- menuconfig

3>  編譯內(nèi)核:         make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- uImage -j 128         注意: 不要用 zImage, 否則內(nèi)核無法啟動(dòng)。

4>  編譯后的鏡像文件為: arch/arm/boot/uImage

觸摸屏修改:hid-multitouch.c

4.Linux內(nèi)核指令:

發(fā)布包使用說明

在使用SDK之前,請(qǐng)務(wù)必仔細(xì)閱讀此文檔。 ========================================= 編譯SDK ========================================= 1.  linux服務(wù)器需求     --- Linux發(fā)行版     推薦ubuntu 10及以上版本     --- glibc           推薦2.11.1版本     --- GNU Make        推薦3.8.1及以上版本     --- shell:          必須為bash         修改linux服務(wù)器默認(rèn)sh為bash的方法         rm -f /bin/sh         ln -s /bin/bash  /bin/sh     --- zlibc           推薦1.2.3及以上版本     --- ncurses         推薦5.7及以上版本     --- lzma            推薦5.0.4及以上版本     --- 正確配置并啟動(dòng)ssh samba nfs服務(wù)

2.  準(zhǔn)備 2.1 安裝交叉編譯工具鏈     ./server_install    【注意事項(xiàng)】     ---使用root權(quán)限或者sudo權(quán)限執(zhí)行     ---執(zhí)行完成后,強(qiáng)烈建議重啟linux服務(wù)器或者重新登錄服務(wù)器     ---安裝交叉編譯工具鏈會(huì)覆蓋之前安裝過的同名編譯器     ---交叉編譯工具鏈安裝后對(duì)所有使用該服務(wù)器的用戶有效

2.3 安裝編譯過程中使用到的其他工具     make tools_install     該操作會(huì)生成編譯過程中使用到的其他工具

3.  配置 3.1 選擇配置文件     configs目錄下提供了針對(duì)demo板的默認(rèn)配置文件     cp  configs/xxxx.cfg  ./cfg.mak

3.2 查看和修改SDK配置     make menuconfig     如果修改了配置選項(xiàng),在退出menuconfig菜單時(shí)會(huì)提示"Do you wish to save your new SDK configuration?"     選擇Yes所有修改會(huì)保存在./cfg.mak文件中;選擇No放棄修改。

4.  編譯     支持一鍵式編譯和分步編譯

4.1 一鍵式編譯     make build

4.2 分步驟編譯     make prepare           準(zhǔn)備編譯文件 編譯其他目標(biāo)前必須運(yùn)行該命令     make hiboot_install    編譯boot   生成fastboot-burn.bin     make linux_install     編譯linux  生成hi_kernel.bin     make rootfs_install    編譯rootfs 生成基本的rootfs目錄 包括基本目錄結(jié)構(gòu)、busybox、C庫、utils、基本啟動(dòng)腳本等     make common_install    編譯common 生成common的庫和驅(qū)動(dòng)     make msp_install       編譯msp    生成msp各個(gè)模塊的庫和驅(qū)動(dòng)     make component_install 編譯component  生成component的庫和驅(qū)動(dòng)     make rootbox_install   編譯rootbox 生成用于制作根文件系統(tǒng)鏡像的文件夾rootbox     make fs                編譯fs      生成用于燒寫flash的根文件系統(tǒng)鏡像 rootbox_xxx.jffs2/rootbox_xxx.yaffs/rootbox_xxx.cramfs     make sample            編譯sample  生成各個(gè)sample的可執(zhí)行程序 位于sample的各個(gè)子目錄下

【注意事項(xiàng)】     ---用戶可以根據(jù)自己的需要修改rootbox.mk,決定rootbox中放置的內(nèi)容     ---make msp_install M=xxx 可以單獨(dú)編譯某個(gè)模塊  如make msp_install M=demux     ---make component_install M=xxx 可以單獨(dú)編譯某個(gè)組件     ---分步驟編譯時(shí),編譯所有目標(biāo)前必須先make prepare 準(zhǔn)備好編譯內(nèi)容     ---分步驟編譯時(shí),編譯common msp component之前必須先make linux_install     ---更詳細(xì)的編譯命令 請(qǐng)參考make help

4.3 單獨(dú)編譯內(nèi)核     如果用戶需要修改內(nèi)核默認(rèn)配置,可以使用以下方法單獨(dú)編譯內(nèi)核鏡像     1>  選擇配置文件:         假設(shè)使用的配置文件名稱為hixxxx_yyy_defconfig    // hi3719cv100_defconfig         cd source/kernel/linux-3.x.y         make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- hixxxx_yyy_defconfig     // make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- hi3719cv100_defconfig

2>  打開內(nèi)核配置菜單:         make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- menuconfig

3>  編譯內(nèi)核:         make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- uImage -j 128         注意: 不要用 zImage, 否則內(nèi)核無法啟動(dòng)。

4>  編譯后的鏡像文件為: arch/arm/boot/uImage

========================================= 燒寫鏡像 =========================================     單板上沒有燒寫boot或者boot已經(jīng)損壞時(shí),必須使用HiTool工具燒寫;boot可用時(shí),可以選擇使用HiTool工具燒寫或者使用命令行燒寫。

1.  HiTool工具燒寫     HiTool工具安裝文件位置  tools/windows/HiTool     使用方法參考《HiTool工具快速入門視頻.exe》

2.  Boot命令行燒寫     單板啟動(dòng)時(shí),按著鍵盤CTRL+C可以進(jìn)入到boot的命令行模式     fastboot#     輸入help 可以查看boot命令行下支持的所有命令     輸入help xxx 可以查看xxx命令的詳細(xì)幫助信息     boot命令行下支持通過tab鍵補(bǔ)全命令

2.1 配置網(wǎng)絡(luò)參數(shù)     setenv serverip xxx.xxx.xxx.xxx     setenv ipaddr xxx.xxx.xxx.xxx     setenv gatewayip xxx.xxx.xxx.xxx     setenv ethaddr 00:xx:xx:xx:xx:xx     setenv netmask 255.255.xxx.0     配置完成后用ping xxx.xxx.xxx.xxx 測(cè)試單板與ftp服務(wù)器之間的連通性。

2.2 分區(qū)地址     假設(shè)flash上分區(qū)分配如下:     分區(qū)名稱        偏移         大小     boot:           0x00000000   0x0080000     bootargs:       0x00080000   0x0100000     kernel:         0x00100000   0x0400000     rootfs:         0x00500000   0x6000000

【注意事項(xiàng)】     ---偏移是相對(duì)flash的首地址的偏移     ---flash可以為spi/nand/emmc,用戶需要根據(jù)單板配置合理安排分區(qū)

2.3 燒寫命令     假設(shè)內(nèi)存起始地址為0x0,為boot預(yù)留0x1000000,0x1000000以后的空間可以用于鏡像下載     nand flash:     命令:         獲取幫助:help nand         擦除:nand erase startpos length         讀取:nand read ddroffset start length         寫入:nand write ddroffset start length

下載boot:         mw.b 1000000 ff 80000                       //將0x1000000寫為0xff,寫0x80000         tftp 1000000 fastboot-burn.bin              //將fastboot-burn.bin下載到0x1000000         nand erase 0 100000                         //擦寫flash上0x0起始的0x100000空間         nand write 1000000 0 80000                  //把0x1000000起始長(zhǎng)度為0x80000的內(nèi)容(fastboot-burn.bin)寫入nand flash 0x0起始的位置         慎重一點(diǎn),最好先確認(rèn)下載到內(nèi)存成功,然后再擦除flash

下載linux:         mw.b 1000000 ff 400000         tftp 1000000 hi_kernel.bin         nand erase 100000 400000         nand write 1000000 100000 400000

下載文件系統(tǒng)(使用yaffs):         mw.b 1000000 ff 6000000         tftp 1000000 rootfs.yaffs         nand erase 500000 6000000         nand write.yaffs 1000000 500000 $(filesize)     //把0x1000000起始長(zhǎng)度為$(filesize)的內(nèi)容(rootfs.yaffs)寫入nand flash 0x500000位置,                                                                   boot會(huì)自動(dòng)識(shí)別$(filesize)為rootfs.yaffs的大小。    【注意事項(xiàng)】     ---nand flash上使用yaffs/cramfs/squashfs/ubi文件系統(tǒng)

spi flash:     命令:         獲取幫助:help sf         探測(cè):sf probe 0         擦除:sf erase startpos length         讀取:sf read ddroffset start length         寫入:sf write ddroffset start length

下載uboot:         sf probe 0                          //探測(cè)一下是否存在spi flash         mw.b 1000000 ff 80000               //將0x1000000寫為0xff,寫0x80000         tftp 1000000 fastboot-burn.bin      //將fastboot-burn.bin下載到0x1000000         sf erase 0 80000                    //擦寫flash上0x0起始的0x80000空間         sf write 1000000 0 80000            //把0x1000000起始長(zhǎng)度為0x80000的內(nèi)容(fastboot-burn.bin)寫入nand flash 0x0起始的位置         慎重一點(diǎn),最好先確認(rèn)下載到內(nèi)存成功,然后再擦除flash

下載linux:         sf probe 0         mw.b 1000000 ff 400000         tftp 1000000 hi_kernel.bin         sf erase 100000 400000         sf write 1000000 100000 400000

下載文件系統(tǒng):         sf probe 0         mw.b 1000000 ff b00000         tftp 1000000 rootfs.jffs2         sf erase 500000 b00000         sf write 1000000 500000 b00000

【注意事項(xiàng)】     ---spi flash上使用jffs2/cramfs/squashfs文件系統(tǒng)

hi3716cv200 demo單板的燒寫:     下載uboot:         sf probe 0         mw.b 1000000 ff 80000         tftp 1000000 fastboot-burn.bin         sf erase 0 80000         sf write 1000000 0 80000

下載linux:         mw.b 1000000 ff 600000         tftp 1000000 hi_kernel.bin         nand erase 0 600000         nand write 1000000 0 600000

下載文件系統(tǒng):         mw.b 1000000 ff 6000000         tftp 1000000 rootfs_4k24b.yaffs         nand erase 600000 6000000         nand write.yaffs 1000000 600000 $(filesize)

eMMC flash:     命令:         獲取幫助:help mmc         讀取:mmc read 0 ddroffset startblock blockcount         寫入:mmc write 0 ddroffset startblock blockcount    【注意事項(xiàng)】     ---eMMC flash讀寫操作的單位是塊,塊大小為512Bytes     ---eMMC flash上使用ext4文件系統(tǒng)     ---eMMC flash上燒寫鏡像使用命令行操作過于復(fù)雜,推薦使用HiTool工具燒寫

========================================= 設(shè)置系統(tǒng)啟動(dòng)參數(shù) =========================================    必須正確設(shè)置bootargs參數(shù)或者燒寫bootargs鏡像才能保證系統(tǒng)正常啟動(dòng)

1. bootargs變量介紹    以下面bootargs為例說明各個(gè)變量的含義    "mem=1G console=ttyAMA0,115200 root=/dev/mtdblock5 rootfstype=yaffs2 mtdparts=hi_sfc:1M(boot);hinand:4M(baseparam),4M(pqparam),4M(logo),8M(kernel),96M(rootfs),-(others) mmz=ddr,0,0,300M"    各變量含義如下    mem:       整個(gè)DDR被劃分為兩部分:系統(tǒng)內(nèi)存和mmz。mem表示整個(gè)DDR大小,mmz表示mmz區(qū)域大小。       用戶需要根據(jù)單板配置及內(nèi)存占用情況合理配置mem和mmz大小。    mmz:       格式ddr,0,0,size size表示整個(gè)DDR中預(yù)留給MMZ使用的空間大小。例如mmz=ddr,0,0,300M表示在整個(gè)mem中預(yù)留300M供MMZ使用,其余分配給系統(tǒng)內(nèi)存使用    console:       控制臺(tái)參數(shù)。console=ttyAMA0,115200表示使用串口0作為控制臺(tái)設(shè)備 波特率為115200    root:       表示根文件系統(tǒng)所在的設(shè)備分區(qū) 例如/dev/mtdblock5表示/dev/mtdblock5為根文件系統(tǒng) 對(duì)應(yīng)mtdparts中的rootfs分區(qū)      【注意事項(xiàng)】       mtdparts中的分區(qū)從0開始編號(hào)。如果單板上有spiflash,即使spi flash上沒有劃分分區(qū),spi flash也會(huì)對(duì)應(yīng)/dev/mtdblock0    rootfstype:       根文件系統(tǒng)類型 此處為yaffs2    mtdparts:       SPI Flash和Nand Flash的分區(qū)劃分 格式 mtdparts=flashtype:size(name),size(name),...,-(others);flashtype:size(name),size(name),...,-(others)       flashtype表示Flash類型  SPI Flash對(duì)應(yīng)取值hi_sfc,Nand Flash對(duì)應(yīng)取值hinand       size表示分區(qū)大小  name表示分區(qū)名稱       系統(tǒng)保留的分區(qū)名稱有baseparam、pqparam、logo、fastplay    blkdevparts:       eMMC的分區(qū)劃分,格式 blkdevparts=mmcblk0:size(name),size(name),...,-(others)       size表示分區(qū)的大小  當(dāng)rootfstype為ext3/ext4時(shí), rootfs分區(qū)的大小必須與文件系統(tǒng)鏡像大小保持一致       name表示分區(qū)名稱

2. 啟動(dòng)參數(shù)的設(shè)置    假設(shè)bootargs的內(nèi)容為"mem=1G console=ttyAMA0,115200 root=/dev/mtdblock5 rootfstype=yaffs2 mtdparts=hi_sfc:1M(boot);hinand:4M(baseparam),4M(pqparam),4M(logo),8M(kernel),96M(rootfs),-(others) mmz=ddr,0,0,300M"    設(shè)置啟動(dòng)參數(shù)的命令如下    setenv bootargs "mem=1G console=ttyAMA0,115200 root=/dev/mtdblock5 rootfstype=yaffs2 mtdparts=hi_sfc:1M(boot);hinand:4M(baseparam),4M(pqparam),4M(logo),8M(kernel),96M(rootfs),-(others) mmz=ddr,0,0,300M"    setenv bootcmd "nand read 1000000 c00000 800000;bootm 1000000"  //bootcmd命令加載內(nèi)核到0x1000000,然后跳轉(zhuǎn)到0x1000000執(zhí)行    saveenv

啟動(dòng)參數(shù)例子:    ---hi3716cv200 demo單板:spi flash 4M, nand Flash 4G, ddr 2G       boot在spi flash, kernel和文件系統(tǒng)在nand flash,文件系統(tǒng)類型為yaffs2:       setenv bootcmd "nand read 1000000 c00000 800000;bootm 1000000"       setenv bootargs "mem=1G console=ttyAMA0,115200 root=/dev/mtdblock5 rootfstype=yaffs2 mtdparts=hi_sfc:1M(boot);hinand:4M(baseparam),4M(pqparam),4M(logo),8M(kernel),96M(rootfs),-(others) mmz=ddr,0,0,300M"

---hi3716cv200 demo單板:spi flash 4M, nand Flash 4G, ddr 2G       boot在spi flash, kernel和文件系統(tǒng)在nand flash,文件系統(tǒng)類型為ubifs:       setenv bootcmd "nand read 1000000 c00000 800000;bootm 1000000"       setenv bootargs "mem=1G console=ttyAMA0,115200 ubi.mtd=rootfs root=ubi0:ubifs rootfstype=ubifs mtdparts=hi_sfc:1M(boot);hinand:4M(baseparam),4M(pqparam),4M(logo),8M(kernel),96M(rootfs),-(others) mmz=ddr,0,0,300M"

---hi3716cv200 demo單板:eMMC 4G, ddr 2G       set bootcmd "mmc read 0 0x1000000 0x6800 0x4000;bootm 0x1000000"       setenv bootargs "mem=1G console=ttyAMA0,115200 root=/dev/mmcblk0p6 rootfstype=ext4 rootwait blkdevparts=mmcblk0:1M(boot),4M(baseparam),4M(pqparam),4M(logo),8M(kernel),96M(rootfs),-(others) mmz=ddr,0,0,300M"

---hi3719mv100 demo單板:eMMC 4G, ddr 2G       set bootcmd "mmc read 0 0x1000000 0x6800 0x4000;bootm 0x1000000"       setenv bootargs "mem=1G console=ttyAMA0,115200 root=/dev/mmcblk0p6 rootfstype=ext4 rootwait blkdevparts=mmcblk0:1M(boot),4M(baseparam),4M(pqparam),4M(logo),8M(kernel),96M(rootfs),-(others) mmz=ddr,0,0,300M"

3. 重啟系統(tǒng)     在boot命令行下執(zhí)行reset或按單板復(fù)位鍵,系統(tǒng)復(fù)位重啟引導(dǎo)進(jìn)入HiLinux,顯示如下字樣表示啟動(dòng)成功     Welcome to HiLinux.     # ========================================= 掛載NFS調(diào)試程序 =========================================    啟動(dòng)HiLinux后 使用下面命令配置網(wǎng)絡(luò)并掛載NFS進(jìn)行程序調(diào)試 1. 配置單板網(wǎng)絡(luò)    ifconfig eth0 hw ether 00:xx:xx:xx:xx:xx;               設(shè)置eth0的MAC地址 網(wǎng)絡(luò)中MAC地址要唯一    ifconfig eth0 xxx.xxx.xxx.xxx netmask 255.255.xxx.0;    設(shè)置eth0的ip地址和子網(wǎng)掩碼    route add default gw xxx.xxx.xxx.x;                     設(shè)置網(wǎng)絡(luò)默認(rèn)路由 跨網(wǎng)絡(luò)訪問時(shí)必須設(shè)置

2. 掛載NFS    假設(shè)SDK代碼根目錄在交叉編譯服務(wù)器上的路徑為/xxx/sdk_root,下面命令可以將sdk_root通過NFS掛載在單板根文件系統(tǒng)的/mnt目錄下    mount -t nfs -o nolock -o tcp xxx.xxx.xxx.xxx:/xxx/sdk_root /mnt    請(qǐng)確保單板與服務(wù)器之間網(wǎng)絡(luò)連通,并且服務(wù)器上的NFS服務(wù)已經(jīng)正確配置

3. 增加動(dòng)態(tài)庫文件搜索路徑 /mnt/pub/libs/share    export LD_LIBRARY_PATH="/mnt/pub/libs/share:$LD_LIBRARY_PATH"

4. 替換模塊ko    cd /mnt/pub/kmod/    rmmod xxx.ko    insmod xxx.ko

5. 運(yùn)行sample    cd /mnt/sample/xxx    ./sample_xxx

========================================= 掛載U盤 =========================================    啟動(dòng)HiLinux后,假設(shè)將U盤對(duì)應(yīng)的設(shè)備文件/dev/sda掛載在/usb目錄下 1. 加載ko    insmod ehci-hcd.ko    insmod ohci-hcd.ko    如果要支持NTFS還要加載ufsd.ko    insmod ufsd.ko 2. 掛載U盤    使用FAT32    mount -t vfat /dev/sda /usb    使用NTFS    mount -t ufsd /dev/sda /usb

========================================= 開機(jī)畫面和瞬播 ========================================= 請(qǐng)參考《開機(jī)畫面 開發(fā)指南》

========================================= HiLoader ========================================= 請(qǐng)參考《HiLoader 開發(fā)指南》

========================================= 高級(jí)安全CA ========================================= 請(qǐng)參考install_notes_ca(chs).txt

責(zé)任編輯:

標(biāo)簽: 文件系統(tǒng)

精彩放送:

新聞聚焦
Top 主站蜘蛛池模板: 陆川县| 张家界市| 长寿区| 环江| 华宁县| 宁晋县| 开鲁县| 昂仁县| 惠州市| 宁德市| 黎平县| 行唐县| 石首市| 孝感市| 色达县| 礼泉县| 班玛县| 福鼎市| 施秉县| 木兰县| 博兴县| 辽宁省| 东平县| 涟源市| 弥渡县| 陆河县| 郑州市| 小金县| 米林县| 镇坪县| 崇义县| 鄂尔多斯市| 高邮市| 鄂伦春自治旗| 获嘉县| 黔南| 无为县| 乌苏市| 龙海市| 手机| 秦皇岛市|