国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

x210-2023-03-23

發(fā)布者:EternalBliss最新更新時(shí)間:2025-01-13 來源: cnblogs關(guān)鍵字:移植 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

1、前面移植mmc驅(qū)動(dòng)因?yàn)橛芯W(wǎng)絡(luò)文章作為提示和參考,應(yīng)該要配置哪些宏已經(jīng)簡單粗暴地告知你了,但是你怎么知道哪些宏必須配哪些可以不配(或者說要配置的宏你應(yīng)該從哪找),這個(gè)問題在本次移植DM9000驅(qū)動(dòng)時(shí)特別留意了一下,發(fā)現(xiàn)最重要的還是要知道從根抓起,也就是從board_init_r()開始找到MMC找到NET的初始化入口函數(shù),然后順藤摸瓜已經(jīng)能找到一部分宏了,再就是源文件被編譯進(jìn)uboot時(shí)會需要一個(gè)關(guān)鍵宏(像這次DM9000,由于Makefile需要編譯dm9000x.o所以要定義CONFIG_DRIVER_DM9000這個(gè)宏),除了這些,預(yù)初始化函數(shù)和初始化函數(shù)的調(diào)用和書寫需要學(xué)著模仿uboot源碼其它板子的,因?yàn)镈M9000驅(qū)動(dòng)雖然uboot提供了,但是在uboot-2012.10的s5p_goni中沒有調(diào)用過,不過在比較接近S5PV210的smdkc100.c中,它是在board_init()中放的預(yù)初始化函數(shù),而初始化函數(shù)是在smdkc100.c文件末尾的board_eth_init()中調(diào)用的,可是在S5PV210的goni.c中根本就沒有board_eth_init()這個(gè)函數(shù)(因?yàn)閺娜绻袕腘ET初始化入口分析過來就會知道這個(gè)board_eth_init()是weak定義的),鑒于s5p_goni還沒調(diào)用過DM9000,所以就需要自己重新定義該函數(shù),那么應(yīng)該寫成什么樣、寫完放哪都需要考慮(所以說要模仿),寫的對不對以及整個(gè)函數(shù)放的位置對不對,自己編譯一遍燒到板子看有沒有出來現(xiàn)象就知道對不對了。


第一次嘗試ping的時(shí)候,由于著急看效果,但是完全沒注意serverip其實(shí)是沒設(shè)置過的,所以會ping不通,因?yàn)樵谂渲梦募暮曛兄惶砑恿四J(rèn)都會需要用的IP、子網(wǎng)掩碼和網(wǎng)關(guān),MAC地址都是執(zhí)行ping測試時(shí)系統(tǒng)提示沒設(shè)置才補(bǔ)的,調(diào)試ping的時(shí)候沒留意看開發(fā)板網(wǎng)口燈亮沒亮(因?yàn)樽雷有《覟榱瞬灏慰ǚ奖闼园验_發(fā)板的SD卡接口這邊朝向了自己,而網(wǎng)口剛好在另一側(cè)所以剛好不方便觀察,但是開發(fā)板網(wǎng)口燈只會在執(zhí)行ping過程中閃爍,閃爍的時(shí)間比較短暫,前期ping不通的時(shí)候忙著往別的原因排查但其實(shí)忘了這里原本就有一個(gè)很好的排查現(xiàn)象)。


在這次過程中,其實(shí)折騰的時(shí)間相對多的是id讀不到 (一直為0x00000000),ERROR: resetting DM9000 -> not responding的這個(gè)現(xiàn)象,這個(gè)現(xiàn)象網(wǎng)上也有說過解決辦法,那就是修改時(shí)鐘配置的SROMC配置,但當(dāng)時(shí)改了燒進(jìn)去現(xiàn)象沒變(按說改完這里應(yīng)該就可以的了),然后再想是不是漏宏了,改了一下把IP、子網(wǎng)掩碼和網(wǎng)關(guān)宏加了、BANK1的宏沒漏、要禁用EEPROM的宏業(yè)沒漏,然后燒進(jìn)去現(xiàn)象還是沒變化,然后看到網(wǎng)上文章提示說要留意網(wǎng)口燈,所以這時(shí)專門留意了一下,發(fā)現(xiàn)網(wǎng)口燈會閃,所以ping命令能執(zhí)行,那就應(yīng)該不是移植不全的問題,再下來,從入口函數(shù)開始細(xì)查,看到dm9000_reset()函數(shù)開頭第一句有一個(gè)DM9000_DEBUG()宏,已經(jīng)準(zhǔn)備做打印信息的想法了,而且這時(shí)剛好看到別的文章提示可以開打印信息,所以嘗試了一下開啟打印宏,燒進(jìn)去結(jié)果發(fā)現(xiàn)現(xiàn)象還是沒變,這時(shí)已經(jīng)能發(fā)覺問題所在了,打印信息應(yīng)該變多的,但是現(xiàn)象還是原來的現(xiàn)象,說明什么,說明燒的uboot不是最新的改完的那份,所以往前翻uboot的時(shí)間打印信息,發(fā)現(xiàn)是同一份(因?yàn)榇蛴≈赶虻亩际峭粋€(gè)時(shí)間),這時(shí)想起來可能和直接拔插SD讀卡器,ubuntu中沒有識別到卡已經(jīng)拔走了,于是ls /dev/sd*打印了一下,sdb分區(qū)竟然還保留著,明明現(xiàn)在都沒插著卡,所以每次燒錄都燒進(jìn)去那個(gè)舊的掛載點(diǎn)了(但可能這里就疑問了呀sdb名稱沒變呀,再插入卡會發(fā)現(xiàn)sdb1有出現(xiàn)而且是深顏色的,不過sdb還是淺顏色的,就是雖然是舊的sdb,即便名稱沒變其實(shí)應(yīng)該沒法燒進(jìn)去)。


另外就是因?yàn)殚_發(fā)板端沒有將ICMP的echo做到uboot中去,所以無論是PC還是ubuntu,在這一側(cè)都是無法ping到開發(fā)板的,由于這個(gè)內(nèi)容是在開發(fā)環(huán)境搭建時(shí)提及的,但是等這個(gè)時(shí)候真正試驗(yàn)起來已經(jīng)有點(diǎn)想不起來了,所以當(dāng)時(shí)還在疑惑為什么ping不到,然后就陷入了找答案的漩渦中;其實(shí)最后面查找原因的過程中發(fā)現(xiàn),如果要看互相ping通其實(shí)也還是有辦法的,就是在PC/ubuntu上準(zhǔn)備ping開發(fā)板ip的命令(其實(shí)主要是ubuntu上會比較明顯,因?yàn)閡buntu),然后點(diǎn)擊發(fā)送,再在開發(fā)板串口終端這邊發(fā)送ping命令去ping正在下發(fā)ping命令的PC(或者ubuntu),因?yàn)殚_發(fā)板ping主機(jī)是能通的,在通的這個(gè)短暫瞬間(也就是網(wǎng)口燈閃爍的這幾秒)開發(fā)板tftp端口開放,等ping命令執(zhí)行完開發(fā)板端tftp端口再次關(guān)閉,所以就能看到有互相ping通的過程。

2、由于開發(fā)板和筆記本PC的連接中間是用的USB轉(zhuǎn)RJ45(綠聯(lián)的AX8872C),但是這個(gè)USB轉(zhuǎn)網(wǎng)口有個(gè)問題是,插上以后能自動(dòng)裝驅(qū)動(dòng),但是開發(fā)板插上網(wǎng)線連到它之后,它的USB再插入PC,會顯示網(wǎng)絡(luò)電纜被拔出(無論開發(fā)板是否上電),不僅是這款,以前用的一個(gè)USB轉(zhuǎn)網(wǎng)口線也是這個(gè)現(xiàn)象,所以才買的現(xiàn)在這個(gè)綠聯(lián)USB轉(zhuǎn)網(wǎng)口就是為了排除這個(gè)問題,但是至少經(jīng)過現(xiàn)在使用驗(yàn)證,其實(shí)還沒有太多影響(不過還是要設(shè)置好橋接并且USB轉(zhuǎn)網(wǎng)口這個(gè)轉(zhuǎn)接線的網(wǎng)卡要和開發(fā)板在同一個(gè)網(wǎng)段下),其實(shí)一開始看到這個(gè)本地連接上顯示的紅叉,會自然而然地覺得可能用不了于是想著找找是什么問題導(dǎo)致或者有辦法解決的沒有,但可惜的是,并沒有看到比較有效的答案,另一個(gè)原因是,虛擬機(jī)那邊添加網(wǎng)絡(luò)適配器,一般來說會通過“自定義(U):特定網(wǎng)絡(luò)”這個(gè)下拉選項(xiàng)選擇已經(jīng)橋接的網(wǎng)卡,此時(shí)橋接的網(wǎng)卡旁邊會有()注明是橋接的,但是實(shí)際卻并沒有,所以也在懷疑是不是這個(gè)USB轉(zhuǎn)網(wǎng)口的紅叉帶來的影響。


另外就是測試tftp,因?yàn)閜ing只能通過開發(fā)板端向PC/ubuntu去ping,并且已經(jīng)ping通,但是由于相反過程無法看到現(xiàn)象,所以一開始tftp測試時(shí)遇到無法下載也是沒什么辦法,后面查看網(wǎng)上文章提示到要關(guān)閉防火墻,因?yàn)榉?wù)端tftpd64是在windows上(而網(wǎng)卡方面能夠選擇作為載體的除了本身的無線網(wǎng)卡,但是不能選,因?yàn)槭亲詣?dòng)獲取的,和USB轉(zhuǎn)網(wǎng)口的網(wǎng)卡1.7、開發(fā)板1.130根本就不在同一個(gè)網(wǎng)段,所以就只能選USB轉(zhuǎn)網(wǎng)口的這個(gè)網(wǎng)卡作為tftpd64服務(wù)端),所以嘗試把PC的域網(wǎng)絡(luò)、專用網(wǎng)絡(luò)、公用網(wǎng)絡(luò)防火墻全部關(guān)閉,再進(jìn)行測試發(fā)現(xiàn)能夠下載成功了,為了PC機(jī)的網(wǎng)絡(luò)安全起見,防火墻還是要打開的,所以只能到防火墻高級設(shè)置里創(chuàng)建UDP入站規(guī)則,將tftp的69端口添加上去,另外就是,即便windows還沒創(chuàng)建入站規(guī)則而且防火墻還是開啟的情況下(但是ubuntu防火墻已經(jīng)關(guān)閉),發(fā)現(xiàn)還是可以做到tftp下載文件到開發(fā)板的(不過開發(fā)板端env的serverip需要修改成ubuntu的ip),還有就是,無論使用以前舊的USB轉(zhuǎn)網(wǎng)口(某寶不知名品牌買的廉價(jià)貨)還是現(xiàn)在綠聯(lián)的AX8872C,而uboot用的無論是九鼎配套給的那個(gè)還是現(xiàn)在自己做的這個(gè),如果用tftp下載特大文件,例如200多兆的根文件系統(tǒng)(九鼎配套給的)到板子上,都會失?。ň唧w表現(xiàn)就是下載過程提示符#一直打印但是沒完沒了,或者干脆打印的#有斷層說明下載過程不流暢),而下載普通的kernel(因?yàn)橄鄬π。﹣碚f則不成問題,所以從這里也想明白了為什么九鼎官方是采用fastboot方式燒機(jī)而不是用uboot的tftp,因此懷疑后續(xù)還是要選擇移植fastboot方便根文件系統(tǒng)的下載(可能前期根文件系統(tǒng)小的時(shí)候還可以下但后面大了之后就不一定 了)。


關(guān)鍵字:移植 引用地址:x210-2023-03-23

上一篇:x210-2023-03-31
下一篇:x210-2023-03-20

小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved